aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc
Commit message (Collapse)AuthorAge
* feat(stdlib): overload vim.str_byteindex, vim.str_utfindex #30735Tristan Knight2024-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM: There are several limitations to vim.str_byteindex, vim.str_utfindex: 1. They throw given out-of-range indexes. An invalid (often user/lsp-provided) index doesn't feel exceptional and should be handled by the caller. `:help dev-error-patterns` suggests that `retval, errmsg` is the preferred way to handle this kind of failure. 2. They cannot accept an encoding. So LSP needs wrapper functions. #25272 3. The current signatures are not extensible. * Calling: The function currently uses a fairly opaque boolean value to indicate to identify the encoding. * Returns: The fact it can throw requires wrapping in pcall. 4. The current name doesn't follow suggestions in `:h dev-naming` and I think `get` would be suitable. SOLUTION: - Because these are performance-sensitive, don't introduce `opts`. - Introduce an "overload" that accepts `encoding:string` and `strict_indexing:bool` params. ```lua local col = vim.str_utfindex(line, encoding, [index, [no_out_of_range]]) ``` Support the old versions by dispatching on the type of argument 2, and deprecate that form. ```lua vim.str_utfindex(line) -- (utf-32 length, utf-16 length), deprecated vim.str_utfindex(line, index) -- (utf-32 index, utf-16 index), deprecated vim.str_utfindex(line, 'utf-16') -- utf-16 length vim.str_utfindex(line, 'utf-16', index) -- utf-16 index vim.str_utfindex(line, 'utf-16', math.huge) -- error: index out of range vim.str_utfindex(line, 'utf-16', math.huge, false) -- utf-16 length ```
* docs: miscdundargoc2024-10-23
| | | | | | | Co-authored-by: David Pedersen <limero@me.com> Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: Leo Schlosser <Leo.Schlosser@Student.HTW-Berlin.de> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* vim-patch:19be0eb: runtime(doc): :ownsyntax also resets 'spelloptions'zeertzjq2024-10-23
| | | | | | closes: vim/vim#15919 https://github.com/vim/vim/commit/19be0eb7f0c5877fef927a22457fdd7b3ec0ea9b
* fix(lsp): support multiple clients in typehierarchyLewis Russell2024-10-22
|
* docs(options): remove description for hidden options #30903Famiu Haque2024-10-22
| | | | | | | | | Problem: Hidden options are documented despite being no-ops. Solution: Remove docs for hidden options. Move tags for options that we plan to restore, to ":help nvim-missing". Move tags for permanently removed options, to ":help nvim-removed".
* vim-patch:a7d4561: runtime(netrw): deprecate and remove ↵Christian Clason2024-10-22
| | | | | | | | | | | netrwFileHandlers#Invoke() closes: vim/vim#15895 https://github.com/vim/vim/commit/a7d456191de0c9092151e5c64f1a3b5a6714509b Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com> Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* vim-patch:421ed14: runtime(typst): add folding to typst ftpluginChristian Clason2024-10-22
| | | | | | | | closes: vim/vim#15897 https://github.com/vim/vim/commit/421ed14b8a0f50e0d2d9247dda49feb69352bd0d Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
* vim-patch:9.1.0797: testing of options can be further improved (#30893)zeertzjq2024-10-22
| | | | | | | | | | | Problem: testing of options can be further improved Solution: split the generated option test into test_options_all.vim, add more test cases, save and restore values, fix use-after-free closes: vim/vim#15894 https://github.com/vim/vim/commit/6eca04e9f1d446dc509ba51e32da56fa413fe2f0 Co-authored-by: Milly <milly.ca@gmail.com>
* fix(meta): do not use hyphens in param namesLewis Russell2024-10-21
| | | | Fixes #30882
* feat(vim.validate): improve fast form and deprecate spec formLewis Russell2024-10-21
| | | | | | | | | | | | | | Problem: `vim.validate()` takes two forms when it only needs one. Solution: - Teach the fast form all the features of the spec form. - Deprecate the spec form. - General optimizations for both forms. - Add a `message` argument which can be used alongside or in place of the `optional` argument.
* refactor: rename vim.highlight => vim.hlJustin M. Keyes2024-10-21
| | | | | | | | | | | | Problem: - `vim.highlight` module does not follow `:help dev-name-common`, which documents the name for "highlight" as "hl". - Shorter names are usually preferred. Solution: Rename `vim.highlight` to `vim.hl`. This is not a breaking change until 2.0 (or maybe never).
* feat(lsp)!: support multiple clients in goto methods (#30877)Mathias Fußenegger2024-10-20
| | | | | | | | | | | | | | | Relates to: - https://github.com/neovim/neovim/issues/30034 - https://github.com/neovim/neovim/issues/17712 - https://github.com/neovim/neovim/issues/16363 Closes: - https://github.com/neovim/neovim/issues/26936 (but only provides bufnr and method) - https://github.com/neovim/neovim/issues/22318 Might fix: https://github.com/neovim/neovim/issues/30737
* feat(float): allow enabling mouse for non-focusable window (#30844)zeertzjq2024-10-20
| | | | Problem: Cannot allow mouse interaction for non-focusable float window. Solution: Add a "mouse" field to float window config.
* feat(lsp)!: support multiple clients in lsp.buf.referencesMathias Fussenegger2024-10-20
| | | | | | | Relates to: - https://github.com/neovim/neovim/issues/17712 - https://github.com/neovim/neovim/issues/30034
* feat(terminal)!: make 'belloff' and 'visualbell' apply to terminal bell (#30859)zeertzjq2024-10-20
| | | | | | | vim-patch:8.2.4744: a terminal window can't use the bell vim-patch:8.2.4745: using wrong flag for using bell in the terminal BREAKING CHANGE: Bells from :terminal are now silent by default, unless 'belloff' option doesn't contain "term" or "all".
* feat(vim.ui.open): support lemonade #30845Uthman Mohamed2024-10-18
|
* Merge pull request #30825 from lewis6991/refactor/lsputilLewis Russell2024-10-17
|\
| * feat(lsp.util): improve offset_encoding type annotationsLewis Russell2024-10-17
| |
| * feat(lsp.util): fix type errorsLewis Russell2024-10-17
| |
| * feat(meta): add type for quickfix entriesLewis Russell2024-10-17
| |
* | feat(lsp): show server name in code actions #30830Jordan2024-10-17
| | | | | | | | | | | | | | Problem: If there are multiple LSP clients, it's not clear which actions are provided by which servers. #30710 Solution: Show the server name next to each action (only if there are multiple clients).
* | vim-patch:6c2fc37: runtime(help): Update help syntaxzeertzjq2024-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makaes the following changes to the vim help syntax: - fix excessive URL detection in help, because `file:{filename}` in doc/options.txt is determined to be a URL. - update highlighting N for :resize in help - split Italian-specific syntax into separate help script - highlight `Note` in parentheses in help - update 'titlestring' behaviour in documentation for invalid '%' format closes: vim/vim#15883 https://github.com/vim/vim/commit/6c2fc377bfbfb6f1a46b1061413cd21116b596ed Co-authored-by: Milly <milly.ca@gmail.com>
* | vim-patch:4bfb899: runtime(help): fix end of sentence highlight in code exampleszeertzjq2024-10-17
| | | | | | | | | | | | | | | | | | closes: vim/vim#15745 https://github.com/vim/vim/commit/4bfb89996f227d5fbb4803f0d8dbd3105483b625 Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Danilo Rezende <returndanilo@users.noreply.github.com>
* | vim-patch:partial:8.2.4712: only get profiling information after exitingzeertzjq2024-10-17
|/ | | | | | | | | https://github.com/vim/vim/commit/18ee0f603ebd3c091f6d2ab88e652fda32821048 Doc updates only. Cherry-pick profiling doc change from patch 8.2.2400. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* fix(runtime): clean up one-off scriptsChristian Clason2024-10-15
| | | | | | | | | | | | | | | | | | | | Problem: Some runtime files no longer spark joy. Solution: Kondo the place up. Still sparks _some_ joy (moved to new `runtime/scripts` folder): * `macros/less.*` * `mswin.vim` * `tools/emoji_list.lua` No longer sparks joy (removed): * `macmap.vim` (gvimrc file; not useful in Nvim) * `tools/check_colors.vim` (no longer useful with new default colorscheme and treesitter) * `macros/editexisting.vim` (throws error on current Nvim) * `macros/justify.vim` (obsolete shim for `packadd! justify`) * `macros/matchit.vim` (same) * `macros/shellmenu.vim` (same) * `macros/swapmous.vim` (same)
* feat(man.vim): "q" always closes window #30819xudyang12024-10-15
|
* vim-patch:9.1.0785: cannot preserve error position when setting quickfix ↵zeertzjq2024-10-15
| | | | | | | | | | | | | | list (#30820) Problem: cannot preserve error position when setting quickfix lists Solution: Add the 'u' action for setqflist()/setloclist() and try to keep the closes target position (Jeremy Fleischman) fixes: vim/vim#15839 closes: vim/vim#15841 https://github.com/vim/vim/commit/27fbf6e5e8bee5c6b61819a5e82a0b50b265f0b0 Co-authored-by: Jeremy Fleischman <jeremyfleischman@gmail.com>
* fix(lsp): handle multiline signature help labels #30460Maria José Solano2024-10-15
|
* vim-patch:5bcfb5a: runtime(doc): add some docs for file-watcher programszeertzjq2024-10-15
| | | | | | | | fixes: vim/vim#15733 https://github.com/vim/vim/commit/5bcfb5a30cfd8e8574061bdd82a192f47aae09b5 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:7b5e52d: runtime(doc): add preview flag to statusline examplezeertzjq2024-10-15
| | | | | | | | | | | | Problem: The standard statusline example is missing the preview flag "%w" Solution: Add the preview flag "%w" closes: vim/vim#15874 https://github.com/vim/vim/commit/7b5e52d16fb457c90cc44340a6190712aab7e03b Co-authored-by: saher <msaher.shair@gmail.com>
* vim-patch:9.1.0779: filetype: neomuttlog files are not recognizedChristian Clason2024-10-14
| | | | | | | | | | | | | Problem: filetype: neomuttlog files are not recognized Solution: detect '*.neomuttdebug' file as neomuttlog filetype, include neomuttlog syntax script (Richard Russon) closes: vim/vim#15858 https://github.com/vim/vim/commit/a2aa921f767da17d4b619f41b7a1210c762c91e2 Co-authored-by: Richard Russon <rich@flatcap.org> Co-authored-by: AvidSeeker <avidseeker7@protonmail.com>
* vim-patch:9.1.0778: filetype: lf config files are not recognizedChristian Clason2024-10-14
| | | | | | | | | | | | | | | Problem: filetype: lf config files are not recognized Solution: detect lfrc files as lf filetype, include a syntax script for lf files (Andis Spriņķis). References: - https://github.com/gokcehan/lf closes: vim/vim#15859 https://github.com/vim/vim/commit/0f146b7925178a5bdfdc8e07642976f0b76d9612 Co-authored-by: Andis Spriņķis <spr.andis@protonmail.com>
* vim-patch:a420547: runtime(misc): Use consistent "Vim script" spelling (#30805)zeertzjq2024-10-14
| | | | | | | | | References: https://groups.google.com/g/vim_dev/c/3Z5yM8KER2w/m/wAqws0QSEAAJ closes: vim/vim#15863 https://github.com/vim/vim/commit/a4205471adae39c80fb7f151a4f33051fcb80001 Co-authored-by: h-east <h.east.727@gmail.com>
* docs: update autotrigger description of vim.lsp.compleiton.BufferOpts (#30796)glepnir2024-10-13
| | | Currently the behavior of autotrigger is not well documented.
* feat(ui): statusline text inherits highlights #29976Riley Bruins2024-10-12
| | | Changes apply to the winbar, statusline, and tabline text.
* docs(lua): clarify when on_key "typed" will be empty (#30774)zeertzjq2024-10-12
|
* fix(lua): avoid recursive vim.on_key() callback (#30753)zeertzjq2024-10-12
|
* feat(defaults): map gri to vim.lsp.buf.implementation() (#30764)Gregory Anders2024-10-11
| | | | Continuing the default LSP maps under the "gr" prefix. Mnemonic: "i" for "implementation".
* fix(treesitter): remove duplicate symbol names in language.inspect()Riley Bruins2024-10-11
| | | | | | | | | | | | | | | | | **Problems:** - `vim.treesitter.language.inspect()` returns duplicate symbol names, sometimes up to 6 of one kind in the case of `markdown` - The list-like `symbols` table can have holes and is thus not even a valid msgpack table anyway, mentioned in a test **Solution:** Return symbols as a map, rather than a list, where field names are the names of the symbol. The boolean value associated with the field encodes whether or not the symbol is named. Note that anonymous nodes are surrounded with double quotes (`"`) to prevent potential collisions with named counterparts that have the same identifier.
* feat(treesitter): introduce child_with_descendant()Riley Bruins2024-10-11
| | | | | | This commit also marks `child_containing_descendant()` as deprecated (per upstream's documentation), and uses `child_with_descendant()` in its place. Minimum required tree-sitter version will now be `0.24`.
* feat(ui): cascading style inheritance for Pmenu* highlights #29980Riley Bruins2024-10-10
| | | | - `PmenuSel` and `PmenuMatch` inherit from `Pmenu` - `PmenuMatchSel` inherits from both `PmenuSel` and `PmenuMatch`
* vim-patch:9.1.0774: "shellcmdline" doesn't work with getcompletion() (#30750)zeertzjq2024-10-10
| | | | | | | | Problem: "shellcmdline" doesn't work with getcompletion(). Solution: Use set_context_for_wildcard_arg() (zeertzjq). closes: vim/vim#15834 https://github.com/vim/vim/commit/85f36d61e09b12d6f1c60201129823371daa4a84
* vim-patch:9.1.0771: completion attribute hl_group is confusingzeertzjq2024-10-10
| | | | | | | | | | | | | Problem: Currently completion attribute hl_group is combined with all items, which is redundant and confusing with kind_hlgroup Solution: Renamed to abbr_hlgroup and combine it only with the abbr item (glepnir). closes: vim/vim#15818 https://github.com/vim/vim/commit/0fe17f8ffbd2588ecd2bf42dced556897bc64f89 Co-authored-by: glepnir <glephunter@gmail.com>
* docs(lua): "vim.bo" is always equivalent to :setlocal (#30733)zeertzjq2024-10-09
| | | | | | | | | | | | | | | | | | | vim.bo :lua vim.bo.textwidth = 80 :setglobal textwidth? textwidth=0 :setlocal :setlocal textwidth=80 :setglobal textwidth? textwidth=0 :set :set textwidth=80 :setglobal textwidth? textwidth=80
* vim-patch:9.1.0770: current command line completion is a bit limited (#30728)zeertzjq2024-10-09
| | | | | | | | | | | Problem: current command completion is a bit limited Solution: Add the shellcmdline completion type and getmdcomplpat() function (Ruslan Russkikh). closes: vim/vim#15823 https://github.com/vim/vim/commit/0407d621bbad020b840ffbbbd25ba023bbc05edd Co-authored-by: Ruslan Russkikh <dvrussk@yandex.ru>
* fix(gen_help_html): first tag in h2 is broken #30720Justin M. Keyes2024-10-08
| | | | | | | | | | | | | | | Problem: In h2 headings, the first tag points to an invalid anchor. This used to work but regressed a few months ago, possibly related to ceea6898a8bdcb6c4cfe06b8dc4739c144e6b1f8. Solution: - Simplify the logic, don't try to be clever: - Always use to_heading_tag() for the h2 `id`. - Also: - Render tags as `<span>`, because `<code>` is unnecessary and doesn't look great in headings. - In the main h1, use "foo.txt" as the anchor `name` (rarely used), prefer the next found tag for the `href`.
* vim-patch:9.1.0765: No test for patches 6.2.418 and 7.3.489 (#30713)zeertzjq2024-10-07
| | | | | | | | | Problem: No test for patches 6.2.418 and 7.3.489 Solution: Add a test. Fix some whitespace problems in test_mapping.vim. Document the behavior (zeertzjq). closes: vim/vim#15815 https://github.com/vim/vim/commit/5df3cb2898d8b4ad42ac367a436afc79bffecfb4
* vim-patch:af449f6: runtime(compiler): add cppcheck linter compiler pluginChristian Clason2024-10-07
| | | | | | | | closes: vim/vim#15804 https://github.com/vim/vim/commit/af449f69c7cc9f0ffafaa6e0d028dccd1c358763 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* docs: dev-arch, focusable windows #30510Justin M. Keyes2024-10-07
| | | | - 'statuscolumn' is no longer experimental - add tags for popular searches on neovim.io
* docs: generate params/returns in builtin.txt #30654Justin M. Keyes2024-10-07
|