diff --git a/autoload/nuwiki/commands.vim b/autoload/nuwiki/commands.vim index 249c404..5270f7e 100644 --- a/autoload/nuwiki/commands.vim +++ b/autoload/nuwiki/commands.vim @@ -854,10 +854,10 @@ endfunction " Cluster B — table rewriters. function! nuwiki#commands#table_insert(...) abort - let l:cols = a:0 >= 1 ? str2nr(a:1) : 3 + let l:cols = a:0 >= 1 ? str2nr(a:1) : 5 let l:rows = a:0 >= 2 ? str2nr(a:2) : 2 if l:cols <= 0 - let l:cols = 3 + let l:cols = 5 endif if l:rows <= 0 let l:rows = 2 diff --git a/development/vimwiki-gap.md b/development/vimwiki-gap.md index 9422045..c5422c9 100644 --- a/development/vimwiki-gap.md +++ b/development/vimwiki-gap.md @@ -183,6 +183,9 @@ fix site. cols/rows). Covered by `cmd.VimwikiTable_passes_cols_and_rows` (`test-keymaps.lua`, asserts a `:VimwikiTable 4 3` → 4-col, 3-row table) and `cmd.VimwikiTable_accepts_cols_rows` (`test-keymaps-vim.vim`, no E488). + Follow-up (same pass): the no-arg **default cols** diverged (nuwiki `3` vs + upstream `5`; rows `2` already matched — confirmed against upstream + `vimwiki#tbl#create`). Aligned both backing fns to default 5 cols. - [x] `VimwikiListChangeLvl` was `-nargs=?` (range-less) vs upstream `-range -nargs=+`. _Fix:_ all four defs are now `-range -nargs=+` passing `, , `; `list_change_lvl(line1, line2, direction, @@ -192,6 +195,19 @@ fix site. `cmd.ListChangeLvl_range_indents` (`test-keymaps.lua`) and `cmd.VimwikiListChangeLvl_accepts_range_and_args` (`test-keymaps-vim.vim`, no E481/E488). +- [ ] **Neovim `follow_link_or_create` is botched** _(new, 2026-05-31 + command-attribute audit)_ — `lua/nuwiki/commands.lua` calls + `vim.lsp.buf.definition()` **twice** with dead code between + (`local p = pos_args()[1]` … `local _ = p`), and never does the bare-word → + `[[link]]` wrap its docstring promises (the Vim side does, via + `s:wrap_word_under_cursor`). So on Neovim, `` on a bare word doesn't + create/follow a link, and link-follow fires a redundant second jump. _Fix:_ + rewrite to wrap-then-jump once, mirroring the Vim path. +- [ ] **Neovim SplitLink/VSplitLink skip the bare-word wrap** _(new, same + audit)_ — the Neovim defs dispatch to raw `vim.lsp.buf.definition()` while + the Vim defs (and Neovim `FollowLink`/`TabnewLink`) use + `follow_link_or_create`. Once the above is fixed, route Neovim + Split/VSplitLink through `follow_link_or_create` too for cross-client parity. - [x] `VimwikiRebuildTags` `-bang` ("rebuild all") — `:…RebuildTags!` now passes `{ all: true }`; the server (`tags_rebuild`) re-indexes **every** configured wiki (via `wikis_snapshot()`) instead of just the current one. `-bang` added to diff --git a/lua/nuwiki/commands.lua b/lua/nuwiki/commands.lua index df93b82..0cbe526 100644 --- a/lua/nuwiki/commands.lua +++ b/lua/nuwiki/commands.lua @@ -962,7 +962,7 @@ end -- Cluster B — table rewriters. function M.table_insert(cols, rows) - cols = tonumber(cols) or 3 + cols = tonumber(cols) or 5 rows = tonumber(rows) or 2 local p = pos_args()[1] p.cols = cols