feat(lsp): drive checkbox commands from the wiki listsyms palette

Parse editor and export documents with each wiki's configured listsyms,
and make toggle/cycle/reject plus parent-propagation walk the real
palette glyphs instead of the hardcoded ' .oOX'. Falls back to the
default palette when no wiki matches the URI.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-30 23:32:15 -03:00
parent 85094d6e3b
commit 3a33d53c22
4 changed files with 363 additions and 155 deletions
+4 -3
View File
@@ -48,9 +48,10 @@ pub struct WikiConfig {
pub diary_sort: String,
/// H1 text for the diary index page.
pub diary_header: String,
/// Vimwiki's `g:vimwiki_listsyms`. The 5-character string maps
/// fractional progress states for checkboxes; the i-th char (0..=4)
/// is the rendered marker for state `i / 4`. Default: `" .oOX"`.
/// Vimwiki's `g:vimwiki_listsyms`. A progression of checkbox glyphs
/// from "empty" (first) to "done" (last); the lexer recognises these
/// glyphs and the toggle/cycle commands walk them. Any length ≥ 2 is
/// honoured. Default: `" .oOX"`.
pub listsyms: String,
/// When toggling a parent list item, also cascade to descendants.
pub listsyms_propagate: bool,