aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
...
| * refactor(lsp): move client code to a regular Lua classLewis Russell2024-02-07
| | | | | | | | | | | | | | | | | | | | Problem: The LSP client code is implemented as a complicated closure-class (class defined in a single function). Solution: Move LSP client code to a more conventional Lua class and move to a separate file.
| * feat(treesitter): show root nodes in :InspectTree (#26944)altermo2024-02-06
| | | | | | | | Co-authored-by: altermo <> Co-authored-by: Jongwook Choi <wookayin@gmail.com>
| * fix(doc): prevent doxygen confusionLewis Russell2024-02-06
| |
| * fix(lsp): send back diagnostic tags to the serverLewis Russell2024-02-06
| | | | | | | | Fixes: #27318
| * docs: small fixes (#27213)dundargoc2024-02-06
| | | | | | Co-authored-by: Matthieu Coudron <886074+teto@users.noreply.github.com>
| * vim-patch:f7f33e3719c8Christian Clason2024-02-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(dosbatch): improve '::' comment highlighting Added a syntax region for command blocks so that the highlighting of `::` comments in them can be controlled. The `dosbatch_colons_comment` variable now controls if all `::` comments in a code block are highlighted as comments or errors. A `::` comment at the end of a command block is always highlighted as an error. This re-enables the highlighting of `::` comments in `.bat` files as requested in vim/vim#13666, while allowing control of highlighting them in command blocks requested in vim/vim#11778 and first attempted in vim/vim#11980. related: vim/vim#11980 fixes: vim/vim#13666 https://github.com/vim/vim/commit/f7f33e3719c87279dfad109b874e2817007a1184 Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Mike Williams <mikew@globalgraphics.com>
| * feat(treesitter): use 0-based indexing to show ranges in `:InspectTree`Jongwook Choi2024-02-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: - `:InspectTree` was showing node ranges in 1-based indexing, i.e., in vim cursor position (lnum, col). However, treesitter API adopts 0-based indexing to represent ranges (Range4). This can often be confusing for developers and plugin authors when debugging code written with treesiter APIs. Solution: - Change to 0-based indexing from 1-based indexing to show node ranges in `:InspectTree`. - Note: To make things not complicated, we do not provide an option or keymap to configure which indexing mode to use.
| * fix(lsp): handle adjacent snippet tabstopsMaria José Solano2024-02-05
| |
| * Merge pull request #27328 from wookayin/fix/lsp-tagfuncLewis Russell2024-02-05
| |\
| | * fix(lsp): fix infinite loop on vim.lsp.tagfuncJongwook Choi2024-02-03
| | | | | | | | | | | | | | | | | | | | | | | | Problem: vim.lsp.tagfunc() causes an infinite loop. This is a bug happened while introducing deferred loading. Solution: Rename the private module to `vim.lsp._tagfunc`.
| * | fix(treesitter): inspect-tree remember opts on buf changealtermo2024-02-04
| | |
| * | vim-patch:9.1.0076: luau config file not detectedChristian Clason2024-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: luau config file not detected (lopy) Solution: Detect it as jsonc (lopy) fixes: vim/vim#13960 closes: vim/vim#13970 https://github.com/vim/vim/commit/de7f5bde6c598d4da4ce5b30328eb458962ba60a Co-authored-by: lopy <70210066+lopi-py@users.noreply.github.com>
| * | vim-patch:7c5aeaffa2be (#27327)zeertzjq2024-02-04
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Update syntax file (vim/vim#13969) Improve string interpolation highlighting. Use the vimSep group to highlight interpolation braces as vimOperParen has no highlighting of its own and employs vimSep via matchgroup. Add vimNumber to the interpolation group's contained list. https://github.com/vim/vim/commit/7c5aeaffa2bec8f16f36bd33a749a6e965d8ab30 Co-authored-by: dkearns <dougkearns@gmail.com>
| * refactor: create function for deferred loadingdundargoc2024-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The benefit of this is that users only pay for what they use. If e.g. only `vim.lsp.buf_get_clients()` is called then they don't need to load all modules under `vim.lsp` which could lead to significant startuptime saving. Also `vim.lsp.module` is a bit nicer to user compared to `require("vim.lsp.module")`. This isn't used for some nested modules such as `filetype` as it breaks tests with error messages such as "attempt to index field 'detect'". It's not entirely certain the reason for this, but it is likely it is due to filetype being precompiled which would imply deferred loading isn't needed for performance reasons.
| * fix(vim.system): don't process non-fast events during wait() (#27300)zeertzjq2024-02-02
| | | | | | | | | | | | | | | | Problem: Processing non-fast events during SystemObj:wait() may cause two pieces of code to interfere with each other, and is different from jobwait(). Solution: Don't process non-fast events during SystemObj:wait().
| * feat(quickfix): support -q - to read 'errorfile' from stdin (#27303)zeertzjq2024-02-02
| | | | | | Note that this only works when stdin is a pipe.
| * vim-patch:9204f39580bdChristian Clason2024-02-02
| | | | | | | | | | | | | | | | | | | | | | runtime(fortran): update syntax (vim/vim#13953) * runtime (Fortran) update syntax * runtime (Fortran) small fix https://github.com/vim/vim/commit/9204f39580bde807808b352df178fa02b5503a81 Co-authored-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
| * refactor(runtime): remove nvimMap and nvimUnmap syntax groups (#27298)zeertzjq2024-02-02
| | | | | | | | They are no longer needed as they are covered by vimMap and vimUnmap. Also fix some other mistakes and missing changes.
| * vim-patch:e3e3934bb182zeertzjq2024-02-02
| | | | | | | | | | | | | | | | | | | | runtime(vim): Update syntax file (vim/vim#13948) Improve string escape sequence and special key matching. https://github.com/vim/vim/commit/e3e3934bb18294b1a5636ed65299d3479f289a8e Co-authored-by: dkearns <dougkearns@gmail.com>
| * vim-patch:69866449ddb2zeertzjq2024-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Improve keymap file highlighting (vim/vim#13550) - Match :loadkeymap to EOF as a region and contain only allowed items. - Add highlighting for <Char- notation. - add basic syntax highlighting tests https://github.com/vim/vim/commit/69866449ddb20e329f4bc5250312fbfb4a773986 N/A patches: vim-patch:35928ee8f80ea721e92bb856c8ecde2cced46bb9 vim-patch:b5352931b354eb67eb7d223cc09c98dcf1b547b6 Co-authored-by: dkearns <dougkearns@gmail.com>
| * build: various fixesdundargoc2024-02-01
| | | | | | | | | | | | | | - Consistently use the variable CMAKE_BUILD_TYPE to select build type. - Remove broken `doc_html` target. - Remove swap files created by oldtest when cleaning. - Only rerun `lintdoc` if any documentation files has changed.
| * vim-patch:c46c21b4ca47Christian Clason2024-02-01
| | | | | | | | | | | | | | | | | | | | | | runtime(netrw): fixing remote file removal via ssh (vim/vim#13942) Make pattern, which retrieves the path component from e.g. `scp://user@host//opt/program/file.ext` non-greedy. https://github.com/vim/vim/commit/c46c21b4ca476c0846a410d7c4d8c6e3e930f167 Co-authored-by: MiguelBarro <45819833+MiguelBarro@users.noreply.github.com>
| * vim-patch:83f627ff42a3Christian Clason2024-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | runtime(racket): add missing space to b:undo_indent var (vim/vim#13945) This copies commit 2a4862a (fixup! indent: only reset some options when has vim9, 2024-01-31) from https://github.com/benknoble/vim-racket and fixes 26b0176a9 (runtime(racket): undo some indent options only when vim9script is available (vim/vim#13935), 2024-01-30). https://github.com/vim/vim/commit/83f627ff42a3da94db1299493b2cd1133c179850 Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
| * feat(api): make nvim_open_win support non-floating windows (#25550)Will Hopkins2024-02-01
| | | | | | | | Adds support to `nvim_open_win` and `nvim_win_set_config` for creating and manipulating split (non-floating) windows.
| * vim-patch:bdb9d9afba97Christian Clason2024-01-31
| | | | | | | | | | | | | | | | | | | | runtime(netrw): Use :exec norm! <leftmouse> before :call mapping in netrw (vim/vim#12180) fixes: vim/vim#12143 https://github.com/vim/vim/commit/bdb9d9afba9769b1cb9c0b320086142d99034c9a Co-authored-by: user202729 <25191436+user202729@users.noreply.github.com>
| * vim-patch:26b0176a98f8Christian Clason2024-01-31
| | | | | | | | | | | | | | | | | | | | | | runtime(racket): undo some indent options only when vim9script is available (vim/vim#13935) This copies commit 64edf95 (indent: only reset some options when has vim9, 2024-01-30) from https://github.com/benknoble/vim-racket. https://github.com/vim/vim/commit/26b0176a98f88acef840d7285e967859eb746c1c Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
| * Merge #27246 from justinmk/healthJustin M. Keyes2024-01-29
| |\
| | * fix(health): "attempt to concatenate nil"Justin M. Keyes2024-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: If `neovim` module is not installed, python and ruby healthchecks fail: - ERROR Failed to run healthcheck for "provider.python" plugin. Exception: .../runtime/lua/provider/python/health.lua:348: attempt to concatenate local 'pyname' (a nil value) - ERROR Failed to run healthcheck for "provider.ruby" plugin. Exception: .../runtime/lua/provider/ruby/health.lua:25: attempt to index local 'host' (a nil value) Solution: Check for non-nil.
| | * fix(health): check more "old" filesJustin M. Keyes2024-01-28
| | |
| * | vim-patch:9.1.0061: UX of visual highlighting can be improved (#27256)Evgeni Chasnovski2024-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: UX of visual highlighting can be improved Solution: Improve readibility of visual highlighting, by setting better foreground and background colors The default visual highlighting currently is nice in that it overlays the actual syntax highlighting by using a separate distinct background color. However, this can cause hard to read text, because the contrast between the actual syntax element and the background color is way too low. That is an issue, that has been bothering colorschemes authors for quite some time so much, that they are defining the Visual highlighting group to use a separate foreground and background color, so that the syntax highlighting vanishes, but the text remains readable (ref: vim/colorschemesvim/vim#250) So this is an attempt to perform the same fix for the default Visual highlighting and just use a default foreground and background color instead of using reverse. I also removed the hard-coded changes to the Visual highlighting in init_highlight. It's not quite clear to me, why those were there and not added directly to the highlighting_init_<dark|light> struct. closes: vim/vim#13663 related: vim/colorschemes#250 https://github.com/vim/vim/commit/e6d8b4662ddf9356da53f56e363b67b524fd8825 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | feat(api): add nvim_tabpage_set_win (#27222)Will Hopkins2024-01-29
| | | | | | | | | | | | Allows setting the current window of a non-current tabpage without switching tabpages.
| * | vim-patch:cf8695d48cddzeertzjq2024-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Highlight string interpolation closes: vim/vim#13923 https://github.com/vim/vim/commit/cf8695d48cdded63043430af5a84185e9614e84c Co-authored-by: thinca <thinca@gmail.com>
| * | vim-patch:21ce159e0561zeertzjq2024-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Update syntax and ftplugin files (vim/vim#13924) Improve matching of line-continuations and interspersed comments. These are now also matched in multiline syntax command patterns, dictionary literals, and parenthesised expressions and argument lists. https://github.com/vim/vim/commit/21ce159e05615fd139c564b734a4bffc9f3fdc4b Co-authored-by: dkearns <dougkearns@gmail.com>
| * | vim-patch:c79646dfb101zeertzjq2024-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Update syntax file (vim/vim#13671) Support multiline :syntax commands. Match :syn-cchar option in :syn-{keyword,region}. https://github.com/vim/vim/commit/c79646dfb10126f4ef22734d8713f2352197435e Co-authored-by: dkearns <dougkearns@gmail.com>
| * | vim-patch:71b6d3397649zeertzjq2024-01-29
| | | | | | | | | | | | | | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/71b6d3397649fed68ef587aa863fcbdf5fdb057a Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | feat(extmarks): subpriorities (relative to declaration order) (#27131)Gregory Anders2024-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "priority" field of extmarks can be used to set priorities of extmarks which dictates which highlight group a range will actually have when there are multiple extmarks applied. However, when multiple extmarks have the same priority, the only way to enforce an actual priority is through the order in which the extmarks are set. It is not always possible or desirable to set extmarks in a specific order, however, so we add a new "subpriority" field that explicitly enforces the ordering of extmarks that have the same priority. For now this will be used only to enforce priority of treesitter highlights. A single node in a treesitter tree may match multiple captures, in which case that node will have multiple extmarks set. The order in which captures are returned from the treesitter API is not _necessarily_ in the same order they are defined in a query file, so we use the new subpriority field to force that ordering. For now subpriorites are not documented and are not meant to be used by external code, and it only applies to ephemeral extmarks. We indicate the "private" nature of subpriorities by prefixing the field name with an "_".
| * | refactor(lsp): client_hints typo #27250Maria José Solano2024-01-28
| | |
| * | docs: enforce "treesitter" spelling #27110Jongwook Choi2024-01-28
| |/ | | | | It's the "tree-sitter" project, but "treesitter" in our code and docs.
| * vim-patch:9.1.0049: Make "[Command Line]" a special buffer nameSean Dewar2024-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: E95 is possible if a buffer called "[Command Line]" already exists when opening the cmdwin. This can also happen if the cmdwin's buffer could not be deleted when closing. Solution: Un-name the cmdwin buffer, and give it a special name instead, similar to what's done for quickfix buffers and for unnamed prompt and scratch buffers. As a result, BufFilePre/Post are no longer fired when opening the cmdwin. Add a "command" key to the dictionary returned by getbufinfo() to differentiate the cmdwin buffer instead. (Sean Dewar) Cherry-pick test_normal changes from v9.0.0954. https://github.com/vim/vim/commit/1fb41032060df09ca2640dc49541f11062f6dfaa
| * docs(lua): update ":{range}lua" docs + error message #27231Justin M. Keyes2024-01-27
| | | | | | | | | | - `:lua (no file)` is misleading because `:lua` never takes a file arg, unlike `:source`. - Update various related docs.
| * vim-patch:0cc6108fea21Christian Clason2024-01-27
| | | | | | | | | | | | | | | | | | | | | | | | runtime(ant): Update syntax file (vim/vim#13926) Remove invalid display option from syn-keyword commands. Take over maintenance of this file. https://github.com/vim/vim/commit/0cc6108fea216f597e38d1a88463fa6f28aded61 Co-authored-by: dkearns <dougkearns@gmail.com>
| * vim-patch:772f8f542513Christian Clason2024-01-27
| | | | | | | | | | | | | | | | runtime(hurl): add hurl filetype plugin(vim/vim#13921) https://github.com/vim/vim/commit/772f8f5425132b133a1d0fb22b35c13b4e027b42 Co-authored-by: Melker Ulander <melker.ulander@pm.me>
| * feat(ex_cmds): ranged :lua #27167luukvbaal2024-01-26
| | | | | | | | | | | | :{range}lua executes the specified lines in the current buffer as Lua code, regardless of its extension or 'filetype'. Close #27103
| * revert: "feat(treesitter): add foldtext with treesitter highlighting"Till Bungert2024-01-27
| | | | | | This reverts commit 9ce1623 in favor of #20750.
| * fix(osc52): do not use 'vim.iter' (#27218)Evgeni Chasnovski2024-01-26
| | | | | | | | | | Problem: Using 'vim.iter' loads it during startup. Solution: Do not use 'vim.iter'.
| * feat: improve return type annotations for vim.api.*Lewis Russell2024-01-26
| |
| * vim-patch:046a0f75d025Christian Clason2024-01-26
| | | | | | | | | | | | | | | | | | | | | | runtime(mail): fix vim/vim#13913 (vim/vim#13917) switch to the DFA engine for the emoji collaction range https://github.com/vim/vim/commit/046a0f75d025783a141b85b9e85a34559fd8cf63 Co-authored-by: gi1242 <gi1242+github@gmail.com> Co-authored-by: GI <gi1242+vim@gmail.com>
| * vim-patch:9.1.0058: Cannot map Super Keys in GTK UI (#27204)zeertzjq2024-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot map Super Keys in GTK UI (Casey Tucker) Solution: Enable Super Key mappings in GTK using <D-Key> (Casey Tucker) As a developer who works in both Mac and Linux using the same keyboard, it can be frustrating having to remember different key combinations or having to rely on system utilities to remap keys. This change allows `<D-z>` `<D-x>` `<D-c>` `<D-v>` etc. to be recognized by the `map` commands, along with the `<D-S-...>` shifted variants. ```vimrc if has('gui_gtk') nnoremap <D-z> u nnoremap <D-S-Z> <C-r> vnoremap <D-x> "+d vnoremap <D-c> "+y cnoremap <D-v> <C-R>+ inoremap <D-v> <C-o>"+gP nnoremap <D-v> "+P vnoremap <D-v> "-d"+P nnoremap <D-s> :w<CR> inoremap <D-s> <C-o>:w<CR> nnoremap <D-w> :q<CR> nnoremap <D-q> :qa<CR> nnoremap <D-t> :tabe<CR> nnoremap <D-S-T> :vs#<CR><C-w>T nnoremap <D-a> ggVG vnoremap <D-a> <ESC>ggVG inoremap <D-a> <ESC>ggVG nnoremap <D-f> / nnoremap <D-g> n nnoremap <D-S-G> N vnoremap <D-x> "+x endif ``` closes: vim/vim#12698 https://github.com/vim/vim/commit/92e90a1e102825aa9149262cacfc991264db05df Co-authored-by: Casey Tucker <dctucker@hotmail.com>
| * feat(colorscheme): update treesitter groupsEvgeni Chasnovski2024-01-25
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Currently default color scheme defines most of treesitter highlight groups. This might be an issue for users defining their own color scheme as it breaks the "fallback property" for some of groups. Solution: Define less default treesitter groups; just enough for default color scheme to be useful. That is: - All first level groups (`@character`, `@string`, etc.). - All `@xxx.builtin` groups as a most common subgroup. - Some special cases (links/URLs, `@diff.xxx`, etc.).
| * fix(runtime): update 'vim' color scheme to use new tree-sitter groupsEvgeni Chasnovski2024-01-25
| |