feat(commands): VimwikiTable -nargs=* + Index/TabIndex -count=0 (P3 parity)
CI / cargo fmt --check (push) Successful in 34s
CI / cargo clippy (push) Successful in 21s
CI / cargo test (push) Successful in 30s
CI / editor keymaps (push) Successful in 1m34s

Two command-attribute parity fixes (audited against upstream vimwiki master):

- VimwikiTable / NuwikiTable were -nargs=1 and called table_insert() with no
  args, so `:VimwikiTable 4 3` raised E488 and cols/rows were unreachable.
  All four defs (Vim+Neovim × Vimwiki+Nuwiki) are now -nargs=* and forward
  <f-args>; the backing table_insert already parsed cols (a:1) + rows (a:2).

- VimwikiIndex/TabIndex (and Nuwiki forms) switch from bare -count to
  upstream's -count=0. Behavior is unchanged (both default count to 0;
  wiki_index already maps a count to the 1-indexed wiki number) — this just
  matches the upstream declaration exactly.

Tests: cmd.VimwikiTable_passes_cols_and_rows (test-keymaps.lua — asserts a
4-col/3-row table) and cmd.VimwikiTable_accepts_cols_rows (test-keymaps-vim.vim
— no E488). gap doc updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-31 20:10:53 +00:00
parent 724c12ac16
commit a7f7e8e61f
5 changed files with 70 additions and 16 deletions
+12 -12
View File
@@ -45,8 +45,8 @@ if !has('nvim')
" coc.nvim users can run `:CocCommand nuwiki.x` directly and skip
" these aliases.
command! -buffer -count VimwikiIndex call nuwiki#commands#wiki_index(<count>)
command! -buffer -count VimwikiTabIndex call nuwiki#commands#wiki_tab_index(<count>)
command! -buffer -count=0 VimwikiIndex call nuwiki#commands#wiki_index(<count>)
command! -buffer -count=0 VimwikiTabIndex call nuwiki#commands#wiki_tab_index(<count>)
command! -buffer VimwikiUISelect call nuwiki#commands#wiki_ui_select()
command! -buffer VimwikiDiaryIndex call nuwiki#commands#diary_index()
command! -buffer VimwikiMakeDiaryNote call nuwiki#commands#diary_today()
@@ -110,7 +110,7 @@ if !has('nvim')
command! -buffer -nargs=? VimwikiGenerateTags call nuwiki#commands#tags_generate_links(<q-args>)
" Tables, colorize, and clipboard paste.
command! -buffer -nargs=1 VimwikiTable call nuwiki#commands#table_insert()
command! -buffer -nargs=* VimwikiTable call nuwiki#commands#table_insert(<f-args>)
command! -buffer VimwikiTableMoveColumnLeft call nuwiki#commands#table_move_column_left()
command! -buffer VimwikiTableMoveColumnRight call nuwiki#commands#table_move_column_right()
command! -buffer -nargs=* -range VimwikiColorize call nuwiki#commands#colorize(<q-args>, <range>)
@@ -119,8 +119,8 @@ if !has('nvim')
command! -buffer VimwikiCatUrl call nuwiki#commands#cat_url()
" :Nuwiki* canonical aliases — Vim side.
command! -buffer -count NuwikiIndex call nuwiki#commands#wiki_index(<count>)
command! -buffer -count NuwikiTabIndex call nuwiki#commands#wiki_tab_index(<count>)
command! -buffer -count=0 NuwikiIndex call nuwiki#commands#wiki_index(<count>)
command! -buffer -count=0 NuwikiTabIndex call nuwiki#commands#wiki_tab_index(<count>)
command! -buffer NuwikiUISelect call nuwiki#commands#wiki_ui_select()
command! -buffer NuwikiDiaryIndex call nuwiki#commands#diary_index()
command! -buffer NuwikiDiaryToday call nuwiki#commands#diary_today()
@@ -182,7 +182,7 @@ if !has('nvim')
command! -buffer NuwikiRenumberList call nuwiki#commands#list_renumber()
command! -buffer NuwikiRenumberAllLists call nuwiki#commands#list_renumber_all()
command! -buffer NuwikiTableAlign call nuwiki#commands#table_align()
command! -buffer -nargs=1 NuwikiTable call nuwiki#commands#table_insert()
command! -buffer -nargs=* NuwikiTable call nuwiki#commands#table_insert(<f-args>)
command! -buffer NuwikiTableMoveColumnLeft call nuwiki#commands#table_move_column_left()
command! -buffer NuwikiTableMoveColumnRight call nuwiki#commands#table_move_column_right()
command! -buffer -nargs=* -range NuwikiColorize call nuwiki#commands#colorize(<q-args>, <range>)
@@ -391,8 +391,8 @@ endif
" `nuwiki.commands` that either issues a `workspace/executeCommand`
" or, for client-side operations, calls `vim.lsp.buf.*` directly.
command! -buffer -count VimwikiIndex lua require('nuwiki.commands').wiki_index(<count>)
command! -buffer -count VimwikiTabIndex lua require('nuwiki.commands').wiki_tab_index(<count>)
command! -buffer -count=0 VimwikiIndex lua require('nuwiki.commands').wiki_index(<count>)
command! -buffer -count=0 VimwikiTabIndex lua require('nuwiki.commands').wiki_tab_index(<count>)
command! -buffer VimwikiUISelect lua require('nuwiki.commands').wiki_ui_select()
command! -buffer VimwikiDiaryIndex lua require('nuwiki.commands').diary_index()
command! -buffer VimwikiMakeDiaryNote lua require('nuwiki.commands').diary_today()
@@ -458,7 +458,7 @@ command! -buffer -nargs=? VimwikiGenerateTagLinks lua require('nuwiki.commands'
command! -buffer -nargs=? VimwikiGenerateTags lua require('nuwiki.commands').tags_generate_links(<q-args>)
" Tables, colorize, and clipboard paste.
command! -buffer -nargs=1 VimwikiTable lua require('nuwiki.commands').table_insert()
command! -buffer -nargs=* VimwikiTable lua require('nuwiki.commands').table_insert(<f-args>)
command! -buffer VimwikiTableMoveColumnLeft lua require('nuwiki.commands').table_move_column_left()
command! -buffer VimwikiTableMoveColumnRight lua require('nuwiki.commands').table_move_column_right()
command! -buffer -nargs=* -range VimwikiColorize lua require('nuwiki.commands').colorize(<q-args>, <range> > 0)
@@ -467,8 +467,8 @@ command! -buffer VimwikiPasteUrl lua require('nuwiki.commands'
command! -buffer VimwikiCatUrl lua require('nuwiki.commands').cat_url()
" Canonical :Nuwiki* aliases — P10.
command! -buffer -count NuwikiIndex lua require('nuwiki.commands').wiki_index(<count>)
command! -buffer -count NuwikiTabIndex lua require('nuwiki.commands').wiki_tab_index(<count>)
command! -buffer -count=0 NuwikiIndex lua require('nuwiki.commands').wiki_index(<count>)
command! -buffer -count=0 NuwikiTabIndex lua require('nuwiki.commands').wiki_tab_index(<count>)
command! -buffer NuwikiUISelect lua require('nuwiki.commands').wiki_ui_select()
command! -buffer NuwikiDiaryIndex lua require('nuwiki.commands').diary_index()
command! -buffer NuwikiDiaryToday lua require('nuwiki.commands').diary_today()
@@ -530,7 +530,7 @@ command! -buffer -nargs=? NuwikiNormalizeLink lua require('nuwiki.command
command! -buffer NuwikiRenumberList lua require('nuwiki.commands').list_renumber()
command! -buffer NuwikiRenumberAllLists lua require('nuwiki.commands').list_renumber_all()
command! -buffer NuwikiTableAlign lua require('nuwiki.commands').table_align()
command! -buffer -nargs=1 NuwikiTable lua require('nuwiki.commands').table_insert()
command! -buffer -nargs=* NuwikiTable lua require('nuwiki.commands').table_insert(<f-args>)
command! -buffer NuwikiTableMoveColumnLeft lua require('nuwiki.commands').table_move_column_left()
command! -buffer NuwikiTableMoveColumnRight lua require('nuwiki.commands').table_move_column_right()
command! -buffer -nargs=* -range NuwikiColorize lua require('nuwiki.commands').colorize(<q-args>, <range> > 0)