| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
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".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- `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()`.
|
|\
| |
| | |
vim-patch:9.1.{0082,0083}: redrawing can be improved
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
'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
|
| |
|
|
|
|
|
|
|
| |
runtime(doc): further improve docs about List/Blob += operator
closes: vim/vim#13990
https://github.com/vim/vim/commit/b8170143c8f8a115b5be59a94d10f931d3cd567c
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
refactor(api): use keydict and arena for more api return values
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
|\
| |
| | |
vim-patch:partial:9.1.0080,c9c2e2d2ff44
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`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.
|
|
|
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
| |
Co-authored-by: altermo <>
Co-authored-by: Jongwook Choi <wookayin@gmail.com>
|
| |
|
|
|
|
| |
There doesn't seem to be an easy solution that doesn't involve a goto.
Also remove duplicate assignment in win_line().
|
| |
|
|
|
|
| |
Fixes: #27318
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#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.
|
|
|
| |
Co-authored-by: Matthieu Coudron <886074+teto@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
feat(treesitter): use 0-based indexing to show ranges in `:InspectTree`
|
| |
| |
| |
| | |
Co-authored-by: altermo <107814000+altermo@users.noreply.github.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
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().
|
| |
| |
| |
| |
| |
| |
| |
| | |
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`.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(#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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| | |
| | | |
vim-patch:9.1.{0073,0074}
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: did_set_breakat() should be in optionstr.c as 'breakat' is a
string option.
Solution: Move did_set_breakat() to optionstr.c.
(zeertzjq)
closes: vim/vim#13958
https://github.com/vim/vim/commit/eac3fdcfa0b54281c37ffb66b4d4e8d1072cca1c
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Looping over modifier_keys_table[] unnecessarily with only
MOD_MASK_ALT or MOD_MASK_CMD, as modifier_keys_table[] only
contains MOD_MASK_SHIFT and MOD_MASK_CTRL, and the loop won't
do anything.
Solution: Remove MOD_MASK_ALT and MOD_MASK_CMD from the condition.
(zeertzjq)
closes: vim/vim#13963
https://github.com/vim/vim/commit/0c989e4a3ae50085aa8c6bed5d6701760191bc1d
|