aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | | 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.
* | | docs(install): add more Linux install instructions #27350Robert O'Shea2024-02-08
| | |
* | | Revert "fixup! add benchmark"Lewis Russell2024-02-08
| | | | | | | | | | | | This reverts commit b0bff57a3bc79481d89595791e3fb0e4dd10c896.
* | | fixup! add benchmarkLewis Russell2024-02-08
| | |
* | | 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()`.
* | | Merge pull request #27388 from zeertzjq/vim-9.1.0082zeertzjq2024-02-08
|\ \ \ | |/ / |/| | vim-patch:9.1.{0082,0083}: redrawing can be improved
| * | vim-patch:9.1.0083: Redrawing can be improved when deleting lines with 'number'zeertzjq2024-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Redrawing can be improved when inserting/deleting lines with 'number'. Solution: Only redraw the number column of lines below changed lines. Add a test as this wasn't previously tested. (zeertzjq) closes: vim/vim#13985 https://github.com/vim/vim/commit/ae07ebc04b0726e12b1af39d52e01d86ae79ef0a
| * | vim-patch:9.1.0082: Redrawing can be improved when deleting lines with ↵zeertzjq2024-02-08
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | 'cursorline' Problem: Redrawing can be improved when deleting lines with 'cursorline'. Solution: Use smarter invalidation and adjustment. Remove unnecessary UPD_VALID as it is already set at the top of the loop. Make the test for vim/vim#4862 fail without the fix. (zeertzjq) closes: vim/vim#13986 https://github.com/vim/vim/commit/7ce34c9a947b17a8b5e81e7c2335a63552182d10
* | 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.
* | Merge pull request #27284 from bfredl/unkeydictbfredl2024-02-08
|\ \ | | | | | | refactor(api): use keydict and arena for more api return values
| * | refactor(generators): style of generating and generated lua dispatch codebfredl2024-02-08
| | |
| * | refactor(api): use keydict and arena for more api return valuesbfredl2024-02-08
| | | | | | | | | | | | | | | | | | | | | Implement api_keydict_to_dict as the complement to api_dict_to_keydict Fix a conversion error when nvim_get_win_config gets called from lua, where Float values "x" and "y" didn't get converted to lua numbers.
* | | build(deps): bump libuv to v1.48.0Christian Clason2024-02-08
|/ /
* | Merge pull request #27379 from zeertzjq/vim-9.1.0080zeertzjq2024-02-08
|\ \ | | | | | | vim-patch:partial:9.1.0080,c9c2e2d2ff44
| * | 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.
* | perf: improve utf_char2cells() performance (#27353)VanaIgr2024-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `utf_char2cells()` calls `utf_printable()` twice (sometimes indirectly, through `vim_isprintc()`) for characters >= 128. The function can be refactored to call to it only once. `utf_printable()` uses binary search on ranges of unprintable characters to determine if a given character is printable. Since there are only 9 ranges, and the first range contains only one character, binary search can be replaced with SSE2 SIMD comparisons that check 8 ranges at a time, and the first range is checked separately. SSE2 is enabled by default in GCC, Clang and MSVC for x86-64. Add 3-byte utf-8 to screenpos_spec benchmarks.
* | fix(event-loop): process input before events (#27358)zeertzjq2024-02-07
| | | | | | | | | | | | | | | | | | | | | | Problem: When nvim_input is followed immediately by non-fast events on RPC, both events and input are available after the polling done by the os_inchar() in state_enter(), but state_enter() then chooses to process events even if input is available, which is inconsistent with state_handle_k_event() that stops processing events once input is available. Solution: Also check for available input after the os_inchar() in state_enter().
* | 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(column): handle w_redr_statuscol at end filler lines (#27365)zeertzjq2024-02-06
| | | | | | | | There doesn't seem to be an easy solution that doesn't involve a goto. Also remove duplicate assignment in win_line().
* | ci(release): bump mac runner version to macos-12dundargoc2024-02-06
| |
* | fix(lsp): send back diagnostic tags to the serverLewis Russell2024-02-06
| | | | | | | | Fixes: #27318
* | vim-patch:9.1.0079: LineNrAbove/Below highlighting wrong on wrapped lines ↵zeertzjq2024-02-06
| | | | | | | | | | | | | | | | | | | | | | | | | | (#27363) Problem: LineNrAbove and LineNrBelow background wrong on wrapped lines. Solution: Update number column also for wrapped part of a line. (zeertzjq) closes: vim/vim#13974 https://github.com/vim/vim/commit/ebfd856cfdf6ea0b16c8d115000961c998ce97da Cherry-pick test_number.vim changes from patch 9.0.0626.
* | 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>
* | vim-patch:9.1.0077: Unnecessary call to redraw_for_cursorline() in ↵zeertzjq2024-02-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | nv_mousescroll() (#27359) Problem: The call to redraw_for_cursorline() in nv_mousescroll() is unnecessary because redraw_for_cursorline() only sets redraw type to UPD_VALID, and all code paths in do_mousescroll() already set redraw type to at least UPD_VALID. Solution: Remove call to redraw_for_cursorline() in nv_mousescroll(). (zeertzjq) closes: vim/vim#13979 https://github.com/vim/vim/commit/3f1b5312e0fa0089f255bf9c0c3b27590552119e
* | test(tui_spec): prevent race between nvim_input and nvim_paste (#27356)zeertzjq2024-02-06
| |
* | test: add test for 'foldcolumn' with cmdwin (#27355)zeertzjq2024-02-06
| |
* | fix(tui): `space_buf` overflow when clearing screen (#27352)Sean Dewar2024-02-06
| | | | | | | | | | | | | | | | | | Problem: `tui->space_buf` may be smaller than the width of the TUI or widest grid, causing an overflow when calling `tui_grid_clear` if `print_spaces` is called from `clear_region` (clears the TUI's screen since #23428). Solution: resize `space_buf` to be wide enough to fit the TUI or widest grid. Didn't bother shrinking the allocation if the max widths decrease.
* | Merge pull request #27295 from wookayin/feat/inspecttreeGregory Anders2024-02-05
|\ \ | | | | | | feat(treesitter): use 0-based indexing to show ranges in `:InspectTree`
| * | test(treesitter): add test cases for inspect_treeJongwook Choi2024-02-05
| | | | | | | | | | | | Co-authored-by: altermo <107814000+altermo@users.noreply.github.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
|\
| * test(lsp): add test cases for vim.lsp.tagfuncJongwook Choi2024-02-03
| | | | | | | | | | | | | | Problem: There is no test case for vim.lsp.tagfunc; so CI was unable to catch the infinite loop bug (#27325). Solution: Add test cases for vim.lsp.tagfunc().
| * 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(redraw): update Visual selection properly with splits (#27343)zeertzjq2024-02-05
| |
* | fix(inccommand): update topline after moving cursor (#27341)zeertzjq2024-02-05
| |
* | perf(redraw): only redraw Visual area when cursor has moved (#27340)zeertzjq2024-02-05
| |
* | build(deps): bump luajit to HEAD - 0d313b243Christian Clason2024-02-04
| |
* | 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:9.1.0075: insert completion not correct when adding new leader ↵Raphael2024-02-04
| | | | | | | | | | | | | | | | | | | | | | (#27332) Problem: insert completion not correct when adding new leader Solution: Reset compl_curr_match to compl_shown_match (glepnir) closes: vim/vim#13957 https://github.com/vim/vim/commit/cbb46b439888e10f87baaca504eafd191723c44b