aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
...
* | | fix(netrw): re-add missing comment marker in syntax fileChristian Clason2025-01-20
| | |
* | | fix(lsp): don't use completion filterText if prefix is emptyMathias Fussenegger2025-01-19
| | | | | | | | | | | | | | | | | | | | | | | | Follow up to https://github.com/neovim/neovim/pull/32072 If there is no prefix (e.g. at the start of word boundary or a line), it always used the `filterText` because the `match` function always returned false.
* | | fix(lsp): document_symbol uses loclist by default #32070Yochem van Rosmalen2025-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Not able to open document symbols for different buffers Solution: Use the location list as default. To switch back to previous behavior (qflist): vim.lsp.buf.document_symbol({ loclist = false }) Fixes: #31832
* | | fix(treesitter): clean up parsing queueJaehwang Jung2025-01-19
| | |
* | | vim-patch:8dec6c2: runtime(vim): Update base-syntax, fix is/isnot operator ↵zeertzjq2025-01-19
|/ / | | | | | | | | | | | | | | | | | | | | | | | | matching (#32100) - Match is? and isnot? operators. - Limit other comparison operators to one match modifier rather than two. closes: vim/vim#16482 https://github.com/vim/vim/commit/8dec6c2e6c2b5157334398e2e6ab7daa91999d80 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* | fix(diagnostic)!: make virtual text handler opt-in (#32079)Gregory Anders2025-01-18
| | | | | | | | | | | | | | | | | | | | | | Making this opt-out (on by default) was the wrong choice from the beginning. It is too visually noisy to be enabled by default. BREAKING CHANGE: Users must opt-in to the diagnostic virtual text handler by adding vim.diagnostic.config({ virtual_text = true }) to their config.
* | vim-patch:e064051: runtime(c): add new constexpr keyword to syntax file (C23)Christian Clason2025-01-18
| | | | | | | | | | | | | | | | closes: vim/vim#16471 https://github.com/vim/vim/commit/e06405181a6189aa56e917c1a7e5090a33b07a8a Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* | vim-patch:54cb514: runtime(sh): update syntax scriptChristian Clason2025-01-18
| | | | | | | | | | | | | | | | | | - remove duplicated keywords - add bash coproc and COPROC_PID keywords https://github.com/vim/vim/commit/54cb514c9a8320d77650a63f0f7405aa8cc5b0d7 Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
* | vim-patch:9cfdabb: runtime(netrw): change netrw maintainerChristian Clason2025-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dr. Chip retired some time ago and is no longer maintaining the netrw plugin. However as a runtime plugin distributed by Vim, it important to maintain the netrw plugin in the future and fix bugs as they are reported. So, split out the netrw plugin as an additional package, however include some stubs to make sure the plugin is still loaded by default and the documentation is accessible as well. closes: vim/vim#16368 https://github.com/vim/vim/commit/9cfdabb074feefc9848e9f7a4538f201e28c7f06 Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
* | vim-patch:c2a967a: runtime(c): Update syntax and ftplugin filesChristian Clason2025-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - highlight more C keywords, including some from C23 Conditionally highlight C23 features: - #embed, #elifdef and #elifndef preprocessor directives - predefined macros - UTF-8 character constants - binary integer constants, _BitInt literals, and digit separators - nullptr_t type and associated constant - decimal real floating-point, bit precise and char types - typeof operators Matchit: - update for new preprocessor directives fixes: vim/vim#13667 fixes: vim/vim#13679 closes: vim/vim#12984 https://github.com/vim/vim/commit/c2a967a1b9adca6c929e3dc5c218dfada00059b6 Co-authored-by: Doug Kearns <dougkearns@gmail.com> Co-authored-by: Albin Ahlbäck <albin.ahlback@gmail.com>
* | docs: change augroup names to new convention #32061Yochem van Rosmalen2025-01-17
| | | | | | Ref: 09e01437c968be4c6e9f6bb3ac8811108c58008c
* | fix(lsp): use filterText as word if textEdit/label doesn't matchMathias Fussenegger2025-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: With language servers like lemminx, completing xml tags like `<mo` first shows the right candidates (`modules`) but after typing `d` the candidates disappear. This is because the server returns: [...] filterText = "<module", label = "module", textEdit = { newText = "<module>$1</module>$0", Which resulted in `module` being used as `word`, and `module` doesn't match the prefix `<mo`. Typing `d` causes the `complete()` filtering mechanism to kick in and remove the entry. Solution: Use `<module` from the `filterText` as `word` if the textEdit/label heuristic doesn't match.
* | vim-patch:9.1.1026: filetype: swc configuration files are not recognizedChristian Clason2025-01-17
|/ | | | | | | | | | | | | | Problem: filetype: swc configuration files are not recognized Solution: detect .swcrc files as json filetype (Marces Engel) References: https://swc.rs/docs/configuration/swcrc closes: vim/vim#16462 https://github.com/vim/vim/commit/3a738fccaaf6737c91641856ea00579dbe68bd4e Co-authored-by: Marces Engel <marces@facemurphy.com>
* fix(messages): lsp window/showMessage is not an errorLuuk van Baal2025-01-17
| | | | Ref https://github.com/neovim/neovim/discussions/32015
* vim-patch:a234a46: runtime(doc): fix typo in usr_02.txt (#32063)zeertzjq2025-01-17
| | | | | | | fixes: vim/vim#16455 https://github.com/vim/vim/commit/a234a46651ef174549792bd64d4bef64a32072bb Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.1020: no way to get current selected item in a async context ↵zeertzjq2025-01-17
| | | | | | | | | | | | | (#32056) Problem: no way to get current selected item in a async context Solution: add completed flag to show the entries of currently selected index item (glepnir) closes: vim/vim#16451 https://github.com/vim/vim/commit/037b028a2219d09bc97be04b300b2c0490c4268d Co-authored-by: glepnir <glephunter@gmail.com>
* Merge pull request #32038 from gpanders/push-nsrttwwnsqvmGregory Anders2025-01-16
|\ | | | | feat(terminal): add support for kitty keyboard protocol
| * feat(terminal): add support for kitty keyboard protocolGregory Anders2025-01-16
| | | | | | | | | | | | This commit adds basic support for the kitty keyboard protocol to Neovim's builtin terminal. For now only the first mode ("Disambiguate escape codes") is supported.
* | refactor(options): generic expand and did_set callbacks (#32011)Lewis Russell2025-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor(options): generic expand and did_set callbacks Problem: Many options have similar callbacks to check the values are valid. Solution: Generalize these callbacks into a single function that reads the option table. * refactor: gen_options.lua refactor: gen_options.lua - inline get_cond * refactor(options): use a simpler format for the common default
* | vim-patch:9.1.1019: filetype: fd ignore files are not recognized (#32042)Christian Clason2025-01-16
|/ | | | | | | | | | Problem: filetype: fd ignore files are not recognized Solution: detect .fdignore files as gitignore filetype closes: vim/vim#16444 https://github.com/vim/vim/commit/3058087f6f04be788118e94e942e0f0c9fca25f0 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* fix(docs): replace `yxx` mappings with `g==` #31947Evgeni Chasnovski2025-01-15
| | | | | | | | Problem: `yx` uses "y" prefix, which shadows a builtin operator. Solution: Use `g=` (in the form of `g==` currently), drawing from precedent of CTRL-= and 'tpope/vim-scriptease'.
* Merge #32013 from luukvbaal/shellkindJustin M. Keyes2025-01-15
|\
| * feat(messages): add :!cmd shell message kindsLuuk van Baal2025-01-15
| | | | | | | | Also print stderr error messages with ErrorMsg highlight group.
* | Merge #32001 from MariaSolOs/consistent-namespacesJustin M. Keyes2025-01-15
|\ \
| * | docs: document namespace/augroup conventionMaria José Solano2025-01-14
| | |
| * | refactor: use nvim.foo.bar format for autocommand groupsMaria José Solano2025-01-14
| | |
| * | refactor: use nvim.foo.bar format for namespacesMaria José Solano2025-01-14
| | |
* | | fix(lsp): vim.lsp.enable(...,false) does not disable #32002Andrew Braxton2025-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Per the documentation, passing `false` as the `enable` parameter of `vim.lsp.enable()` should disable the given LSP(s), but it does not work due to a logic error. Specifically, `enable == false and nil or {}` will always evaluate to `{}` because `nil` is falsy. Solution: Correct the conditional statement.
* | | vim-patch:045564d: runtime(colors): Update colorschemes, include new unokai ↵Christian Clason2025-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | colorscheme - new unokai colorscheme (similar/inspired by monokai) - the rest: add explicit PopupSelected link to PmenuSel closes: vim/vim#16443 https://github.com/vim/vim/commit/045564d0a73218594691953c0c8bf2035e1e176e Co-authored-by: Maxim Kim <habamax@gmail.com>
* | | feat(vim.fs): find(), dir() can "follow" symlinks #31551Mike2025-01-14
| | | | | | | | | | | | | | | | | | | | | | | | Problem: vim.fs.dir(), vim.fs.find() do not follow symlinks. Solution: - Add "follow" flag. - Enable it by default.
* | | fix(lsp): schedule call to vim.lsp.start for async root_dir (#31998)Gregory Anders2025-01-14
| | | | | | | | | | | | | | | | | | When `root_dir` is a function it can (and often will) call the provided callback function in a fast API context (e.g. in the `on_exit` handler of `vim.system`). When the callback function is executed we should ensure that it runs vim.lsp.start on the main event loop.
* | | feat(terminal): support theme update notifications (DEC mode 2031) (#31999)Gregory Anders2025-01-14
| | |
* | | feat(api): nvim_open_win() relative to tabline and laststatus #32006luukvbaal2025-01-14
| | | | | | | | | | | | | | | | | | | | | Problem: Anchoring a floating window to the tabline and laststatus is cumbersome; requiring autocommands and looping over all windows/tabpages. Solution: Add new "tabline" and "laststatus" options to the `relative` field of nvim_open_win() to place a window relative to.
* | | vim-patch:30377e0: runtime(lyrics): support milliseconds in syntax scriptChristian Clason2025-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following tool creates LRC files using three fractional digits after the seconds (i.e. milliseconds). References: https://github.com/magic-akari/lrc-maker https://lrc-maker.github.io/ closes: vim/vim#16436 https://github.com/vim/vim/commit/30377e0fe084496911e108cbb33c84cf075e6e33 Co-authored-by: Denilson Sá Maia <denilsonsa@gmail.com>
* | | vim-patch:9.1.1010: filetype: VisualCode setting file not recognized (#32003)zeertzjq2025-01-14
| |/ |/| | | | | | | | | | | | | | | | | | | Problem: filetype: VisualCode setting file not recognized Solution: detect json files in VSCode config directory as jsonc filetype (Konfekt) closes: vim/vim#16400 https://github.com/vim/vim/commit/c200f53cbb03fa11e489a27791d5b9dfc34a6564 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* | perf(treesitter): calculate folds asynchronouslyRiley Bruins2025-01-14
|/ | | | | | | | | **Problem:** The treesitter `foldexpr` runs synchronous parses to calculate fold levels, which eliminates async parsing performance in the highlighter. **Solution:** Migrate the `foldexpr` to also calculate and apply fold levels asynchronously.
* fix(lsp): minimum height for floating popup #31990Xuyuan Pang2025-01-13
| | | | | | | | | Problem: The floating window for hover and signature help always cuts off a few lines, because the `_make_floating_popup_size` function counts empty lines as having zero height. Solution: Ensure the height is at least 1.
* fix(options): better handling of empty valuesLewis Russell2025-01-13
| | | | | | | | | | | | | | | Problem: Whether an option is allowed to be empty isn't well defined and isn't properly checked. Solution: - For non-list string options, explicitly check the option value if it is empty. - Annotate non-list string options that can accept an empty value. - Adjust command completion to ignore the empty value. - Render values in Lua meta files
* feat(messages): "verbose" message kind #31991luukvbaal2025-01-13
|
* feat: add vim.fs.relpathdundargoc2025-01-13
| | | | | This is needed to replace the nvim-lspconfig function is_descendant that some lspconfg configurations still use.
* feat(treesitter)!: don't parse tree in get_parser() or start()Riley Bruins2025-01-12
| | | | | | | | | | **Problem:** `vim.treesitter.get_parser()` and `vim.treesitter.start()` both parse the tree before returning it. This is problematic because if this is a sync parse, it will stall the editor on large files. If it is an async parse, the functions return stale trees. **Solution:** Remove this parsing side effect and leave it to the user to parse the returned trees, either synchronously or asynchronously.
* feat(treesitter): async parsingRiley Bruins2025-01-12
| | | | | | | | | | | | **Problem:** Parsing can be slow for large files, and it is a blocking operation which can be disruptive and annoying. **Solution:** Provide a function for asynchronous parsing, which accepts a callback to be run after parsing completes. Co-authored-by: Lewis Russell <lewis6991@gmail.com> Co-authored-by: Luuk van Baal <luukvbaal@gmail.com> Co-authored-by: VanaIgr <vanaigranov@gmail.com>
* perf(treesitter): cache queries stronglyRiley Bruins2025-01-12
| | | | | | | | | | **Problem:** Query parsing uses a weak cache which is invalidated frequently **Solution:** Make the cache strong, and invalidate it manually when necessary (that is, when `rtp` is changed or `query.set()` is called) Co-authored-by: Christian Clason <c.clason@uni-graz.at>
* vim-patch:9.1.1007: filetype: various ignore are not recognizedChristian Clason2025-01-12
| | | | | | | | | | | | | | | Problem: filetype: various ignore are not recognized Solution: detect rg/docker/npm/vvsce ignore files as 'gitgnore' filetype (Wu, Zhenyu) Not only prettier, but many programs also support ignore files (like rg, docker, npm, vscode). So use the gitignore filetype for them due to same syntax closes: vim/vim#16428 https://github.com/vim/vim/commit/8cbe2e0a0a78f57bb545a97695bfedd6a95e6992 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:partial:9598a63: runtime(doc): add package-<name> helptags for ↵zeertzjq2025-01-12
| | | | | | | | | | | | included packages (#31972) Improve how to find the justify package closes: vim/vim#16420 https://github.com/vim/vim/commit/9598a6369bce32d3da831e8968caf4625985ac3c Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Peter Benjamin <petermbenjamin@gmail.com>
* feat(diagnostic)!: filter diagnostics by severity before passing to handlers ↵Gregory Anders2025-01-11
| | | | | | | | | | | | | (#30070) BREAKING CHANGE: This changes the list of diagnostics that are passed to a diagnostic handler. If a handler is already filtering by severity itself then this won't break anything, since the handler's filtering will become a no-op. But handlers which depend on receiving the full list of diagnostics may break. Note that diagnostics are only filtered if the handler's configuration has the `severity` option set. If `severity` is not set, the handler still receives the full list of diagnostics.
* vim-patch:668e9f2: runtime(filetype): don't detect string interpolation as ↵Christian Clason2025-01-11
| | | | | | | | | | angular fixes: vim/vim#16375 https://github.com/vim/vim/commit/668e9f24037fc7c362ffdf5fc1d5c5b1a8b0e855 Co-authored-by: Christian Brabandt <cb@256bit.org>
* docs: miscdundargoc2025-01-11
| | | | | | | | | | | | | | | Co-authored-by: Axel <axelhjq@gmail.com> Co-authored-by: Colin Kennedy <colinvfx@gmail.com> Co-authored-by: Daiki Noda <sys9kdr@users.noreply.github.com> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: Jean-Jacq du Plessis <1030058+jj-du-plessis@users.noreply.github.com> Co-authored-by: Juan Giordana <juangiordana@gmail.com> Co-authored-by: Lincoln Wallace <locnnil0@gmail.com> Co-authored-by: Matti Hellström <hellstrom@scm.com> Co-authored-by: Steven Locorotondo <steven.locorotondo@justeattakeaway.com> Co-authored-by: Yochem van Rosmalen <git@yochem.nl> Co-authored-by: glepnir <glephunter@gmail.com> Co-authored-by: ifish <fishioon@live.com>
* vim-patch:695522d: runtime(vim): Update base-syntax, highlight literal ↵zeertzjq2025-01-11
| | | | | | | | | | | | | string quote escape (#31957) Match the '' escape sequence in literal strings. These were previously ending the current string and starting another concatenated literal string. closes: vim/vim#16415 https://github.com/vim/vim/commit/695522dea3703cf1b4cd4a894ca9a745a0d2756f Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:51754c8: runtime(editorconfig): set omnifunc to syntaxcomplete funcChristian Clason2025-01-11
| | | | | | | | closes: vim/vim#16419 https://github.com/vim/vim/commit/51754c8a498c39592250a077f56db89dd261995d Co-authored-by: Yochem van Rosmalen <git@yochem.nl>