aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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>
* | vim-patch:9.1.1015: Coverity complains about dereferencing NULL value (#32020)zeertzjq2025-01-15
| | | | | | | | | | | | | | | | | | | | Problem: Coverity complains about dereferencing NULL value Solution: Check that cms2 is not null closes: vim/vim#16438 https://github.com/vim/vim/commit/1ac53b84ada3a992f320566737e66fa00d48611f Co-authored-by: Christian Brabandt <cb@256bit.org>
* | 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
| |
* | Merge pull request #31932 from bfredl/termtabbfredl2025-01-14
|\ \ | | | | | | fix(getchar): do not simplify keycodes in terminal mode
| * | fix(getchar): do not simplify keycodes in terminal modebfredl2025-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code represents a useful pattern in normal mode where remapping `<tab>` will implicitly also remap `<c-i>` unless you remap that explicitly. This relies on the _unmapped_ behavior being identical which is not true in terminal mode, as vterm can distinguish these keys. Vim seems to entangle this with kitty keyboard mode detection which is irrelevant for us. Conditional fallbacks depending on keyboard mode could be done completely inside `vterm/` without getchar.c getting involved, I would think.
* | | 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>
* | | refactor(options): remove code for multitype optionsFamiu Haque2025-01-14
| | | | | | | | | | | | | | | | | | Problem: It was decided on Matrix chat that multitype options won't be necessary for Neovim options, and that options should only have a single canonical type. Therefore the code for supporting multitype options is unnecessary. Solution: Remove the additional code that's used to provide multitype option support.
* | | 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(treesitter): uv_dlclose after uv_dlerrorHorror Proton2025-01-14
| | |
* | | build(deps): bump luajit to HEAD - a4f56a459Christian Clason2025-01-14
| |/ |/|
* | 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
| |
* | refactor: delete duplicate utf8-functionalitydundargoc2025-01-13
| | | | | | | | | | | | | | | | | | | | | | | | Also remove British National Replacement Character Set. We keep the DEC Special Graphics and ASCII despite it not being unicode as some old software such as calcurse still rely on this functionality. References: - https://github.com/neovim/neovim/pull/31934#discussion_r1911046426 - https://en.wikipedia.org/wiki/DEC_Special_Graphics - https://vt100.net/docs/vt220-rm/chapter2.html#S2.4.3
* | feat: add vim.fs.relpathdundargoc2025-01-13
| | | | | | | | | | This is needed to replace the nvim-lspconfig function is_descendant that some lspconfg configurations still use.
* | test: use temp file #31907Guilherme Soares2025-01-13
| |
* | vim-patch:9.1.1011: popupmenu internal error with some abbr in completion ↵zeertzjq2025-01-13
| | | | | | | | | | | | | | | | | | | | | | | | item (#31988) Problem: Popup menu internal error with some abbr in completion item. Solution: Don't compute attributes when there is no corresponding text. Reduce indent in pum_redraw() while at it (zeertzjq). fixes: vim/vim#16427 closes: vim/vim#16435 https://github.com/vim/vim/commit/3a0cc36c69744a7727ce34311d39d2d9d8ddc6f9
* | Merge pull request #31631 from ribru17/async_parse_attempt_2Lewis Russell2025-01-13
|\ \ | | | | | | feat(treesitter): async parsing
| * | 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>
* | | build(deps): bump tree-sitter to v0.24.7Christian Clason2025-01-12
|/ /
* | 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>
* | build(deps): bump wasmtime to v25.0.3Christian Clason2025-01-12
| |
* | 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:9.1.1003: [security]: heap-buffer-overflow with visual mode (#31971)zeertzjq2025-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: [security]: heap-buffer-overflow with visual mode when using :all, causing Vim trying to access beyond end-of-line (gandalf) Solution: Reset visual mode on :all, validate position in gchar_pos() and charwise_block_prep() This fixes CVE-2025-22134 Github Advisory: https://github.com/vim/vim/security/advisories/GHSA-5rgf-26wj-48v8 https://github.com/vim/vim/commit/c9a1e257f1630a0866447e53a564f7ff96a80ead Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.1.1005: completion text is highlighted even with no pattern ↵zeertzjq2025-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | found (#31973) Problem: completion text is highlighted even with no pattern found Solution: use ins_compl_leader_len() instead of checking compl_leader.length (glepnir) closes: vim/vim#16422 https://github.com/vim/vim/commit/9fddb8ae770be3e16545dd4c2f4cfaad8f62cb40 Co-authored-by: glepnir <glephunter@gmail.com>
* | 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:9.1.1001: ComplMatchIns highlight hard to read on light background ↵zeertzjq2025-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (#31958) Problem: ComplMatchIns highlight hard to read on light background (after v9.1.0996) Solution: define the highlighting group cleared, it should be configured in colorschemes separately (glepnir) closes: vim/vim#16414 https://github.com/vim/vim/commit/ad409876d9cf7e565f99c5e21b9e2e400a83a4d4 Co-authored-by: glepnir <glephunter@gmail.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:9.1.0996: ComplMatchIns may highlight wrong text (#31931)glepnir2025-01-10
| | | | | | | | | | | | | | | | | | | | Problem: ComplMatchIns may highlight wrong text Solution: don't highlight in case of fuzzy match, skip-highlight when not inserting anything (glepnir) closes: vim/vim#16404 https://github.com/vim/vim/commit/e890887b8052561ac5f8dce218e578ed28599cc6
* | 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>
* | fix(treesitter): don't return error message on success #31955Guilherme Soares2025-01-10
| | | | | | | | | | | | | | | | Problem: The `vim.treesitter.language.add` function returns a error message even when it succeeds. Solution: Don't return error message on success.
* | fix(messages): attaching/detaching ext_messages causes asserts #31952luukvbaal2025-01-10
| | | | | | | | | | | | | | | | | | Problem: Assert hit related to message kind, which is reset after a ext_messages UI is forcibly detached, so the assertion is expectedly false. Assert hit related to message grid variables after an ext_messages UI attaches while message grid is scrolled. Solution: Don't check message kind assertion if no ext_messages UI is attached. Flush message grid when first/last ext_messages UI attaches/detaches.
* | refactor(treesitter.foldexpr): remove unused parse_injections parameterRiley Bruins2025-01-10
| |
* | refactor(api): deprecate nvim_notify #31938Justin M. Keyes2025-01-10
| | | | | | | | | | | | | | | | | | | | Problem: The `nvim_notify` API (note: unrelated to `vim.notify()` Lua API) was not given any real motivation in https://github.com/neovim/neovim/pull/13843 There are, and were, idiomatic and ergonomic alternatives already. Solution: Deprecate `nvim_notify`.
* | vim-patch:df4a7d7: runtime(tiasm): use correct syntax name tiasm in syntax ↵zeertzjq2025-01-10
| | | | | | | | | | | | | | | | | | | | | | script (#31942) vim-patch:df4a7d7: runtime(tiasm): use correct syntax name tiasm in syntax script closes: vim/vim#16416 https://github.com/vim/vim/commit/df4a7d761740d59a4f911c9e13ac620a459cdea6 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* | fix(decor): set invalid flag for end of invalidated paired marksLuuk van Baal2025-01-10
| |
* | vim-patch:9.1.1000: tests: ruby tests fail with Ruby 3.4 (#31940)zeertzjq2025-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: tests: ruby tests fail with Ruby 3.4 Solution: adjust expected output for Ruby 3.4 (Yee Cheng Chin) Vim's Ruby tests relied on explicit matching of output texts which are fragile in design. Ruby 3.4 has changed the output slightly (using 'name' instead of `name', and also using more spaces in dictionary printouts). Modify the Vim tests to be less fragile to such changes. closes: vim/vim#16411 https://github.com/vim/vim/commit/ebea31e454b9a1731cde845226f2c28ca5c097b1 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>