feat(commands): ChangeSymbolTo -range, GenerateLinks path filter, NuwikiGenerateTags
Closes the three new command gaps from the 2026-05-31 re-audit (all real,
client-side, both clients x Vimwiki/Nuwiki):
- VimwikiChangeSymbolTo / ListChangeSymbolI / NuwikiChangeSymbol are now
-range -nargs=1 via a new list_change_symbol_range(symbol,l1,l2) helper that
loops over_range; was -nargs=1 only -> E481 on a visual selection.
ChangeSymbolInListTo / ChangeSymbolInList stay range-less and keep
whole_list=true.
- VimwikiGenerateLinks / NuwikiGenerateLinks are now -nargs=?; with an arg the
client dispatches the existing server command nuwiki.links.generateForPath
({path}) for real subtree-scoped link generation, else nuwiki.links.generate.
Was bare -> E488 on an arg.
- Added NuwikiGenerateTags (Vim + Neovim) mirroring VimwikiGenerateTags, with
-nargs=? -complete=...tags - closes the :Vimwiki*<->:Nuwiki* alias asymmetry.
Tests: cmd.ChangeSymbolTo_range_sets_marker, cmd.GenerateLinks_accepts_optional_path,
cmd.NuwikiGenerateTags_exists (test-keymaps.lua, 283 pass) +
cmd.VimwikiChangeSymbolTo_accepts_range, cmd.VimwikiGenerateLinks_accepts_path,
cmd.NuwikiGenerateTags_exists (test-keymaps-vim.vim, 272/18/21). fmt clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -235,10 +235,8 @@ fix site.
|
||||
`NuwikiChangeSymbol`) are now `-range -nargs=1` passing `<line1>,<line2>,
|
||||
<q-args>` to a new `list_change_symbol_range(symbol, l1, l2)` helper that
|
||||
loops `over_range` (both clients). `ChangeSymbolInListTo`/`InList` stay
|
||||
range-less. **Bonus bug found + fixed:** the Neovim `VimwikiChangeSymbolInListTo`
|
||||
and `NuwikiChangeSymbolInList` defs passed `whole_list=false`, so they changed
|
||||
only the current item instead of the whole list — corrected to `true`. Covered
|
||||
by `cmd.ChangeSymbolTo_range_sets_marker` (`test-keymaps.lua`) +
|
||||
range-less (and correctly keep `whole_list=true`). Covered by
|
||||
`cmd.ChangeSymbolTo_range_sets_marker` (`test-keymaps.lua`) +
|
||||
`cmd.VimwikiChangeSymbolTo_accepts_range` (`test-keymaps-vim.vim`).
|
||||
- [x] **`VimwikiGenerateLinks` lacks `-nargs=?`** _(new, 2026-05-31 re-audit;
|
||||
fixed same day)_ — upstream takes an optional rel-path arg; nuwiki was bare,
|
||||
|
||||
@@ -430,8 +430,8 @@ command! -buffer VimwikiToggleRejectedListItem lua require('nuwiki.comman
|
||||
command! -buffer VimwikiListToggle lua require('nuwiki.commands').list_toggle_or_add_checkbox()
|
||||
command! -buffer -range VimwikiIncrementListItem lua require('nuwiki.commands').list_cycle_symbol_range(1, <line1>, <line2>)
|
||||
command! -buffer -range VimwikiDecrementListItem lua require('nuwiki.commands').list_cycle_symbol_range(-1, <line1>, <line2>)
|
||||
command! -buffer -nargs=1 VimwikiChangeSymbolTo lua require('nuwiki.commands').list_change_symbol(<q-args>, false)
|
||||
command! -buffer -nargs=1 VimwikiListChangeSymbolI lua require('nuwiki.commands').list_change_symbol(<q-args>, false)
|
||||
command! -buffer -range -nargs=1 VimwikiChangeSymbolTo lua require('nuwiki.commands').list_change_symbol_range(<q-args>, <line1>, <line2>)
|
||||
command! -buffer -range -nargs=1 VimwikiListChangeSymbolI lua require('nuwiki.commands').list_change_symbol_range(<q-args>, <line1>, <line2>)
|
||||
command! -buffer -nargs=1 VimwikiChangeSymbolInListTo lua require('nuwiki.commands').list_change_symbol(<q-args>, true)
|
||||
command! -buffer -bang VimwikiRemoveDone lua require('nuwiki.commands')[('<bang>' == '!') and 'list_remove_done_all' or 'list_remove_done']()
|
||||
command! -buffer -range VimwikiRemoveSingleCB lua require('nuwiki.commands').list_remove_checkbox()
|
||||
@@ -526,7 +526,7 @@ command! -buffer -range -nargs=+ NuwikiListChangeLvl lua require('nuwiki.
|
||||
command! -buffer NuwikiListToggle lua require('nuwiki.commands').list_toggle_or_add_checkbox()
|
||||
command! -buffer -range NuwikiIncrementListItem lua require('nuwiki.commands').list_cycle_symbol_range(1, <line1>, <line2>)
|
||||
command! -buffer -range NuwikiDecrementListItem lua require('nuwiki.commands').list_cycle_symbol_range(-1, <line1>, <line2>)
|
||||
command! -buffer -nargs=1 NuwikiChangeSymbol lua require('nuwiki.commands').list_change_symbol(<q-args>, false)
|
||||
command! -buffer -range -nargs=1 NuwikiChangeSymbol lua require('nuwiki.commands').list_change_symbol_range(<q-args>, <line1>, <line2>)
|
||||
command! -buffer -nargs=1 NuwikiChangeSymbolInList lua require('nuwiki.commands').list_change_symbol(<q-args>, true)
|
||||
command! -buffer -nargs=? NuwikiNormalizeLink lua require('nuwiki.commands').normalize_link(<args>)
|
||||
command! -buffer NuwikiRenumberList lua require('nuwiki.commands').list_renumber()
|
||||
|
||||
Reference in New Issue
Block a user