refactor(config): replace array preset syntax with preset_name = true

Problem: setup() mixed array entries (preset names) and hash entries
(custom providers keyed by filetype), requiring verbose
vim.tbl_deep_extend boilerplate to override presets.

Solution: unify under a single key=value model. Keys are preset names
or filetypes; true registers the preset as-is, a table deep-merges
with the matching preset (or registers a custom provider if no preset
matches), and false is a no-op. Array entries are dropped. Also adds
-f gfm to presets.github args so pandoc parses input as GFM.
This commit is contained in:
Barrett Ruth 2026-03-03 00:19:48 -05:00
parent 673573044f
commit 859f04e010
Signed by: barrett
GPG key ID: A6C96C9349D2FC81
6 changed files with 67 additions and 50 deletions

View file

@ -55,11 +55,8 @@ require('preview').setup({
**Q: How do I override a preset?**
```lua
local presets = require('preview.presets')
require('preview').setup({
typst = vim.tbl_deep_extend('force', presets.typst, {
env = { TYPST_FONT_PATHS = '/usr/share/fonts' },
}),
typst = { env = { TYPST_FONT_PATHS = '/usr/share/fonts' } },
})
```
@ -70,8 +67,8 @@ open the output with `vim.ui.open()` after the first successful compilation.
For a specific application, pass a command table:
```lua
typst = vim.tbl_deep_extend('force', presets.typst, {
open = { 'sioyek', '--new-instance' },
require('preview').setup({
typst = { open = { 'sioyek', '--new-instance' } },
})
```