aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | | | | | | | vim-patch:9.1.0088: TextChanged not triggered for :norm! commands (#27405)zeertzjq2024-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: TextChanged not triggered for :norm! commands (machakann, after v9.0.2031) Solution: Only reset curbuf->b_last_changedtick if TextChangedI was triggered in insert mode (and not blocked) Note: for unknown reasons, the test fails on Windows (but seems to work fine when running interactively) fixes: vim/vim#13967 closes: vim/vim#13984 https://github.com/vim/vim/commit/c9e79e52845d51f48f5ea3753a62ab3fe0e40184 Cherry-pick test_autocmd.vim change from patch 8.2.4149. Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | | | | | | | | vim-patch:9.1.0084: Visual hl wrong when it ends before multibyte ↵zeertzjq2024-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'showbreak' (#27404) Problem: Visual hl wrong when it ends before multibyte 'showbreak'. (lacygoil) Solution: Use vcol_sbr instead of adding n_extra. (zeertzjq) fixes: vim/vim#11272 closes: vim/vim#13996 https://github.com/vim/vim/commit/df23d7f4bd7546f3152ea003856525591218565b Bug doesn't apply to Nvim.
| * | | | | | | | | 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
| * / / / / / / / build: stop installing parser.h from treesitterdundargoc2024-02-09
| |/ / / / / / /
| * | | | | | | 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.
| * | | | | | | Merge pull request #27391 from bfredl/arenarockbfredl2024-02-08
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | refactor(api): refactor more api functions to use arena return
| | * | | | | | | refactor(api): refactor more api functions to use arena returnbfredl2024-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently having two separate memory strategies for API return values is a bit unnecessary, and mostly a consequence of converting the hot spot cases which needed it first. But there is really no downside to using arena everywhere (which implies also directly using strings which are allocated earlier or even statically, without copy). There only restriction is we need to know the size of arrays in advance, but this info can often be passed on from some earlier stage if it is missing. This collects some "small" cases. The more complex stuff will get a PR each.
| * | | | | | | | 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().