test(config): verify Vim/Neovim config payload parity
CI / cargo fmt --check (push) Successful in 15s
CI / cargo clippy (push) Successful in 27s
CI / cargo test (push) Successful in 30s
CI / editor keymaps (push) Successful in 1m24s

Expose the init_options payload builders publicly in both clients
(M.init_options/M.server_settings in Lua, nuwiki#lsp#settings() in Vim) so
they can be inspected. Add editor harnesses that dump each client's
server-bound config as deterministic key=value lines and diff against a
shared golden file: nvim == golden and vim == golden together prove the two
clients send identical config. Add a server-side test asserting the Vim flat
shape and the Neovim {nuwiki:{...}} wrapper desugar to the same WikiConfig.
Wire both harnesses into CI.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-30 19:24:20 -03:00
parent 47af0d6c1e
commit b922f0d612
9 changed files with 319 additions and 6 deletions
+17
View File
@@ -0,0 +1,17 @@
[default]
wiki_root=~/vimwiki
file_extension=.wiki
syntax=vimwiki
log_level=warn
[sample]
wiki_root=/tmp/base
file_extension=.md
syntax=vimwiki
log_level=debug
wikis[0].diary_rel_path=journal
wikis[0].file_extension=.wiki
wikis[0].index=home
wikis[0].name=personal
wikis[0].root=/tmp/personal
wikis[1].name=work
wikis[1].root=/tmp/work