commit dd6ed202724891a3853c8766ece4a4c72d82adee
parent 9252d470cb08552fec9c405b22b887624a49ee20
Author: zeertzjq <zeertzjq@outlook.com>
Date: Wed, 7 Jan 2026 08:11:42 +0800
docs: misc (#37280)
Close #36806
Close #36812
Close #37003
Close #37016
Close #37038
Close #37039
Close #37157
Close #37185
Close #37213
Co-authored-by: saroj_r <sarojregmi.official@gmail.com>
Co-authored-by: Olivia Kinnear <git@superatomic.dev>
Co-authored-by: Igor <igorlfs@ufmg.br>
Co-authored-by: Justin Roberts <JustinEdwardLeo@gmail.com>
Co-authored-by: "Mike J. McGuirk" <mike.j.mcguirk@gmail.com>
Co-authored-by: Aymen Hafeez <49293546+aymenhafeez@users.noreply.github.com>
Co-authored-by: Peter Cardenas <16930781+PeterCardenas@users.noreply.github.com>
Co-authored-by: DrNayak2306 <dhruvgnk.work@gmail.com>
Diffstat:
18 files changed, 44 insertions(+), 91 deletions(-)
diff --git a/runtime/doc/api.txt b/runtime/doc/api.txt
@@ -1586,7 +1586,7 @@ nvim_set_hl_ns_fast({ns_id}) *nvim_set_hl_ns_fast()*
Set active namespace for highlights defined with |nvim_set_hl()| while
redrawing.
- This function meant to be called while redrawing, primarily from
+ This function is meant to be called while redrawing, primarily from
|nvim_set_decoration_provider()| on_win and on_line callbacks, which are
allowed to change the namespace during a redraw cycle.
diff --git a/runtime/doc/dev.txt b/runtime/doc/dev.txt
@@ -176,10 +176,7 @@ Strict "vimdoc" subset:
- Use lists (like this!) prefixed with "-" or "•", for adjacent lines that you
don't want to auto-wrap. Lists are always rendered with "flow" layout
(soft-wrapped) instead of preformatted (hard-wrapped) layout common in
- legacy :help docs.
- - Limitation: currently the parser https://github.com/neovim/tree-sitter-vimdoc
- does not understand numbered listitems, so use a bullet symbol (- or •)
- before numbered items, e.g. "• 1." instead of "1.".
+ legacy :help docs. You can also use numbered lists, e.g. "1."
- Separate blocks (paragraphs) of content by a blank line.
- Do not use indentation in random places—that prevents the page from using
"flow" layout. If you need a preformatted section, put it in
diff --git a/runtime/doc/dev_arch.txt b/runtime/doc/dev_arch.txt
@@ -85,7 +85,7 @@ Data structures
- kvec or garray.c for dynamic lists / vectors (use StringBuilder for strings)
Use `kvec.h` for most lists. When you absolutely need a linked list, use
-`lib/queue_defs.h` which defines an "intrusive" linked list.
+`src/nvim/lib/queue_defs.h` which defines an "intrusive" linked list.
Buffer text is stored as a tree of line segments, defined in `src/nvim/memline.c`.
The central idea is found in `ml_find_line`.
@@ -133,7 +133,7 @@ The source files most directly involved with UI events are:
UI events are defined in `src/nvim/api/ui_events.in.h` , this file is not
compiled directly, rather it parsed by
-`src/nvim/generators/gen_api_ui_events.lua` which autogenerates wrapper
+`src/gen/gen_api_ui_events.lua` which autogenerates wrapper
functions used by the source files above. It also generates metadata
accessible as `api_info().ui_events`.
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
@@ -10,7 +10,7 @@ cursor to it and hit CTRL-], or ctrl-click with mouse. Try it here: |bars|.)
About Nvim *reference_toc* *Q_ct*
- |news| News since the previous release
-- |nvim| Getting start with Nvim
+- |nvim| Getting started with Nvim
- |tutor| 30-minute interactive course for beginners
- |vim-differences| Nvim compared to Vim
- |faq| Frequently Asked Questions
diff --git a/runtime/doc/lsp.txt b/runtime/doc/lsp.txt
@@ -336,50 +336,6 @@ current buffer.
Requests and notifications defined by the LSP specification are referred to as
"LSP methods". These are handled by Lua |lsp-handler| functions.
-The |vim.lsp.handlers| global table defines default handlers (only for
-server-to-client requests/notifications, not client-to-server). Note: depends
-on server support; they won't run if your server doesn't support them.
-
-You can list them with: >vim
-
- :lua vim.print(vim.tbl_keys(vim.lsp.handlers))
-<
-They are also listed below.
-
-- `'callHierarchy/incomingCalls'`
-- `'callHierarchy/outgoingCalls'`
-- `'client/registerCapability'`
-- `'client/unregisterCapability'`
-- `'signature_help'`
-- `'textDocument/codeLens'`
-- `'textDocument/completion'`
-- `'textDocument/diagnostic'`
-- `'textDocument/documentHighlight'`
-- `'textDocument/documentSymbol'`
-- `'textDocument/formatting'`
-- `'textDocument/hover'`
-- `'textDocument/inlayHint'`
-- `'textDocument/inlineCompletion'`
-- `'textDocument/publishDiagnostics'`
-- `'textDocument/rangeFormatting'`
-- `'textDocument/rename'`
-- `'textDocument/signatureHelp'`
-- `'typeHierarchy/subtypes'`
-- `'typeHierarchy/supertypes'`
-- `'window/logMessage'`
-- `'window/showDocument'`
-- `'window/showMessage'`
-- `'window/showMessageRequest'`
-- `'window/workDoneProgress/create'`
-- `'workspace/applyEdit'`
-- `'workspace/configuration'`
-- `'workspace/executeCommand'`
-- `'workspace/diagnostic/refresh'`
-- `'workspace/inlayHint/refresh'`
-- `'workspace/semanticTokens/refresh'`
-- `'workspace/symbol'`
-- `'workspace/workspaceFolders'`
-
*lsp-handler*
LSP handlers are functions that handle |lsp-response|s to requests made by Nvim
to the server. (Notifications, as opposed to requests, are fire-and-forget:
@@ -1315,7 +1271,7 @@ the current buffer.
*vim.lsp.LocationOpts.OnList*
Fields: ~
- • {items} (`table[]`) Structured like |setqflist-what|
+ • {items} (`vim.quickfix.entry[]`) See |setqflist-what|
• {title}? (`string`) Title for the list.
• {context}? (`{ bufnr: integer, method: string }`) Subset of `ctx`
from |lsp-handler|.
@@ -1616,10 +1572,10 @@ Lua module: vim.lsp.client *lsp-client*
• {allow_incremental_sync}? (`boolean`,
default: `true`) Allow using incremental
sync for buffer edits
- • {debounce_text_changes} (`integer`, default:
- `150`) Debounce `didChange` notifications to
- the server by the given number in
- milliseconds. No debounce occurs if `nil`.
+ • {debounce_text_changes}? (`integer`,
+ default: `150`) Debounce `didChange`
+ notifications to the server by the given
+ number in milliseconds.
• {get_language_id} (`fun(bufnr: integer, filetype: string): string`)
See |vim.lsp.ClientConfig|.
• {handlers} (`table<string,lsp.Handler>`) See
@@ -1742,10 +1698,10 @@ Lua module: vim.lsp.client *lsp-client*
• {allow_incremental_sync}? (`boolean`,
default: `true`) Allow using incremental sync
for buffer edits
- • {debounce_text_changes} (`integer`, default:
+ • {debounce_text_changes}? (`integer`, default:
`150`) Debounce `didChange` notifications to
the server by the given number in
- milliseconds. No debounce occurs if `nil`.
+ milliseconds.
• {get_language_id}? (`fun(bufnr: integer, filetype: string): string`)
Language ID as string. Defaults to the buffer
filetype.
diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt
@@ -21,7 +21,7 @@ ICCF Holland and Kuwasha ~
|Bram| Moolenaar's charity, ICCF Holland, has long supported the education of
children in Uganda through the Kibaale Children's Centre. Following Bram's
-passing in 2023, ICCF Holland transfered all activities to its sister charity
+passing in 2023, ICCF Holland transferred all activities to its sister charity
Kuwasha in Canada and dissolved at the end of 2025.
Donations from Vim users are still welcome and will continue to go directly to
diff --git a/runtime/lua/vim/_meta/api.lua b/runtime/lua/vim/_meta/api.lua
@@ -2231,7 +2231,7 @@ function vim.api.nvim_set_hl_ns(ns_id) end
--- Set active namespace for highlights defined with `nvim_set_hl()` while redrawing.
---
---- This function meant to be called while redrawing, primarily from
+--- This function is meant to be called while redrawing, primarily from
--- `nvim_set_decoration_provider()` on_win and on_line callbacks, which
--- are allowed to change the namespace during a redraw cycle.
---
diff --git a/runtime/lua/vim/_meta/api_keysets_extra.lua b/runtime/lua/vim/_meta/api_keysets_extra.lua
@@ -208,26 +208,26 @@ error('Cannot require a meta file')
--- @field allows_duplicates boolean
--- @class vim.api.keyset.cmd.mods
---- @field filter { force: boolean, pattern: string }
---- @field silent boolean
---- @field emsg_silent boolean
---- @field unsilent boolean
---- @field sandbox boolean
---- @field noautocmd boolean
---- @field tab integer
---- @field verbose integer
---- @field browse boolean
---- @field confirm boolean
---- @field hide boolean
---- @field keepalt boolean
---- @field keepjumps boolean
---- @field keepmarks boolean
---- @field keeppatterns boolean
---- @field lockmarks boolean
---- @field noswapfile boolean
---- @field vertical boolean
---- @field horizontal boolean
---- @field split ''|'botright'|'topleft'|'belowright'|'aboveleft'
+--- @field filter? { force: boolean, pattern: string }
+--- @field silent? boolean
+--- @field emsg_silent? boolean
+--- @field unsilent? boolean
+--- @field sandbox? boolean
+--- @field noautocmd? boolean
+--- @field tab? integer
+--- @field verbose? integer
+--- @field browse? boolean
+--- @field confirm? boolean
+--- @field hide? boolean
+--- @field keepalt? boolean
+--- @field keepjumps? boolean
+--- @field keepmarks? boolean
+--- @field keeppatterns? boolean
+--- @field lockmarks? boolean
+--- @field noswapfile? boolean
+--- @field vertical? boolean
+--- @field horizontal? boolean
+--- @field split? ''|'botright'|'topleft'|'belowright'|'aboveleft'
--- @class vim.api.keyset.cmd.magic
--- @field bar boolean
diff --git a/runtime/lua/vim/lsp/buf.lua b/runtime/lua/vim/lsp/buf.lua
@@ -292,7 +292,7 @@ end
--- @field loclist? boolean
--- @class vim.lsp.LocationOpts.OnList
---- @field items table[] Structured like |setqflist-what|
+--- @field items vim.quickfix.entry[] See |setqflist-what|
--- @field title? string Title for the list.
--- @field context? { bufnr: integer, method: string } Subset of `ctx` from |lsp-handler|.
diff --git a/runtime/lua/vim/lsp/client.lua b/runtime/lua/vim/lsp/client.lua
@@ -22,9 +22,8 @@ local all_clients = {}
--- @field allow_incremental_sync? boolean
---
--- Debounce `didChange` notifications to the server by the given number in milliseconds.
---- No debounce occurs if `nil`.
--- (default: `150`)
---- @field debounce_text_changes integer
+--- @field debounce_text_changes? integer
--- @class vim.lsp.ClientConfig
---
diff --git a/runtime/tutor/en/vim-02-beginner.tutor b/runtime/tutor/en/vim-02-beginner.tutor
@@ -59,7 +59,7 @@ Final exercise: (Modify "this" text) by [applying {various} operations]<
**MNEMONIC**: *into register(") named (a) (y)ank (i)nner (w)ord*
- 3. Navigate forward to the word 'cookie' (`fk`{normal} or `2fc`{normal}
+ 3. Navigate forward to the word 'cookie' (`fk`{normal} or `3fc`{normal}
or `$2b`{normal} or `/co`{normal} `<ENTER>`{normal}) and type `"byiw`{normal}
4. Navigate to any point on the word 'Vince' and type `ciw<CTRL-R>a<ESC>`{normal}
diff --git a/runtime/tutor/ja/vim-02-beginner.tutor b/runtime/tutor/ja/vim-02-beginner.tutor
@@ -26,7 +26,7 @@
**覚え方**: *into register(") named (a) (y)ank (i)nner (w)ord*
*( レジスタに aという名の ヤンク 内側 単語 )*
- 3. 単語 'cookie' に移動(`fk`{normal}, `2fc`{normal}, `$2b`{normal} や `/co`{normal} `<ENTER>`{normal})し、`"byiw`{normal} とタイプします。
+ 3. 単語 'cookie' に移動(`fk`{normal}, `3fc`{normal}, `$2b`{normal} や `/co`{normal} `<ENTER>`{normal})し、`"byiw`{normal} とタイプします。
4. 単語 'Vince' の上に移動した後、`ciw<CTRL-r>a<ESC>`{normal} とタイプします。
diff --git a/runtime/tutor/zh/vim-02-beginner.tutor b/runtime/tutor/zh/vim-02-beginner.tutor
@@ -22,7 +22,7 @@
**助记**:*将 (i)nner (w)ord(内部单词)(y)ank(复制)到名为 (a) 的寄存器(")中*
- 3. 向前导航到 'cookie' 单词(可以使用 `fk`{normal} 或 `2fc`{normal}
+ 3. 向前导航到 'cookie' 单词(可以使用 `fk`{normal} 或 `3fc`{normal}
或 `$2b`{normal} 或 `/co`{normal} `<Enter>`{normal}),然后输入 `"byiw`{normal}
4. 导航到 'Vince' 单词的任意位置,然后输入 `ciw<CTRL-r>a<ESC>`{normal}
diff --git a/src/gen/gen_terminfo.lua b/src/gen/gen_terminfo.lua
@@ -148,7 +148,7 @@ local dbg = function() end
-- dbg = print
local f_enum = assert(io.open(target_enum, 'wb'))
-f_enum:write('// genenerated by src/gen/gen_terminfo.lua\n\n')
+f_enum:write('// generated by src/gen/gen_terminfo.lua\n\n')
f_enum:write('#pragma once\n\n')
f_enum:write('typedef enum {\n')
for _, name in ipairs(wanted_strings) do
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c
@@ -232,7 +232,7 @@ void nvim_set_hl_ns(Integer ns_id, Error *err)
/// Set active namespace for highlights defined with |nvim_set_hl()| while redrawing.
///
-/// This function meant to be called while redrawing, primarily from
+/// This function is meant to be called while redrawing, primarily from
/// |nvim_set_decoration_provider()| on_win and on_line callbacks, which
/// are allowed to change the namespace during a redraw cycle.
///
diff --git a/src/nvim/os/shell.c b/src/nvim/os/shell.c
@@ -862,7 +862,7 @@ static int do_os_system(char **argv, const char *input, size_t len, char **outpu
#ifdef MSWIN
// do not execute anything from the current directory by setting the
- // environemnt variable $NoDefaultCurrentDirectoryInExePath
+ // environment variable $NoDefaultCurrentDirectoryInExePath
char *oldval = os_getenv("NoDefaultCurrentDirectoryInExePath");
os_setenv("NoDefaultCurrentDirectoryInExePath", "1", true);
#endif
diff --git a/src/nvim/tui/terminfo_enum_defs.h b/src/nvim/tui/terminfo_enum_defs.h
@@ -1,4 +1,4 @@
-// genenerated by src/gen/gen_terminfo.lua
+// generated by src/gen/gen_terminfo.lua
#pragma once
diff --git a/test/old/testdir/test_map_functions.vim b/test/old/testdir/test_map_functions.vim
@@ -27,6 +27,7 @@ func Test_maparg()
\ maparg('foo<C-V>', '', 0, 1))
call assert_equal({'mode': 'v', 'mode_bits': 0x42, 'abbr': 0, 'buffer': 1,
\ 'noremap': 1, 'script': 1, 'expr': 1, 'nowait': 0, 'silent': 1,
+ "\ Nvim-specific field "replace_keycodes"
\ 'replace_keycodes': 0,
\ 'lhs': 'bar', 'lhsraw': 'bar', 'rhs': 'isbar',
\ 'sid': sid, 'scriptversion': 1, 'lnum': lnum + 2},