aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | | | vim-patch:2d88210: runtime(kdl): include syntax, indent and ftplugin filesChristian Clason2024-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closes: vim/vim#14956 https://github.com/vim/vim/commit/2d88210b3c8516c30ed104054e5cdaef67880755 Co-authored-by: inzuo Jiang <jiangyinzuo@foxmail.com> Co-authored-by: Aram Drevekenin <aram@poor.dev>
* | | | vim-patch:b8076f9: runtime(deb822sources): add missing Enabled field in ↵Christian Clason2024-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | syntax script closes: vim/vim#14898 It lacks the support of Enabled: boolean option field [1]: e.g. Types: deb Uris: https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/ Components: main Suites: vscodium Architectures: amd64 i386 arm64 armhf Enabled: yes Signed-By: /var/lib/extrepo/keys/vscodium.asc This patch was also forwarded to upstream. [2] [1] https://manpages.debian.org/unstable/apt/sources.list.5.en.html#DEB822-STYLE_FORMAT [2] https://salsa.debian.org/vim-team/vim-debian/-/merge_requests/16 https://github.com/vim/vim/commit/b8076f92a1a1a12101ab8288e9e173e687afecff Co-authored-by: Kentaro Hayashi <kenhys@gmail.com>
* | | | vim-patch:7e9a1a7: runtime(svelte): basic svelte ftplugin fileChristian Clason2024-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closes: vim/vim#14949 https://github.com/vim/vim/commit/7e9a1a75b80c73b1dbe83adb69c9708aa2f0bc4d Co-authored-by: Igor <igorlfs@ufmg.br>
* | | | refactor(lua): improve type annotationsLewis Russell2024-06-11
|/ / /
* | | Merge pull request #29272 from luukvbaal/signcolbfredl2024-06-11
|\ \ \ | |_|/ |/| | fix(column): clamp line number for legacy signs
| * | fix(column): clamp line number for legacy signsLuuk van Baal2024-06-10
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Legacy :sign API still allows placing signs beyond the end of the buffer. This is unaccounted for by the signcolumn tracking logic and is disallowed in general for the extmark API which implements it now. Solution: Clamp legacy sign line number to the length of the buffer.
* | | fix(lsp): do not reset buf version when detaching client (#29242)Ilia Choly2024-06-10
|/ /
* | Merge #29238 from clason/feat/help-tocJustin M. Keyes2024-06-10
|\ \
| * | docs: fix more treesitter parsing errorsChristian Clason2024-06-09
| | |
| * | feat(help): use treesitter for table of contentsChristian Clason2024-06-09
| | | | | | | | | | | | | | | | | | Problem: Creating the table of contents for `gO` is complicated. Solution: Use treesitter instead.
| * | build(deps): bump tree-sitter-vimdoc to v3.0.0Christian Clason2024-06-08
| | |
* | | fix(glob): handle overlapping `{}` condition elements #29236Jon Huhn2024-06-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes an issue where glob patterns like `{a,ab}` would not match `ab` because the first option `a` matches, then the end of the string is expected but `b` is found, and LPeg does not backtrack to try the next option `ab` which would match. The fix here is to also append the rest of the pattern to the generated LPeg pattern for each option. This changes a glob `{a,ab}` from being parsed as ("a" or "ab") "end of string" to ("a" "end of string" or "ab" "end of string") Here, matching against `ab` would try the first option, fail to match, then proceed to the next option, and match. The sacrifice this change makes is dropping support for nested `{}` conditions, which VSCode doesn't seem to support or test AFAICT. Fixes #28931 Co-authored-by: Sergey Slipchenko <faergeek@gmail.com>
* | | fix(api): allow `scope = 'local'` with `buf` when using `nvim_get_option_value`dundargoc2024-06-10
| | | | | | | | | | | | | | | | | | | | | | | | `nvim_get_option_value` throws a warning if both `scope` and `buf` options are used at the same time. This is because using `buf` always implies `scope` is local, and is therefore not needed. There's however no need to error if `scope` is already set "local" as it's the correct value.
* | | feat(lsp): include end_col, end_lnum in vim.lsp.buf.locations_to_items #29164Tom Praschan2024-06-09
| | |
* | | vim-patch:9c4389a: runtime(doc): Fix small style issues (#29263)zeertzjq2024-06-10
| | | | | | | | | | | | | | | | | | | | | closes: vim/vim#14942 https://github.com/vim/vim/commit/9c4389acc307943a2cd754ecbec3834810d152e4 Co-authored-by: h-east <h.east.727@gmail.com>
* | | vim-patch:9.1.0472: Inconsistencies between functions for option flags (#29262)zeertzjq2024-06-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Inconsistencies between functions for option flags. Solution: Consistently use "unsigned int" as return type and rename get_bkc_value() to get_bkc_flags() (zeertzjq). closes: vim/vim#14925 https://github.com/vim/vim/commit/aa925eeb97bd294d4a5253a3194949a37cbc8365
* | | vim-patch:d6b4afb: runtime(java): Exclude lambda expressions from _when_ ↵Christian Clason2024-06-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _switch-case_ label clauses (vim/vim#14945) These guard clauses are always boolean expressions, whereas lambda expressions can only appear in either an assignment, a casting, or an invocation context. References: https://docs.oracle.com/javase/specs/jls/se21/html/jls-14.html#jls-14.11.1 https://docs.oracle.com/javase/specs/jls/se21/html/jls-15.html#jls-15.27 https://github.com/vim/vim/commit/d6b4afb636aed7eaf709eb27c4944a1263a0f887 Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
* | | fix(runtime): add commentstring for glsl ftpluginSamuel Born2024-06-09
| | |
* | | Merge pull request #29248 from bfredl/dynamic_kvecbfredl2024-06-09
|\ \ \ | | | | | | | | refactor(os/shell): we have DynamicBuffer at home
| * | | refactor(os/shell): we have DynamicBuffer at homebfredl2024-06-09
|/ / / | | | | | | | | | DynamicBuffer at home: KVÄCK
* | | Merge pull request #29141 from bfredl/rstream2bfredl2024-06-09
|\ \ \ | | | | | | | | refactor(io): make rstream use a linear buffer
| * | | refactor(io): make rstream use a linear bufferbfredl2024-06-08
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | If you like it you shouldn't put a ring on it. This is what _every_ consumer of RStream used anyway, either by calling rbuffer_reset, or rbuffer_consumed_compact (same as rbuffer_reset without needing a scratch buffer), or by consuming everything in each stream_read_cb call directly.
* / / feat(lua): add `vim._with`dundargoc2024-06-08
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's a function to perform operations in their own sealed context, similar to pythons `with`. This helps ease operations where you need to perform an operation in a specific context, and then restore the context. Marked as private for now as it's not ready for public use. The current plan is to start using this internally so we can discover and fix any problems. Once this is ready to be exposed it will be renamed to `vim.with`. Usage: ```lua local ret = vim._with({context = val}, function() return "hello" end) ``` , where `context` is any combination of: - `buf` - `emsg_silent` - `hide` - `horizontal` - `keepalt` - `keepjumps` - `keepmarks` - `keeppatterns` - `lockmarks` - `noautocmd` - `options` - `sandbox` - `silent` - `unsilent` - `win` (except for `win` and `buf` which can't be used at the same time). This list will most likely be expanded in the future. Work on https://github.com/neovim/neovim/issues/19832. Co-authored-by: Lewis Russell <lewis6991@gmail.com>
* | refactor: quadratic behavior in vim_findfile_stopdir (#29232)James2024-06-08
| | | | | | Copies characters in-places instead. Related #27827
* | fix(man): filter OSC 8 hyperlink markup #29171Lennard Hofmann2024-06-07
| | | | | | | | | | Problem: `man cmake` shows "8;;https://cmake.orghttps://cmake.org8;;" Solution: Remove noise so that it shows as "https://cmake.org". See also: https://en.wikipedia.org/wiki/ANSI_escape_code#OSC
* | feat: get/set namespace properties #28728altermo2024-06-07
| | | | | | | | ref https://github.com/neovim/neovim/pull/28432 ref https://github.com/neovim/neovim/issues/28469
* | fix(lsp): fix reverse sorting of same position text edits (#29212)Al Colmenar2024-06-07
| | | | | | | | | | | | | | | | Problem: Text edits with the same position (both line and character) were being reverse sorted prior to being applied which differs from the lsp spec Solution: Change the sort order for just the same position edits
* | fix(lsp): revert buf_versions deprecation/replacement (#29217)Mathias Fußenegger2024-06-07
| | | | | | | | | | | | | | | | | | * Revert "fix(lsp): account for changedtick version gap on modified reset (#29170)" This reverts commit 2e6d295f799c27372e5c0c44727fa613c81717fd. * Revert "refactor(lsp): replace util.buf_versions with changedtick (#28943)" This reverts commit 5c33815448e11b514678f39cecc74e68131d4628.
* | revert(commitlint): stop ignoring "fixup" commits (#29184)dundargoc2024-06-07
| | | | | | | | | | | | | | | | This reverts 2875d45e79b80878af45c91702914f4f0d0e3dca. Allowing lintcommit to ignore "fixup" makes it too easy to fixup commits to be merged on master as the CI won't give any indications that something is wrong. Contributors can always squash their pull requests if it annoys them too much.
* | docs: misc (#28837)dundargoc2024-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: Danymat <d.danymat@gmail.com> Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: Jakub Okoński <jakub@okonski.org> Co-authored-by: John L. Villalovos <john@sodarock.com> Co-authored-by: Maria José Solano <majosolano99@gmail.com> Co-authored-by: Michaili K <git@michaili.dev> Co-authored-by: TheLeoP <eugenio2305@hotmail.com> Co-authored-by: Tobias Schmitz <tobiasschmitz2001@gmail.com> Co-authored-by: W20MC <157727813+W20MC@users.noreply.github.com> Co-authored-by: Will Hopkins <willothyh@gmail.com> Co-authored-by: Yifan Hu <141280278+b0ae989c@users.noreply.github.com> Co-authored-by: glepnir <glephunter@gmail.com> Co-authored-by: prljav <74116121+prljav@users.noreply.github.com>
* | vim-patch:ce47d32: runtime(cpp): Change 'cms' for C++ to '// %s'Christian Clason2024-06-07
| | | | | | | | | | | | | | | | | | fixes: vim/vim#14911 closes: vim/vim#14926 https://github.com/vim/vim/commit/ce47d32b03bb7df0100b2625ef68fad1eb4646e3 Co-authored-by: Luc Hermitte <luc.hermitte@csgroup.eu>
* | feat(editorconfig): add support for spelling_language (#28638)sus-domesticus2024-06-06
| |
* | Merge pull request #29221 from bfredl/filebuffixbfredl2024-06-06
|\ \ | | | | | | fix(fileio): copy to correct buffer position when reading
| * | fix(fileio): copy to correct buffer position when readingbfredl2024-06-06
|/ / | | | | | | | | | | fixes #29186 (likely) fixup for #29093 064483a2b
* | vim-patch:92f4e91: runtime(vim): Update base-syntax, allow whitespace before ↵zeertzjq2024-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :substitute pattern (#29210) Allow whitespace between the :substitute command and its pattern argument. Although unusual, it is supported and there are examples in the wild. Match Vi compatible :substitute commands like :s\/{string}/. See :help E1270. fixes: vim/vim#14920 closes: vim/vim#14923 https://github.com/vim/vim/commit/92f4e915908962da2c1969a8d60f1563e06ee00e Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* | Merge pull request #29209 from zeertzjq/vim-9.1.0467zeertzjq2024-06-06
|\ \ | | | | | | vim-patch:9.1.{0467,0469}
| * | vim-patch:9.1.0469: Cannot have buffer-local value for 'completeopt'zeertzjq2024-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot have buffer-local value for 'completeopt' (Nick Jensen). Solution: Make 'completeopt' global-local (zeertzjq). Also for some reason test Test_ColonEight_MultiByte seems to be failing sporadically now. Let's mark it as flaky. fixes: vim/vim#5487 closes: vim/vim#14922 https://github.com/vim/vim/commit/529b9ad62a0e843ee56ef609aef7e51b7dc8a4c8
| * | vim-patch:9.1.0467: typos in some commentszeertzjq2024-06-06
|/ / | | | | | | | | | | | | | | | | | | | | Problem: typos in some comments (after v9.1.0466) Solution: fix comments (zeertzjq) closes: vim/vim#14919 https://github.com/vim/vim/commit/551d8c372e49ed630fd95c6422a0ee62d00902c5
* | fix(tui): move $COLORTERM check to _defaults.lua (#29197)Gregory Anders2024-06-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently check $COLORTERM in the TUI process to determine if the terminal supports 24 bit color (truecolor). If $COLORTERM is "truecolor" or "24bit" then we automatically assume that the terminal supports truecolor, but if $COLORTERM is set to any other value we still query the terminal. The `rgb` flag of the UI struct is a boolean which only indicates whether the UI supports truecolor, but does not have a 3rd state that we can use to represent "we don't know if the UI supports truecolor". We currently use `rgb=false` to represent this "we don't know" state, and we use XTGETTCAP and DECRQSS queries to determine at runtime if the terminal supports truecolor. However, if $COLORTERM is set to a value besides "truecolor" or "24bit" (e.g. "256" or "16) that is a clear indication that the terminal _does not_ support truecolor, so it is incorrect to treat `rgb=false` as "we don't know" in that case. Instead, in the TUI process we only check for the terminfo capabilities. This must be done in the TUI process because we do not have access to this information in the core Neovim process when `_defaults.lua` runs. If the TUI cannot determine truecolor support from terminfo alone, we set `rgb=false` to indicate "we don't know if the terminal supports truecolor yet, keep checking". When we get to `_defaults.lua`, we can then check $COLORTERM and only query the terminal if it is unset. This means that users can explicitly opt out of truecolor determination by setting `COLORTERM=256` (or similar) in their environment.
* | fix(lua): don't clamp -1 or v:maxcol in vim.highlight.range() (#29203)zeertzjq2024-06-05
| |
* | Merge pull request #29200 from zeertzjq/vim-9.1.0463zeertzjq2024-06-05
|\ \ | | | | | | vim-patch:9.1.{0463,0466}
| * | vim-patch:9.1.0466: Missing comments for fuzzy completionzeertzjq2024-06-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Missing comments for fuzzy completion (after 9.1.0463) Solution: Add more comments, adjust indentation slightly (glepnir) closes: vim/vim#14910 https://github.com/vim/vim/commit/dca57fb54200530a0874c90fab799a689c00c597 Co-authored-by: glepnir <glephunter@gmail.com>
| * | vim-patch:2a2c4ff: runtime(doc): clarify how fuzzy 'completeopt' should workzeertzjq2024-06-05
| | | | | | | | | | | | | | | | | | | | | | | | related: vim/vim#14912 https://github.com/vim/vim/commit/2a2c4fffd7e04f74b316209404767f128684a9e1 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | vim-patch:9.1.0463: no fuzzy-matching support for insert-completionzeertzjq2024-06-05
|/ / | | | | | | | | | | | | | | | | | | | | | | Problem: no fuzzy-matching support for insert-completion Solution: enable insert-mode completion with fuzzy-matching using :set completopt+=fuzzy (glepnir). closes: vim/vim#14878 https://github.com/vim/vim/commit/a218cc6cdabae1113647b817c4eefc2b60a6902f Co-authored-by: glepnir <glephunter@gmail.com>
* | fix(diagnostic): fix float scope filtering (#29134)Andre Toerien2024-06-04
| |
* | vim-patch:98b73eb: runtime(netrw): prevent accidental data lossChristian Clason2024-06-04
| | | | | | | | | | | | | | | | fixes: vim/vim#14915 https://github.com/vim/vim/commit/98b73eb645b68b6e197b63bbbae777b388d47612 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | fix(lsp): check if buffer is valid before LspDetach autocmd (#29162)Saltaformajo2024-06-04
| |
* | fix(lsp): remove superfluous on_detach callback from semantic tokens module ↵jdrouhard2024-06-04
| | | | | | | | | | | | | | | | | | | | | | | | (#29174) LspDetach is now triggered by the main on_detach callback that is added when an LSP client is attached to a buffer. The semantic_tokens module already includes a LspDetach handler that does the right thing. When the LspDetach trigger was added to the main LSP on_detach, it created a race condition in semantic tokens when a buffer was deleted that would trigger both its own on_detach and the LspDetach handlers. If the former came last, an error was thrown trying to delete a non-existent augroup (destroy() was being called twice).
* | fix(lsp): account for changedtick version gap on modified reset (#29170)Mathias Fußenegger2024-06-04
| | | | | | | | Follow up to https://github.com/neovim/neovim/pull/28943 Fixes https://github.com/neovim/neovim/issues/29163
* | fix(ui): superfluous showmode / excessive grid_cursor_goto #29089luukvbaal2024-06-04
| | | | | | | | | | | | | | | | | | Problem: Unsetting global variables earlier in #28578 to avoid recursiveness, caused superfluous or even unlimited showmode(). Solution: Partly revert #28578 so that the globals are unset at the end of showmode(), and avoid recursiveness for ext UI by adding a recursive function guard to each generated UI call that may call a Lua callback.