feat(parity): P3 quick-wins — ShowVersion, gLH/gLL/gLR, Search/Align nargs
Closes four low-risk P3 parity items (gap doc updated):
- VimwikiShowVersion / NuwikiShowVersion: new global command (both clients)
echoing g:nuwiki_version (0.1.0) + the host editor, via
nuwiki#commands#show_version / commands.show_version.
- gLH / gLL / gLR: upstream's case-variant aliases of gLh/gLl/gLr (dedent /
indent whole item, renumber all lists) added in both clients.
- VimwikiSearch / VWS: -nargs=1 -> -nargs=* (Vim + Neovim), so a multi-word
search no longer raises E488 and an empty invocation reuses the last search
pattern. (The lvimgrep-vs-vimwiki-engine difference stays open.)
- VimwikiTableAlignQ / AlignW / NuwikiTableAlign: bare -> -nargs=?, so
`:VimwikiTableAlignQ 2` no longer raises E488 (optional column arg is
accepted-and-ignored; the gqq-align vs gww-align-without-resize split
stays open).
Docs (doc/nuwiki.txt + README) updated for the command and the aliases.
Tests: surface.{Vimwiki,Nuwiki}ShowVersion, map[n].gL{H,L,R} (both
harnesses), cmd.search_and_tablealign_nargs (vim). Neovim 291, Vim
282/18/21 pass.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -112,7 +112,7 @@ let s:both_forms = [
|
||||
\ 'RebuildTags', '2HTML', '2HTMLBrowse', 'All2HTML', 'Rss',
|
||||
\ 'NormalizeLink', 'RenumberList', 'RenumberAllLists',
|
||||
\ 'ListToggle', 'IncrementListItem', 'DecrementListItem',
|
||||
\ 'CatUrl',
|
||||
\ 'CatUrl', 'ShowVersion',
|
||||
\ ]
|
||||
for s:suffix in s:both_forms
|
||||
for s:prefix in ['Nuwiki', 'Vimwiki']
|
||||
@@ -189,6 +189,7 @@ let s:mapping_surface = [
|
||||
\ ['<C-Space>', 'nx'], ['<C-@>', 'nx'], ['<Nul>', 'nx'],
|
||||
\ ['gnt', 'n'], ['gln', 'nx'], ['glp', 'nx'], ['glx', 'nx'],
|
||||
\ ['glh', 'n'], ['gll', 'n'], ['gLh', 'n'], ['gLl', 'n'],
|
||||
\ ['gLH', 'n'], ['gLL', 'n'], ['gLR', 'n'],
|
||||
\ ['glr', 'n'], ['gLr', 'n'], ['gl', 'n'], ['gL', 'n'],
|
||||
\ ['gl-', 'n'], ['gL-', 'n'], ['gl*', 'n'], ['gL*', 'n'],
|
||||
\ ['gl#', 'n'], ['gL#', 'n'], ['gl1', 'n'], ['gL1', 'n'],
|
||||
@@ -669,6 +670,28 @@ call s:record(
|
||||
\ 'cmd.VimwikiListChangeLvl_accepts_range_and_args',
|
||||
\ 'err=' . s:lcl_err)
|
||||
|
||||
" ===== :VimwikiSearch / VWS -nargs=* + :VimwikiTableAlignQ/W -nargs=? =====
|
||||
" Upstream attributes: Search/VWS take -nargs=* (was -nargs=1, so a multi-word
|
||||
" `:VimwikiSearch foo bar` raised E488); TableAlignQ/W take -nargs=? (were bare,
|
||||
" so `:VimwikiTableAlignQ 2` raised E488). lvimgrep/align run for real here, so
|
||||
" swallow any non-attribute error and assert only that E488 is gone.
|
||||
let s:attr_err = ''
|
||||
try
|
||||
silent! VimwikiSearch foo bar
|
||||
silent! VWS foo bar
|
||||
silent! VimwikiTableAlignQ 2
|
||||
silent! VimwikiTableAlignW 2
|
||||
silent! NuwikiTableAlign 2
|
||||
catch /E488/
|
||||
let s:attr_err = v:exception
|
||||
catch
|
||||
" runtime errors (no match, empty table, …) are expected and fine here.
|
||||
endtry
|
||||
call s:record(
|
||||
\ s:attr_err ==# '' ? 1 : 0,
|
||||
\ 'cmd.search_and_tablealign_nargs',
|
||||
\ 'err=' . s:attr_err)
|
||||
|
||||
" ===== :VimwikiRemoveDone -bang -range =====
|
||||
" Upstream is `-range`; nuwiki had `-bang` only, so `:'<,'>VimwikiRemoveDone`
|
||||
" raised E481. Now `-bang -range`: a ranged invocation must parse (no E481),
|
||||
|
||||
Reference in New Issue
Block a user