feat(parity): close the entire P3 Commands section
CI / cargo fmt --check (push) Successful in 17s
CI / cargo clippy (push) Successful in 24s
CI / cargo test (push) Successful in 42s
CI / editor keymaps (push) Successful in 1m40s

All six remaining command gaps (client-side; no server change):

- VimwikiRenameFile: bare -> -nargs=? (arg accepted-ignored; rename still
  delegates to the LSP rename prompt). No more E488.

- VimwikiVar / NuwikiVar: get/set the client config (upstream vimwiki#vars#cmd).
  No arg prints config (Vim: g:nuwiki_*; Neovim: resolved setup() opts), one arg
  gets a key, two+ sets it. Global command, both clients.

- VimwikiReturn / NuwikiReturn: command form of the smart <CR> continuation —
  enters insert at EOL and fires the <CR> mapping (return_cmd / vimwiki_return).
  Upstream's mode-flag args accepted but unused.

- VimwikiTableAlignQ vs AlignW: corrected — upstream's gqq/gww are identical on
  a table; the only difference is the non-table fallback (native `normal! gqq`
  vs `gww`). New table_align_or_cmd(cmd) aligns on a table row, else runs
  `normal! <cmd>`. Q/gqq/gq1 -> gqq; W/gww/gw1 -> gww; NuwikiTableAlign -> gqq.

- VimwikiSearch / VWS: scope the lvimgrep to the current wiki's root (resolved
  client-side) over <root>/**/*<ext>, not CWD `**`; empty pattern reuses the
  last search. Both clients.

- VimwikiIndex family: add global Vimwiki/NuwikiIndex + TabIndex entry points
  (plugin/nuwiki.vim + init.lua _setup_global_commands, with -count), so a wiki
  opens from any buffer. Buffer-local copies still shadow inside wiki buffers.

Tests: surface.{Vimwiki,Nuwiki}{Return,Var}, cmd.VimwikiVar_sets_*,
cmd.global_entry_points (both harnesses). Docs (README + doc/nuwiki.txt) and the
gap doc updated. Neovim 299, Vim 291/18/21 pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-03 01:23:07 +00:00
parent 3865b8bf0e
commit a11b742fc1
11 changed files with 334 additions and 52 deletions
+13
View File
@@ -57,6 +57,19 @@ command! -nargs=0 NuwikiUISelect call nuwiki#commands#wiki_ui_select()
command! -nargs=0 VimwikiShowVersion call nuwiki#commands#show_version()
command! -nargs=0 NuwikiShowVersion call nuwiki#commands#show_version()
" Global :VimwikiIndex / :VimwikiTabIndex entry points (upstream defines the
" Index family globally in plugin/). The buffer-local copies in
" ftplugin/vimwiki.vim shadow these inside wiki buffers; these let a wiki be
" opened from any buffer. `[count]` selects the wiki number.
command! -count=0 VimwikiIndex call nuwiki#commands#wiki_index(<count>)
command! -count=0 NuwikiIndex call nuwiki#commands#wiki_index(<count>)
command! -count=0 VimwikiTabIndex call nuwiki#commands#wiki_tab_index(<count>)
command! -count=0 NuwikiTabIndex call nuwiki#commands#wiki_tab_index(<count>)
" Get/set nuwiki client globals (upstream's :VimwikiVar).
command! -nargs=* VimwikiVar call nuwiki#commands#var(<q-args>)
command! -nargs=* NuwikiVar call nuwiki#commands#var(<q-args>)
" Global entry-point mappings — work from any buffer, not just .wiki files.
" Files are opened directly from config (no LSP required); the server
" auto-starts via the FileType autocmd once the vimwiki buffer loads.