Compare commits

..

No commits in common. "1b458ae2ab36251ac41b34bd082c287f8d882b2e" and "68e2e8223278e27cddfe9c6f0754e7594546e696" have entirely different histories.

2 changed files with 13 additions and 16 deletions

View file

@ -1,6 +1,6 @@
# preview.nvim # preview.nvim
**Universal document previewer for Neovim** **Async document compilation for Neovim**
An extensible framework for compiling documents (LaTeX, Typst, Markdown, etc.) An extensible framework for compiling documents (LaTeX, Typst, Markdown, etc.)
asynchronously with error diagnostics. asynchronously with error diagnostics.
@ -8,8 +8,7 @@ asynchronously with error diagnostics.
## Features ## Features
- Async compilation via `vim.system()` - Async compilation via `vim.system()`
- Built-in presets for Typst, LaTeX (latexmk, pdflatex, tectonic), Markdown, - Built-in presets for Typst, LaTeX, Markdown, and GitHub-flavored Markdown
GitHub-flavored Markdown, AsciiDoc, and Quarto
- Compiler errors as native `vim.diagnostic` - Compiler errors as native `vim.diagnostic`
- User events for extensibility (`PreviewCompileStarted`, - User events for extensibility (`PreviewCompileStarted`,
`PreviewCompileSuccess`, `PreviewCompileFailed`) `PreviewCompileSuccess`, `PreviewCompileFailed`)
@ -39,13 +38,13 @@ luarocks install preview.nvim
```lua ```lua
require('preview').setup({ require('preview').setup({
rst = { typst = {
cmd = { 'rst2html' }, cmd = { 'typst', 'compile' },
args = function(ctx) args = function(ctx)
return { ctx.file, ctx.output } return { ctx.file }
end, end,
output = function(ctx) output = function(ctx)
return ctx.file:gsub('%.rst$', '.html') return ctx.file:gsub('%.typ$', '.pdf')
end, end,
}, },
}) })
@ -62,8 +61,8 @@ require('preview').setup({
**Q: How do I automatically open the output file?** **Q: How do I automatically open the output file?**
Set `open = true` on your provider (all built-in presets have this enabled) to Set `open = true` on your provider (all built-in presets have this enabled) to
open the output with `vim.ui.open()` after the first successful compilation in open the output with `vim.ui.open()` after the first successful compilation. For
toggle/watch mode. For a specific application, pass a command table: a specific application, pass a command table:
```lua ```lua
require('preview').setup({ require('preview').setup({

View file

@ -10,9 +10,8 @@ preview.nvim is an extensible framework for compiling documents asynchronously
in Neovim. It provides a unified interface for any compilation workflow — in Neovim. It provides a unified interface for any compilation workflow —
LaTeX, Typst, Markdown, or anything else with a CLI compiler. LaTeX, Typst, Markdown, or anything else with a CLI compiler.
The plugin ships with opt-in presets for common tools (Typst, LaTeX, Pandoc, The plugin ships with opt-in presets for common tools (Typst, LaTeX, Pandoc)
AsciiDoc, Quarto) and supports fully custom providers. and supports fully custom providers. See |preview.nvim-presets|.
See |preview.nvim-presets|.
============================================================================== ==============================================================================
REQUIREMENTS *preview.nvim-requirements* REQUIREMENTS *preview.nvim-requirements*
@ -90,10 +89,9 @@ Provider fields:~
|preview.Context|. |preview.Context|.
`open` boolean|string[] Open the output file after the first `open` boolean|string[] Open the output file after the first
successful compilation in toggle/watch successful compilation. `true` uses
mode. `true` uses |vim.ui.open()|. A |vim.ui.open()|. A string[] is run as
string[] is run as a command with the a command with the output path appended.
output path appended.
`reload` boolean|string[]|function `reload` boolean|string[]|function
Reload the output after recompilation. Reload the output after recompilation.