docs(parity): document new commands and extend keymap harness coverage
Update the README command tables for the full :Nuwiki*/:Vimwiki* surface and add command-registration assertions (removeCheckbox, catUrl, and the other parity entry points) to both the Vim and Neovim keymap harnesses. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -293,6 +293,7 @@ instead.
|
||||
| `:NuwikiBacklinks` | `:VimwikiBacklinks` (`:VWB`) | Show all references to the current page |
|
||||
| `:NuwikiNextLink` / `:NuwikiPrevLink` | `:VimwikiNextLink` / `:VimwikiPrevLink` | Jump to the next / previous wikilink |
|
||||
| `:NuwikiBaddLink` | `:VimwikiBaddLink` | Add the link target under the cursor to the buffer list |
|
||||
| `:NuwikiNormalizeLink` | `:VimwikiNormalizeLink` | Wrap the word / visual selection under the cursor as a wikilink |
|
||||
| — | `:VimwikiSearch {pat}` (`:VWS`) | `:lvimgrep` `{pat}` across every page |
|
||||
|
||||
**Diary**
|
||||
@@ -300,6 +301,7 @@ instead.
|
||||
| Nuwiki | Vimwiki | Action |
|
||||
|---|---|---|
|
||||
| `:NuwikiMakeDiaryNote` (`:NuwikiDiaryToday`) | `:VimwikiMakeDiaryNote` | Open today's entry (or this week / month / year, per `diary_frequency`) |
|
||||
| `:NuwikiTabMakeDiaryNote` | `:VimwikiTabMakeDiaryNote` | Open today's entry in a new tab |
|
||||
| `:NuwikiMakeYesterdayDiaryNote` (`:NuwikiDiaryYesterday`) | `:VimwikiMakeYesterdayDiaryNote` | Step the diary back one period |
|
||||
| `:NuwikiMakeTomorrowDiaryNote` (`:NuwikiDiaryTomorrow`) | `:VimwikiMakeTomorrowDiaryNote` | Step the diary forward one period |
|
||||
| `:NuwikiDiaryIndex` | `:VimwikiDiaryIndex` | Open the diary index page |
|
||||
@@ -310,8 +312,8 @@ instead.
|
||||
|
||||
| Nuwiki | Vimwiki | Action |
|
||||
|---|---|---|
|
||||
| `:NuwikiRenameFile` | `:VimwikiRenameFile` | Rename the current page, rewriting incoming links |
|
||||
| `:NuwikiDeleteFile` | `:VimwikiDeleteFile` | Delete the current page |
|
||||
| `:NuwikiRenameFile` | `:VimwikiRenameFile` (`:VimwikiRenameLink`) | Rename the current page, rewriting incoming links |
|
||||
| `:NuwikiDeleteFile` | `:VimwikiDeleteFile` (`:VimwikiDeleteLink`) | Delete the current page |
|
||||
|
||||
**Lists, tasks & tables**
|
||||
|
||||
@@ -320,10 +322,19 @@ instead.
|
||||
| `:NuwikiNextTask` | `:VimwikiNextTask` | Jump to the next unfinished task |
|
||||
| `:NuwikiToggleListItem` | `:VimwikiToggleListItem` | Toggle the checkbox under the cursor |
|
||||
| `:NuwikiToggleRejected` | `:VimwikiToggleRejectedListItem` | Toggle the rejected marker `[-]` |
|
||||
| `:NuwikiListToggle` | `:VimwikiListToggle` | Toggle a checkbox on the current item (adds `[ ]` if none) |
|
||||
| `:NuwikiIncrementListItem` / `:NuwikiDecrementListItem` | `:VimwikiIncrementListItem` / `:VimwikiDecrementListItem` | Cycle the list marker to the next / previous symbol |
|
||||
| `:NuwikiChangeSymbol {sym}` | `:VimwikiChangeSymbolTo {sym}` (`:VimwikiListChangeSymbolI`) | Set the current item's marker to `{sym}` |
|
||||
| `:NuwikiChangeSymbolInList {sym}` | `:VimwikiChangeSymbolInListTo {sym}` | Set every item in the list to `{sym}` |
|
||||
| `:NuwikiRemoveDone` | `:VimwikiRemoveDone` | Remove every completed item from the current list |
|
||||
| `:NuwikiRemoveCheckbox` | `:VimwikiRemoveSingleCB` | Strip the checkbox from the current list item |
|
||||
| `:NuwikiRemoveCheckboxInList` | `:VimwikiRemoveCBInList` | Strip the checkbox from every item in the current list |
|
||||
| `:NuwikiListChangeLvl {increase\|decrease}` | `:VimwikiListChangeLvl {increase\|decrease}` | Indent / dedent the current list item |
|
||||
| `:NuwikiRenumberList` | `:VimwikiRenumberList` | Renumber the current ordered list |
|
||||
| `:NuwikiRenumberAllLists` | `:VimwikiRenumberAllLists` | Renumber every ordered list in the buffer |
|
||||
| `:NuwikiTable {cols} [rows]` | `:VimwikiTable {cols} [rows]` | Insert a table at the cursor |
|
||||
| `:NuwikiTableMoveColumnLeft` / `:NuwikiTableMoveColumnRight` | `:VimwikiTableMoveColumnLeft` / `:VimwikiTableMoveColumnRight` | Move the current table column left / right |
|
||||
| `:NuwikiTableAlign` | `:VimwikiTableAlignQ` / `:VimwikiTableAlignW` | Re-align the current table's columns |
|
||||
|
||||
**Contents, links & tags**
|
||||
|
||||
@@ -335,9 +346,10 @@ instead.
|
||||
| `:NuwikiFindOrphans` | `:VimwikiFindOrphans` | List pages with no incoming links in the quickfix list |
|
||||
| `:NuwikiRebuildTags` | `:VimwikiRebuildTags` | Force a full workspace re-index |
|
||||
| `:NuwikiSearchTags {tag}` | `:VimwikiSearchTags {tag}` | Quickfix listing every occurrence of `:tag:` |
|
||||
| `:NuwikiGenerateTagLinks [tag]` | `:VimwikiGenerateTagLinks [tag]` | Insert a section linking every page that has `<tag>` |
|
||||
| `:NuwikiGenerateTagLinks [tag]` | `:VimwikiGenerateTagLinks [tag]` (`:VimwikiGenerateTags`) | Insert a section linking every page that has `<tag>` |
|
||||
| `:NuwikiColorize {color}` | `:VimwikiColorize {color}` | Wrap the word / visual selection in a coloured `<span>` |
|
||||
| `:NuwikiPasteLink` / `:NuwikiPasteUrl` | `:VimwikiPasteLink` / `:VimwikiPasteUrl` | Paste the clipboard contents as a wikilink / raw URL |
|
||||
| `:NuwikiCatUrl` | `:VimwikiCatUrl` | Echo the `file://` URL of the current page's HTML export |
|
||||
|
||||
**HTML export**
|
||||
|
||||
|
||||
@@ -104,10 +104,14 @@ endif
|
||||
let s:both_forms = [
|
||||
\ 'Index', 'TabIndex', 'UISelect', 'Goto', 'FollowLink', 'Backlinks',
|
||||
\ 'NextLink', 'PrevLink', 'BaddLink', 'RenameFile', 'DeleteFile',
|
||||
\ 'MakeDiaryNote', 'MakeYesterdayDiaryNote', 'MakeTomorrowDiaryNote',
|
||||
\ 'MakeDiaryNote', 'TabMakeDiaryNote', 'MakeYesterdayDiaryNote',
|
||||
\ 'MakeTomorrowDiaryNote',
|
||||
\ 'DiaryIndex', 'DiaryGenerateLinks', 'DiaryNextDay', 'DiaryPrevDay',
|
||||
\ 'TOC', 'GenerateLinks', 'CheckLinks', 'SearchTags', 'GenerateTagLinks',
|
||||
\ 'RebuildTags', '2HTML', '2HTMLBrowse', 'All2HTML', 'Rss',
|
||||
\ 'NormalizeLink', 'RenumberList', 'RenumberAllLists',
|
||||
\ 'ListToggle', 'IncrementListItem', 'DecrementListItem',
|
||||
\ 'CatUrl',
|
||||
\ ]
|
||||
for s:suffix in s:both_forms
|
||||
for s:prefix in ['Nuwiki', 'Vimwiki']
|
||||
@@ -121,6 +125,22 @@ let s:ok = exists(':NuwikiInstall') == 2
|
||||
call s:record(s:ok ? 1 : 0, 'surface.NuwikiInstall',
|
||||
\ s:ok ? '' : ':NuwikiInstall not registered')
|
||||
|
||||
" Asymmetric / compat-only spellings: the canonical :Nuwiki* name differs
|
||||
" from the upstream :Vimwiki* name (or has no canonical counterpart because
|
||||
" nuwiki already exposes it under a clearer name).
|
||||
for s:cmd in [
|
||||
\ 'NuwikiTableAlign', 'VimwikiTableAlignQ', 'VimwikiTableAlignW',
|
||||
\ 'NuwikiChangeSymbol', 'VimwikiChangeSymbolTo', 'VimwikiListChangeSymbolI',
|
||||
\ 'NuwikiChangeSymbolInList', 'VimwikiChangeSymbolInListTo',
|
||||
\ 'VimwikiDeleteLink', 'VimwikiRenameLink', 'VimwikiGenerateTags',
|
||||
\ 'NuwikiRemoveCheckbox', 'VimwikiRemoveSingleCB',
|
||||
\ 'NuwikiRemoveCheckboxInList', 'VimwikiRemoveCBInList',
|
||||
\ ]
|
||||
let s:ok = exists(':' . s:cmd) == 2
|
||||
call s:record(s:ok ? 1 : 0, 'surface.' . s:cmd,
|
||||
\ s:ok ? '' : ':' . s:cmd . ' not registered')
|
||||
endfor
|
||||
|
||||
" ===== Pure-VimL command invocation (cursor movement) =====
|
||||
" :NuwikiNextLink / :NuwikiPrevLink wrap search('\[\[', …) so they run
|
||||
" entirely in VimL and move the cursor without touching the LSP.
|
||||
|
||||
@@ -131,10 +131,14 @@ vim.defer_fn(function()
|
||||
local both_forms = {
|
||||
'Index', 'TabIndex', 'UISelect', 'Goto', 'FollowLink', 'Backlinks',
|
||||
'NextLink', 'PrevLink', 'BaddLink', 'RenameFile', 'DeleteFile',
|
||||
'MakeDiaryNote', 'MakeYesterdayDiaryNote', 'MakeTomorrowDiaryNote',
|
||||
'MakeDiaryNote', 'TabMakeDiaryNote', 'MakeYesterdayDiaryNote',
|
||||
'MakeTomorrowDiaryNote',
|
||||
'DiaryIndex', 'DiaryGenerateLinks', 'DiaryNextDay', 'DiaryPrevDay',
|
||||
'TOC', 'GenerateLinks', 'CheckLinks', 'SearchTags', 'GenerateTagLinks',
|
||||
'RebuildTags', '2HTML', '2HTMLBrowse', 'All2HTML', 'Rss',
|
||||
'NormalizeLink', 'RenumberList', 'RenumberAllLists',
|
||||
'ListToggle', 'IncrementListItem', 'DecrementListItem',
|
||||
'CatUrl',
|
||||
}
|
||||
for _, suffix in ipairs(both_forms) do
|
||||
for _, prefix in ipairs({ 'Nuwiki', 'Vimwiki' }) do
|
||||
@@ -148,6 +152,21 @@ vim.defer_fn(function()
|
||||
record(exists, 'surface.NuwikiInstall',
|
||||
exists and '' or ':NuwikiInstall not registered')
|
||||
end
|
||||
-- Asymmetric / compat-only spellings: the canonical :Nuwiki* name differs
|
||||
-- from the upstream :Vimwiki* name (or has no canonical counterpart because
|
||||
-- nuwiki already exposes it under a clearer name).
|
||||
local extra_surface = {
|
||||
'NuwikiTableAlign', 'VimwikiTableAlignQ', 'VimwikiTableAlignW',
|
||||
'NuwikiChangeSymbol', 'VimwikiChangeSymbolTo', 'VimwikiListChangeSymbolI',
|
||||
'NuwikiChangeSymbolInList', 'VimwikiChangeSymbolInListTo',
|
||||
'VimwikiDeleteLink', 'VimwikiRenameLink', 'VimwikiGenerateTags',
|
||||
'NuwikiRemoveCheckbox', 'VimwikiRemoveSingleCB',
|
||||
'NuwikiRemoveCheckboxInList', 'VimwikiRemoveCBInList',
|
||||
}
|
||||
for _, cmd in ipairs(extra_surface) do
|
||||
local exists = vim.fn.exists(':' .. cmd) == 2
|
||||
record(exists, 'surface.' .. cmd, exists and '' or (':' .. cmd .. ' not registered'))
|
||||
end
|
||||
|
||||
-- ===== Pure-Lua command invocation (cursor movement) =====
|
||||
-- :NuwikiNextLink / :NuwikiPrevLink wrap the link-search motion and run
|
||||
|
||||
Reference in New Issue
Block a user