feat(config): read g:vimwiki_list on Neovim too (lazy.nvim drop-in)
The g:vimwiki_* drop-in was Vim-only: the Lua client read only setup() opts and g:nuwiki_wikis, so swapping the vimwiki plugin for nuwiki under lazy.nvim left the existing vim.g.vimwiki_list ignored and nuwiki pointed at the default ~/vimwiki. Mirror autoload/nuwiki/config.vim on the Lua side: config.lua now owns a single resolver (M.wikis / M.scalar_globals) that resolves setup() wikis → g:nuwiki_wikis → g:vimwiki_list (translating path->root, path_html->html_path, template_*, ext->file_extension, …) and folds the global scalar defaults (g:vimwiki_* then g:nuwiki_* then explicit setup() values; built-in defaults excluded). lsp.lua (payload) and wiki_cfg/wiki_list (buffer commands) both route through it, so the server and <Leader>ww agree on the wikis. Extends test-global-shorthand (15 checks) with the vimwiki_list drop-in + buffer-command resolution + native-wins cases. Config-parity goldens and keymap harnesses green on both clients. README + known-issues updated (drop-in is now Vim & Neovim). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -48,6 +48,29 @@ local io3 = lsp.init_options()
|
||||
check('g:nuwiki_ global folds', io3.wikis[1].toc_header_level == 5)
|
||||
vim.g.nuwiki_toc_header_level = nil
|
||||
|
||||
-- ----- upstream vim.g.vimwiki_list drop-in (the lazy.nvim vimwiki-swap case) --
|
||||
config.apply({}) -- setup() with no native config
|
||||
vim.g.vimwiki_list = {
|
||||
{ path = '~/.vimwiki/personal', path_html = '~/public_html/personal', auto_export = 1 },
|
||||
{ path = '~/.vimwiki/work' },
|
||||
}
|
||||
vim.g.vimwiki_toc_header_level = 2
|
||||
local io4 = lsp.init_options()
|
||||
check('vimwiki_list -> 2 wikis', io4.wikis ~= nil and #io4.wikis == 2)
|
||||
check('path -> root', io4.wikis[1].root == '~/.vimwiki/personal')
|
||||
check('path_html -> html_path', io4.wikis[1].html_path == '~/public_html/personal')
|
||||
check('vimwiki global folds', io4.wikis[1].toc_header_level == 2)
|
||||
check('w2 root', io4.wikis[2].root == '~/.vimwiki/work')
|
||||
-- Buffer-side commands (<Leader>ww) resolve the same wikis.
|
||||
check('wiki_list reads vimwiki_list', config.wiki_list()[1].root == '~/.vimwiki/personal')
|
||||
-- Native g:nuwiki_wikis wins over g:vimwiki_list.
|
||||
vim.g.nuwiki_wikis = { { root = '~/native', name = 'native' } }
|
||||
local io5 = lsp.init_options()
|
||||
check('native g:nuwiki_wikis wins', #io5.wikis == 1 and io5.wikis[1].root == '~/native')
|
||||
vim.g.nuwiki_wikis = nil
|
||||
vim.g.vimwiki_list = nil
|
||||
vim.g.vimwiki_toc_header_level = nil
|
||||
|
||||
local f = assert(io.open(os.getenv('NUWIKI_GS_OUT'), 'w'))
|
||||
f:write(table.concat(out, '\n') .. '\n')
|
||||
f:close()
|
||||
|
||||
Reference in New Issue
Block a user