aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* fix(lsp): re-add client.commands and mark privateLewis Russell2024-02-12
|
* docs: correct on_key docs (#27429)altermo2024-02-12
|
* fix(lsp): semantic token defer loadingLewis Russell2024-02-12
| | | | Fixes #27424
* vim-patch:b614b284ee06 (#27433)zeertzjq2024-02-12
| | | | | | | | | | | | runtime(vim): Update syntax file (vim/vim#14009) - allow comments after :highight commands - match the bang in a :highlight[!] command - highlight the bang in :map[!], :menu[!] and :unlet[!] with vimOper like all other commands https://github.com/vim/vim/commit/b614b284ee06523511308f8381b47db34d921d39 Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:6d91227267a5Christian Clason2024-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(gpg): Mark dangerous use-embedded-filename with WarningMsg The syntax highlighter is likely to encourage people to use the listed commands. But `use-embedded-filename` is a dangerous option that can cause GnuPG to write arbitrary data to arbitrary files whenever GnuPG encounters malicious data. GnuPG upstream explicitly warns against using this option: https://dev.gnupg.org/T4500 https://dev.gnupg.org/T6972 However, since this is a valid option, we cannot just drop it from the syntax script. Instead, let's mark it with the WarningMsg highlighting to make it obvious, that this option is different (and should not be used for security reasons). closes: vim/vim#13961 https://github.com/vim/vim/commit/6d91227267a5f7e21fc9b30443687618e92751bf Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
* refactor(lsp): move more code to client.luaLewis Russell2024-02-11
| | | | | | | | | | | | The dispatchers used by the RPC client should be defined in the client, so they have been moved there. Due to this, it also made sense to move all code related to client configuration and the creation of the RPC client there too. Now vim.lsp.start_client is significantly simplified and now mostly contains logic for tracking open clients. - Renamed client.new -> client.start
* Merge pull request #27420 from MariaSolOs/warning-anxietyLewis Russell2024-02-11
|\ | | | | refactor(lsp): fix type annotations and add shared diagnostic helper
| * refactor(lsp): add vim.lsp.sync.Range typeMaria José Solano2024-02-10
| |
| * refactor(lsp): add shared diagnostic handlerMaria José Solano2024-02-10
| |
| * refactor(lsp): add type annotationsMaria José Solano2024-02-10
| |
* | feat(shortmess): "q" flag fully hides recording message (#27415)Trevor Arjeski2024-02-11
| | | | | | | | | | | | | | When "q" is set in 'shortmess' it now fully hides the "recording @a" message when you are recording a macro instead of just shortening to "recording". This removes duplication when using reg_recording() in the statusline. Related #19193
* | Merge pull request #27253 from MariaSolOs/codelens-refreshbfredl2024-02-10
|\ \ | | | | | | feat(lsp): add opts to vim.lsp.codelens.refresh
| * | feat(lsp): add opts paramater to vim.lsp.codelens.refreshMaria José Solano2024-02-08
| | |
* | | build(deps): bump tree-sitter-bash to v0.20.5Christian Clason2024-02-10
| |/ |/|
* | fix(startup): multiprocess startuptime #26790Pablo Arias2024-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Since 24488169564c39a506c235bf6a33b8e23a8cb528, the --startuptime report shows two blocks of data. The TUI process and its embedded nvim process write to the file concurrently, which may interleave the two startup sequences into the same timeline. Solution: Report each process as a separate section in the same file. 1. Each process buffers the full report. 2. After startup is finished, the buffer is flushed (appended) to the file. Fix #23036 Sample report: --- Startup times for process: Primary/TUI --- times in msec clock self+sourced self: sourced script clock elapsed: other lines 000.006 000.006: --- NVIM STARTING --- 000.428 000.422: event init 000.728 000.301: early init ... 005.880 000.713: init highlight 005.882 000.002: --- NVIM STARTED --- --- Startup times for process: Embedded --- times in msec clock self+sourced self: sourced script clock elapsed: other lines 000.006 000.006: --- NVIM STARTING --- 000.409 000.403: event init 000.557 000.148: early init 000.633 000.077: locale set ... 014.383 000.430: first screen update 014.387 000.003: --- NVIM STARTED ---
* | refactor: rename FloatConfig to WinConfig #27397Will Hopkins2024-02-09
|/ | | | | `FloatConfig` is no longer used only for floats, so the name is counterintuitive. Followup to #25550
* feat(tutor): add Japanese tutor #27268ite-usagi2024-02-08
| | | Add Japanese Tutor
* fix(lsp): rename fails on missing parent directory #27291Tomasz N2024-02-08
| | | | | | | | Problem: If a rename results in a path that has missing parent directory(s), it will fail. Solution: Do a recursive mkdir before attempting the rename.
* feat(lsp): deprecate severity_limitLewis Russell2024-02-08
| | | | | | | | | | | Problem: `vim.lsp.diagnostic.on_diagnostic` accepts an undocumented severity_limit option which is widely used. Solution: Deprecate it in favour of `{min = severity}` used in `vim.diagnostic`. Since this is undocumented, the schedule for removal is accelerated to 0.11.
* refactor(treesitter): {start,stop} are optional in Query:iter_* methodsJongwook Choi2024-02-08
| | | | | | | | Document that the `start` and `stop` parameters in `Query:iter_captures()` and `Query:iter_matches()` are optional. The tree-sitter lib has been bumped up to 0.20.9, so we also no longer need "Requires treesitter >= 0.20.9".
* refactor(treesitter): typing for Query, TSQuery, and TSQueryInfoJongwook Choi2024-02-08
| | | | | | | | | | | | | | | | | | | | - `TSQuery`: userdata object for parsed query. - `vim.treesitter.Query`: renamed from `Query`. - Add a new field `lang`. - `TSQueryInfo`: - Move to `vim/treesitter/_meta.lua`, because C code owns it. - Correct typing for `patterns`, should be a map from `integer` (pattern_id) to `(integer|string)[][]` (list of predicates or directives). - `vim.treesitter.QueryInfo` is added. - This currently has the same structure as `TSQueryInfo` (exported from C code). - Document the fields (see `TSQuery:inspect`). - Add typing for `vim._ts_parse_query()`.
* refactor(lsp): tidy up loggingLewis Russell2024-02-08
|
* vim-patch:b8170143c8f8 (#27387)zeertzjq2024-02-08
| | | | | | | runtime(doc): further improve docs about List/Blob += operator closes: vim/vim#13990 https://github.com/vim/vim/commit/b8170143c8f8a115b5be59a94d10f931d3cd567c
* feat(api): pass 0 to nvim_get_chan_info for current channel (#27321)nikolightsaber2024-02-08
| | | | | | | | | | | Getting current channel info was kind of annoying via RPC. Two functions had to be called: 1. `nvim_get_api_info` which returns `[channel_id, meta_data]`. - This results in `channel_id = api.nvim_get_api_info()[0]`. - Here the meta_data is sent but never used. 2. Finally call `nvim_get_chan_info(channel_id)`. This commit reduces the need for `nvim_get_api_info` as passing 0 returns current channel info.
* vim-patch:c9c2e2d2ff44zeertzjq2024-02-08
| | | | | | | | | | | | | | | | runtime(doc): Clarify list-concatenation a bit more Make doc list-concatenation more clear as for += and extend(). 1. describe `+=` for list-concatenation more accurately 2. add `extend()` example for list-concatenation 3. Fix CI errors for missing helptags reference |+=| closes: vim/vim#13983 https://github.com/vim/vim/commit/c9c2e2d2ff4429a6b5876ee919f15c1dc0018e86 Co-authored-by: qeatzy <qeatzy@users.noreply.github.com>
* vim-patch:partial:9.1.0080: unexpected error for modifying final list using +=zeertzjq2024-02-08
| | | | | | | | | | | | | | | | | | Problem: unexpected error for modifying final list using += operator (Ernie Rael) Solution: Allow List value modification of a final variable using += operator (Yegappan Lakshmanan) fixes: vim/vim#13745 fixes: vim/vim#13959 closes: vim/vim#13962 https://github.com/vim/vim/commit/1af35631f85d2fcdc83c5d457af8273697f5146a Only port eval.txt changes. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* fix(runtime): source c ftplugins in correct order (#27377)Maximilian Fricke2024-02-08
|
* fix(lsp): set fallback client name properlyzeertzjq2024-02-08
|
* 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>