aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/message.txt
Commit message (Collapse)AuthorAge
* docs: cleanup invalid help sourceJustin M. Keyes4 days
| | | | | | | | | | Work towards enabling "flow" layout in most `:help` files. Since [tables are supported in help](https://github.com/neovim/tree-sitter-vimdoc#tables), it's now possible to render most help files as ["flow" layout](https://github.com/neovim/neovim/blob/9244da12e400ec0291450a5e9400d995e7a29b83/src/gen/gen_help_html.lua#L86-L88) instead of the legacy fixed-width layout. Besides [improved HTML rendering](https://github.com/neovim/neovim/pull/42381#discussion_r4285705739), flow layout will allow `:help` presentation-mode to un-hardwrap text blocks.
* fix(mappings): replaying a deleted Lua mapping is UBJustin M. Keyes2026-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Problem: Replaying a deleted Lua mapping, may call an arbitrary function. RHS of a Lua mapping embeds its LuaRef (`<K_LUA><ref><CR>`). The raw keys may outlive the ref (redobuff ".", CmdAtom `keys`). If the mapping is deleted, replaying it either (1) dereferences a freed registry slot, or (2) calls whatever callback reused the slot (autocmd, timer, other mapping). Solution: Assign a monotonic (never recycled) id to Lua mappings and encode the mapping keys as `<K_LUA><id><CR>`. Note: in the case of Vimscript, a deleted function raises E117, but if the function is redefined with the same name, the mapping will find it. Alternatives?: - Globally ensure `LuaRef` ids are not recycled. - Problem: could exhaust `int` in a long-lived Nvim session? Also, difficult to impl bc the "recycling" is done by `luaL_ref` itself. ref: 5ac2e47acc999472042df4f10f8f7b5ffa72ba3e
* fix(messages): dangling progress-messages #41222Justin M. Keyes2026-08-07
| | | | | | | | | | Problem: Some builtin features emit progress-messages which never "complete". - On failure, `:write` does not complete the progress-msg it started. - ins-completion never ends its "Scanning..." message. Solution: - `buf_write()` emits "failed" status on failure. - `ins_compl_stop()` ends the completion one.
* fix(ui2): pager handling #41179Justin M. Keyes2026-08-05
| | | | | | | | - Avoid shared state. Pass `focus` to set_pos()/expand_msg() instead of a shared `pager_focus` flag: the flag is only cleared when set_pos() actually enters the pager, so ":messages" from inside the pager left it set. - pager_shown(): the pager window is invalid after leaving it with "q". - Reuse pager_shown() in expand_msg().
* fix(ui2): do not steal focus when consecutive cmds emit messages #41062Erdiansyah2026-08-05
| | | | | | | | | | Problem: A message emitted while a previous expanded message is still visible opens the pager and enters it, moving focus away from the buffer window without an explicit request (#41061). Solution: Only enter the pager when it was explicitly requested ("g<", :messages, or entered from the expanded cmdline). An unfocused pager is dismissed by the cmdline key handler, which stays armed across the cmdline and no longer dismisses on non-typed keys (#39221).
* fix(messages): show hint in E77 error #40765Curnic Dorin2026-07-16
|
* docs(ui2): deprecate v:echospaceSébastien Hoffmann2026-07-11
| | | | | | The purpose of `v:echospace` was to avoid disruptive "Press ENTER" prompts. Since those are no longer a problem with ui2, the complexity of maintaining it up-to-date is no longer justified.
* test: lint EXX error codes #8155Justin M. Keyes2026-04-16
| | | | | | | | | | | Problem: - Choosing a new EXX error code is tedious. - It's possible to accidentally use an EXX error code for different purposes. Solution: Add a lint check which requires EXX error codes to have a :help tag. This also avoids duplicates because `make doc` does `:helptags ++t doc` which fails if duplicates are found.
* docs: lsp, options, api #38980Justin M. Keyes2026-04-14
| | | | | | | | | docs: lsp, options - revert bogus change to `_meta/builtin_types.lua` from 3a4a66017b74 Close #38991 Co-authored-by: David Mejorado <david.mejorado@gmail.com>
* docs: deprecate hit-enterJustin M. Keyes2026-03-11
|
* docs: api, messages, lsp, trustJustin M. Keyes2026-03-11
| | | | | gen_vimdoc.lua: In prepare for the upcoming release, comment-out the "Experimental" warning for prerelease features.
* docs: Lua error codes E970, E5107-E5116 #37577glepnir2026-02-14
|
* vim-patch:9.1.1965: q can accidentally start recording at more prompt (#36879)zeertzjq2025-12-09
| | | | | | | | | | | | | | Problem: When exiting at the end of the more prompt (at the hit enter prompt) by hitting q the recording mode will be started. (Jakub Łuczyński) Solution: Don't add the q key to the typeahead buffer in the function wait_return (Bjoern Foersterling) fixes: vim/vim#2589 closes: vim/vim#18889 https://github.com/vim/vim/commit/ecce3497fa9e1a7452ccfa8ba9cbdadb92bfb7fb Co-authored-by: Bjoern Foersterling <bjoern.foersterling@gmail.com>
* vim-patch:5427465: runtime(doc): Clean up file header whitespacezeertzjq2025-11-10
| | | | | | | | | | | | | - :retab! line 1 and line 4 (main page heading). - Use four columns whitespace before "by [Author]" in the user manual heading to match the reference manual formatting. - double space headings. closes: vim/vim#18648 https://github.com/vim/vim/commit/542746521ff8d111f33c3c8ff298ba58966c9acc Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:213109a: runtime(doc): clarify W11 warning and possible options ↵zeertzjq2025-11-01
| | | | | | | | | (#36426) fixes: vim/vim#18589 https://github.com/vim/vim/commit/213109a999c8c854c1af3bf57540e56afa23c20c Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.1849: CTRL-F and CTRL-B don't work in more promptzeertzjq2025-10-14
| | | | | | | | | | | | Problem: CTRL-F and CTRL-B don't work in more prompt Solution: Make CTRL-F and CTRL-B scroll by a screen down/up (Bjoern Foersterling) closes: vim/vim#18545 https://github.com/vim/vim/commit/fcf4c435af6fe00348506860c1433414d35223a7 Co-authored-by: bfoersterling <bjoern.foersterling@gmail.com>
* vim-patch:partial:c58f91c: runtime(doc): Whitespace updates (#36160)zeertzjq2025-10-13
| | | | | | | | | | | | | | Use double sentence spacing and wrap lines at 'textwidth'. Code examples and tables were not wrapped unless this had already been done locally. closes: vim/vim#18453 https://github.com/vim/vim/commit/c58f91c035db09358c282f2a908e2aea4287785e Fix incorrect docs in :h ModeChanged. Cherry-pick :h bufnr() changes from patch 8.1.2080. Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* docs: lsp, miscJustin M. Keyes2025-09-03
| | | | | | | | | - Problem: It's not clear for new plugin developers that `:help` uses a help-tags file for searching the docs, generated by `:helptags`. - Solution: Hint to the |:helptags| docs for regenerating the tags file for their freshly written documentation. Co-authored-by: Yochem van Rosmalen <git@yochem.nl>
* feat(api): nvim_echo can emit Progress messages/events #34846Shadman2025-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Nvim does not have a core concept for indicating "progress" of long-running tasks. The LspProgress event is specific to LSP. Solution: - `nvim_echo` can emit `kind="progress"` messages. - Emits a `Progress` event. - Includes new fields (id, status, percent) in the `msg_show` ui-event. - The UI is expected to overwrite any message having the same id. - Messages have a globally unique ID. - `nvim_echo` returns the message ID. - `nvim_echo(… {id=…})` updates existing messages. Example: local grp = vim.api.nvim_create_augroup("Msg", {clear = true}) vim.api.nvim_create_autocmd('Progress', { pattern={"term"}, group = grp, callback = function(ev) print(string.format('event fired: %s', vim.inspect(ev))..'\n') end }) -- require('vim._extui').enable({enable=true, msg={target='msg', timeout=1000}}) vim.api.nvim_echo({{'searching'}}, true, {kind='progress', percent=80, status='running', title="terminal(ripgrep)"}) local id = vim.api.nvim_echo({{'searching'}}, true, {kind='progress', status='running', percent=10, title="terminal(ripgrep)"}) vim.api.nvim_echo({}, true, {id = id, kind='progress', percent=20, status = 'running', title='find tests'}) vim.api.nvim_echo({}, true, {id = id, kind='progress', status='running', percent=70}) vim.api.nvim_echo({{'complete'}}, true, {id = id, kind='progress', status='success', percent=100, title="find tests"}) Followups: - Integrate with 'statusline' by listening to the Progress autocmd event. - Integrate progress ui-event with `vim._extui`.
* vim-patch:85cd509: runtime(doc): Use correct option-name tagszeertzjq2025-08-06
| | | | | | | | | | closes: vim/vim#17857 https://github.com/vim/vim/commit/85cd509885a05c3a6bb029fb378b1295f107f8f6 Omit 'completepopup' and v:colornames. Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
* vim-patch:9.1.0908: not possible to configure :messages (#31492)zeertzjq2024-12-07
| | | | | | | | | | | Problem: not possible to configure :messages Solution: add the 'messagesopt' option (Shougo Matsushita) closes: vim/vim#16068 https://github.com/vim/vim/commit/51d4d84d6a7159c6ce9e04b36f8edc105ca3794b Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com> Co-authored-by: h_east <h.east.727@gmail.com>
* vim-patch:partial:f10911e: Update runtime files (#29936)zeertzjq2024-08-01
| | | | | | | https://github.com/vim/vim/commit/f10911e5db16f1fe6ab519c5d091ad0c1df0d063 Also cherry-pick E1142 and E1156 tags from Vim. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.1.0178: E1513 might be confusing (#27846)zeertzjq2024-03-14
| | | | | | | | | | | | Problem: E1513 might be confusing (Christoph Thoma) Solution: reword error message, fix test to not depend on the actual message fixes: vim/vim#14189 https://github.com/vim/vim/commit/0a32b8854b52381fd17a6fcc5e38a3b9e77c8923 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.0147: Cannot keep a buffer focused in a windowColin Kennedy2024-03-11
| | | | | | | | | | | | | | | Problem: Cannot keep a buffer focused in a window (Amit Levy) Solution: Add the 'winfixbuf' window-local option (Colin Kennedy) fixes: vim/vim#6445 closes: vim/vim#13903 https://github.com/vim/vim/commit/215703563757a4464907ead6fb9edaeb7f430bea N/A patch: vim-patch:58f1e5c0893a
* vim-patch:9.0.2183: Maximum callback depth is not configurable (#26703)zeertzjq2023-12-22
| | | | | | | | | Problem: Maximum callback depth is not configurable. Solution: Revert patch 9.0.2103. Set 'maxfuncdepth' in test. fixes: vim/vim#13732 closes: vim/vim#13736 https://github.com/vim/vim/commit/fe583b1e5987fbfdb5f2141c133dbff9665ed301
* vim-patch:9.0.2103: recursive callback may cause issues on some archs (#26013)zeertzjq2023-11-13
| | | | | | | | | | | | | | | | | | | | | | | Problem: recursive callback may cause issues on some archs Solution: Decrease the limit drastically to 20 Recursive callback limit causes problems on some architectures Since commit 47510f3d6598a1218958c03ed11337a43b73f48d we have a test that causes a recursive popup callback function to be executed. However it seems the current limit of 'maxfuncdepth' option value is still too recursive for some 32bit architectures (e.g. 32bit ARM). So instead of allowing a default limit of 100 (default value for 'maxfuncdepth'), let's reduce this limit to 20. I don't think there is a use case where one would need such a high recursive callback limit and a limit of 20 seems reasonable (although it is currently hard-coded). closes: vim/vim#13495 closes: vim/vim#13502 https://github.com/vim/vim/commit/2076463e383901cef44685aaf4b63e4306444f9e Co-authored-by: Christian Brabandt <cb@256bit.org>
* fix(docs): vimdoc syntax errorsJustin M. Keyes2023-06-25
| | | | gen_help_html: truncate parse-error sample text
* test: spellcheck :help (vimdoc) files #24109Justin M. Keyes2023-06-22
| | | | | | | Enforce consistent terminology (defined in `gen_help_html.lua:spell_dict`) for common misspellings. This does not spellcheck English in general (perhaps a future TODO, though it may be noisy).
* docs: add missing docs from some Vim patches (#21296)zeertzjq2022-12-05
| | | | | | | | | | | | This is cherry-picked from these Vim patches: Only applicable change outside vi_diff.txt in patch 8.1.1226: https://github.com/vim/vim/commit/6c60f47fb9251e686217d51cf81847e14d0dd26d Most changes outside starting.txt and vi_diff.txt in patch 8.1.1280: https://github.com/vim/vim/commit/25c9c680ec4dfbb51f4ef21c3460a48d3c67ffc8 Missing docs for 'mousemoveevent': https://github.com/vim/vim/commit/cbaff5e06ec525d31dc44093125c42029e01d508
* vim-patch:partial:6ebe4f970b8b (#20860)Christian Clason2022-10-29
| | | | | | | Update runtime files https://github.com/vim/vim/commit/6ebe4f970b8b398087076a72a7aae6e680fb92da Co-authored-by: Bram Moolenaar <Bram@vim.org>
* docs: fix/remove invalid URLs #20647Justin M. Keyes2022-10-14
|
* chore: fix typos (#17755)dundargoc2022-03-25
| | | | Co-authored-by: Jordan Haine <jhaine@securitycompass.com>
* vim-patch:8.2.3797: no good reason to limit the message history in tiny versionzeertzjq2022-02-04
| | | | | | Problem: No good reason to limit the message history in the tiny version. Solution: Always use 200. https://github.com/vim/vim/commit/1e78deb0779bc403a914712f0842a65d2949dfdf
* vim-patch:2f0936cb9a2e (#17007)Christian Clason2022-01-11
| | | | | | * vim-patch:2f0936cb9a2e Update runtime files https://github.com/vim/vim/commit/2f0936cb9a2eb026acac03e6a8fd0b2a5d97508b
* vim-patch:7e6a515ed14eJan Edmund Lazo2021-05-01
| | | | | | | Update runtime files. https://github.com/vim/vim/commit/7e6a515ed14e204fafb3dd6e98f2fb543e64aedd Omit vim9.
* vim-patch:1c6737b20a5cJan Edmund Lazo2021-04-29
| | | | | Update runtime files. https://github.com/vim/vim/commit/1c6737b20a5cf71751b180461cea22fc76d8870c
* vim-patch:207f009326c8Jan Edmund Lazo2021-04-29
| | | | | | | Update runtime files. https://github.com/vim/vim/commit/207f009326c8f878defde0e594d7d9ed9860106e Omit nl.po.
* docs, remove 'guifontset' #11708Justin M. Keyes2020-08-31
| | | | | | | | | | | | | - remove redundant autocmd list This "grouped" list is useless, it only gets in the way when searching for event names. - intro.txt: cleanup - starting.txt: update, revisit - doc: `:help bisect` - mbyte.txt: update aliases 1656367b90bd. closes #11960 - options: remove 'guifontset'. Why: - It is complicated and is used by almost no one. - It is unlikely to be implemented by Nvim GUIs (complicated to parse, specific to Xorg...).
* vim-patch:8.2.0074: Python 3 unicode test someitmes failsJan Edmund Lazo2020-01-01
| | | | | | Problem: Python 3 unicode test someitmes fails. Solution: Make 'termencoding' empty. Correct number of error message. https://github.com/vim/vim/commit/4b7cdca23035eacf6cd0e30b90546cf32f7efe9e
* doc [ci skip]Justin M. Keyes2019-12-31
|
* doc + extmarks tweaks #11421Justin M. Keyes2019-11-25
| | | | - nvim_buf_get_extmarks: rename "amount" => "limit" - rename `set_extmark_index_from_obj`
* vim-patch:8.1.2180: Error E303 is not useful when 'directory' is empty (#11257)Daniel Hahler2019-10-19
| | | | | Problem: Error E303 is not useful when 'directory' is empty. Solution: Skip the error message. (Daniel Hahler, vim/vim#5067) https://github.com/vim/vim/commit/00e192becd50a38cb21a1bc3f86fcc7a21f8ee88
* vim-patch:06fe74aef726Justin M. Keyes2019-09-06
| | | | | Runtime files update. https://github.com/vim/vim/commit/06fe74aef72606ac34c9f494186e52614b8fb59a
* vim-patch:68e6560b84f1Justin M. Keyes2019-08-02
| | | | | Update runtime files. https://github.com/vim/vim/commit/68e6560b84f196c82e27a72669684d5506a3a837
* vim-patch:62e1bb4a111eJustin M. Keyes2019-08-01
| | | | | | | Update runtime files. https://github.com/vim/vim/commit/62e1bb4a111e7ce570c30965f40a68a07a9da5b0 NA: vim-patch:496555fd1821
* vim-patch:4c05fa08c973Justin M. Keyes2019-07-29
| | | | | Update runtime files https://github.com/vim/vim/commit/4c05fa08c9739e307ddc88ac91ba6d208f1fd68e
* doc [ci skip]Justin M. Keyes2019-04-08
| | | | - README.md: Removed waffle.io because that service is shutting down.
* provider: repurpose E319Justin M. Keyes2018-12-12
| | | | | | | | | | | | | | In Vim (and some vestigial parts of Nvim) E319 was a placeholder for ex_ni commands, i.e. commands that are only available in certain builds of Vim. That is obviously counter to Nvim's goals: all Nvim commands are available on all platforms and build types (the remaining ex_ni commands are actually just missing providers). We need an error id for "missing provider", so it makes sense to use E319 for that purpose. ref #9344 ref #3577
* vim-patch:91f84f6e11cdJustin M. Keyes2018-10-29
| | | | | Update runtime files. https://github.com/vim/vim/commit/91f84f6e11cd879d43d651c0903d85bff95f0716
* vim-patch:7254067ee970Justin M. Keyes2018-10-28
| | | | | Update runtime files. https://github.com/vim/vim/commit/7254067ee970686cc3ff4a1effc3e49e9192a5c1