aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | 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>
| * | | docs(gh): use new issue typesChristian Clason2025-01-17
| | |/ | |/|
| * | refactor(cmdline): more idiomatic way to avoid cmdline_showLuuk van Baal2025-01-17
| | | | | | | | | | | | | | | Problem: Fix applied in #32033 can be more idiomatic. Solution: Unset redraw_state instead of cmdbuff.
| * | 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.1021: string might be used without a trailing NUL (#32062)zeertzjq2025-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: string might be used without a trailing NUL (after v9.1.0997) Solution: Make sure that the buffer is NUL terminated closes: vim/vim#16457 https://github.com/vim/vim/commit/70dfc374ec72634a0a61aea8344178779675d516 Co-authored-by: John Marriott <basilisk@internode.on.net>
| * | 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
| | * | test: use esc sequences in vterm unit testsGregory Anders2025-01-16
| | | |
| | * | 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
| * | | Merge pull request #32051 from zeertzjq/vim-9.1.1013zeertzjq2025-01-16
| |\ \ \ | | | | | | | | | | vim-patch:9.1.{1013,1017}
| | * | | vim-patch:9.1.1017: Vim9: Patch 9.1.1013 causes a few problemszeertzjq2025-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Vim9: Patch 9.1.1013 causes a few problems Solution: Translate the function name only when it is a string (Yegappan Lakshmanan) fixes: vim/vim#16453 closes: vim/vim#16450 https://github.com/vim/vim/commit/9904cbca4132f7376246a1a31305eb53e9530023 Cherry-pick call() change from patch 9.0.0345. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| | * | | vim-patch:9.1.1013: Vim9: Regression caused by patch v9.1.0646zeertzjq2025-01-16
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Vim9: Regression caused by patch v9.1.0646 Solution: Translate the function name before invoking it in call() (Yegappan Lakshmanan) fixes: vim/vim#16430 closes: vim/vim#16445 https://github.com/vim/vim/commit/6289f9159102e0855bedc566636b5e7ca6ced72c N/A patch: vim-patch:8.2.4176: Vim9: cannot use imported function with call() Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | | vim-patch:9.1.1018: v9.1.0743 causes regression with diff mode (#32047)zeertzjq2025-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: v9.1.0743 causes regression with diff mode Solution: Fix the regression with overlapping regions closes: vim/vim#16454 https://github.com/vim/vim/commit/01f6509fb2de1627cc4ec2c109cd0aa2e3346d50 Co-authored-by: Yukihiro Nakadaira <yukihiro.nakadaira@gmail.com>
| * | | 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>
| * | | build(deps): bump libuv to v1.50.0Christian Clason2025-01-15
| | | |
| * | | build: fix lint error on macosdundargoc2025-01-15
| |/ /
| * | fix(cmdline): prevent cmdline_show events after exiting cmdline #32033luukvbaal2025-01-15
| | | | | | | | | | | | | | | | | | Problem: If a (vim.ui_attach) cmdline_hide callback triggers a redraw, it may cause cmdline_show events for an already exited cmdline. Solution: Avoid emitting cmdline_show event when ccline.cmdbuff is already NULL. Unset ccline.cmdbuff before emitting cmdline_hide.
| * | fix(marks): revise metadata for start mark of revalidated pair #32017luukvbaal2025-01-15
| | | | | | | | | | | | Problem: Metadata may be revised for end mark of a revalidated pair. Solution: Revise metadata for start mark of a revalidated pair.
| * | 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
| |\ \
| | * | fix(messages): verbose kind for nvim_echo()Luuk van Baal2025-01-15
| | | | | | | | | | | | | | | | | | | | Problem: No "verbose" kind for nvim_echo() opts->verbose. Solution: Pass NULL "kind" to indicate no new kind.
| | * | 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>
| * | | | 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
| | | |