aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* refactor(options): remove `set_string_option_direct()`Famiu Haque2024-03-21
| | | | | | Problem: `set_string_option_direct()` contains a separate codepath specifically for setting string options. Not only is that unnecessary code duplication, but it's also limited to only string options. Solution: Replace `set_string_option_direct()` with `set_option_direct()` which calls `set_option()` under the hood. This reduces code duplication and allows directly setting an option of any type.
* refactor(options): add `direct` flag to `set_option()`Famiu Haque2024-03-21
|
* refactor(options): restructure `set_option`Famiu Haque2024-03-21
|
* feat(colorscheme): add semantic tokens modifiers to builtin color schemeEvgeni Chasnovski2024-03-21
|
* docs(lsp): describe semantic tokens highlight groups with more detailsEvgeni Chasnovski2024-03-21
| | | | | | | | | | | | | Problem: Description of highlight groups for LSP semantic tokens can be more up to date and useful. Right now it misses several actually defined highlight groups and presents information about Vim highlight groups they are linked to. This is both outdated (they link to tree-sitter `@` groups now) and redundant (users can see this information with `:Inspect` over the group name itself). Solution: Synchronize the list of groups with specification and provide actionable descriptions.
* vim-patch:9.1.0190: complete_info() returns wrong order of items (#27955)zeertzjq2024-03-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: complete_info() returns wrong order of items (after v9.0.2018) Solution: Revert Patch v9.0.2018 (Girish Palya) bug fix: complete_info() gives wrong results 1) complete_info() reverses list of items during <c-p> 2) 'selected' item index is wrong during <c-p> 3) number of items returnd can be wrong Solution: - Decouple 'cp_number' from 'selected' index since they need not be correlated - Do not iterate the list backwards - Add targeted tests Regression introduced by https://github.com/vim/vim/commit/69fb5afb3bc9da24c2fb0eafb0027ba9c6502fc2 Following are unnecessary commits to patch problems from above: https://github.com/vim/vim/commit/fef66301665027f1801a18d796f74584666f41ef https://github.com/vim/vim/commit/daef8c74375141974d61b85199b383017644978c All the tests from above commits are retained though. fixes: vim/vim#14204 closes: vim/vim#14241 https://github.com/vim/vim/commit/8950bf7f8b85c1287d4e696965d88091fcc60594 Remove EMPTY_IF_NULL() as it has been unnecessary since #12673. Co-authored-by: Girish Palya <girishji@gmail.com>
* vim-patch:2708c0b5854fChristian Clason2024-03-20
| | | | | | | | | | runtime(deb822sources): Add minimal ftplugin (vim/vim#14240) Set comment related options and avoid automatic line wrapping. https://github.com/vim/vim/commit/2708c0b5854faad2844454324431a593c1d2987a Co-authored-by: James McCoy <jamessan@jamessan.com>
* fix(cmdline): wrong 'incsearch' highlighting after :redraw (#27947)luukvbaal2024-03-20
| | | | Problem: Calling :redraw from a timer callback clears 'incsearch' highlighting. Solution: Re-apply 'incsearch' highlighting if the screen was updated.
* Merge #27930 nvim_create_buf fixesJustin M. Keyes2024-03-20
|\
| * fix(api): nvim_create_buf assert fails if autocmds set &swapfileSean Dewar2024-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: assertion failure in nvim_create_buf if buflist_new autocommands open a swapfile when "scratch" is set. Solution: block autocommands when setting up the buffer; fire them later instead. Note that, unlike buflist_new, I don't check if autocommands aborted script processing; the buffer is already created and configured at that point, so might as well return the handle anyway. Rather than repeat try_{start,end} and {un}block_autocmds for each relevant operation, just do it at the start and near the end. This means that, if TermResponse fires from unblock_autocmds for whatever reason, it can see the buffer in an already configured state if we didn't bail due to an error (plus it's probably a bit cleaner this way).
| * fix(api): nvim_create_buf leaks memory if buffer is loaded earlySean Dewar2024-03-19
| | | | | | | | | | | | | | Problem: memory leak in nvim_create_buf if buflist_new autocommands load the new buffer early. Solution: do not open a memfile in that case.
* | refactor(treesitter): handle coverity warnings betterLewis Russell2024-03-20
| |
* | fix(treesitter): treecursor regressionLewis Russell2024-03-20
| | | | | | | | | | | | - Also address some coverity warnings Fixes #27942
* | test(ui/messages_spec): unskip msg_puts_printf test on Unix CI (#27941)zeertzjq2024-03-20
| | | | | | It no longer fails on Unix CI.
* | vim-patch:ec21bafc135a (#27939)zeertzjq2024-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Update base-syntax, disallow '.' at start of menu item names (vim/vim#14232) Disallow '.' at the start of a menu item name. This is the menu path separator character and should be escaped with a '\' in this case. Partially fixes vim/vim#14230. "popup" is still incorrectly matched as the Ex command. https://github.com/vim/vim/commit/ec21bafc135a1e78d40e4fc9118e022bbab958e8 Co-authored-by: dkearns <dougkearns@gmail.com>
* | vim-patch:9.1.0188: filetype: no support for Vento files (#27935)Christian Clason2024-03-20
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Vento files are not recognized. Solution: Recognize *.vto files as filetype "vento" (wrapperup) Vento is a templating engine https://vento.js.org/ closes: vim/vim#14229 https://github.com/vim/vim/commit/9f26e5a9bcedb3caef26e9d77849ea37a3626bbf Co-authored-by: wrapperup <wrapperup4@gmail.com>
* | build(deps): bump vimdoc parser to v2.5.1Christian Clason2024-03-19
| |
* | refactor(treesitter): reorder functionsLewis Russell2024-03-19
| |
* | refactor(treesitter): simplify argument checks for userdataLewis Russell2024-03-19
|/
* refactor(treesitter): redesign query iteratingLewis Russell2024-03-19
| | | | | | | | | | | | | | | | Problem: `TSNode:_rawquery()` is complicated, has known issues and the Lua and C code is awkwardly coupled (see logic with `active`). Solution: - Add `TSQueryCursor` and `TSQueryMatch` bindings. - Replace `TSNode:_rawquery()` with `TSQueryCursor:next_capture()` and `TSQueryCursor:next_match()` - Do more stuff in Lua - API for `Query:iter_captures()` and `Query:iter_matches()` remains the same. - `treesitter.c` no longer contains any logic related to predicates. - Add `match_limit` option to `iter_matches()`. Default is still 256.
* fix(terminal): don't pass incomplete UTF-8 sequence to libvterm (#27922)zeertzjq2024-03-19
|
* fix(treesitter): document more standard highlight groupsChristian Clason2024-03-19
| | | | | | | | | Problem: Not all standard treesitter groups are documented. Solution: Document them all (without relying on fallback); add default link for new `*.builtin` groups to `Special` and `@keyword.type` to `Structure`. Remove `@markup.environment.*` which only made sense for LaTeX.
* feat(treesitter): update Markdown parsers and queries to v0.2.1Christian Clason2024-03-19
|
* feat(treesitter): update Bash parser and queries to v0.21.0Christian Clason2024-03-19
|
* feat(treesitter): update Python parser and queries to v0.21.0Christian Clason2024-03-19
|
* feat(treesitter): update query parser to v0.2.0Christian Clason2024-03-19
|
* feat(treesitter): update Vimdoc parser and queries to v2.4.0Christian Clason2024-03-19
|
* feat(treesitter): update Vim parser and queries to v0.4.0Christian Clason2024-03-19
|
* feat(treesitter): update Lua parser and queries to v0.1.0Christian Clason2024-03-19
|
* feat(treesitter): update C parser and queries to v0.21.0Christian Clason2024-03-19
|
* build(deps): bump tree-sitter to v0.22.2Christian Clason2024-03-19
| | | | | | | release notes: * https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.0 * https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.1 * https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.2
* build: introduce variable DEPS_IGNORE_SHA for skipping dependency hash checkdundargoc2024-03-19
| | | | | | | | This will reduce friction as developers no longer need to provide a hash when testing out different commits. To skip the hash check, set `DEPS_IGNORE_SHA` to `TRUE` in `cmake.deps/CMakeLists.txt`.
* test(terminal/cursor_spec): unskip tests that pass on Windows (#27924)zeertzjq2024-03-19
| | | | | Also: - Make indent of test cases consistent. - Unskip TUI rapid resize test with ASAN as reflow is now disabled.
* test(terminal/buffer_spec): fix incorrect tests (#27923)zeertzjq2024-03-19
| | | | | The first describe() block enters terminal mode in before_each(), so feed_command() at the start of a test case writes it to the terminal instead of executing it.
* vim-patch:78c189837ae6 (#27920)zeertzjq2024-03-19
| | | | | | | | | | | | | | | | | | | runtime(doc): Recover some missed commas and periods in starting.txt Also: - Insert some missing words; - Strive for consistency with capitalisation of words; - Improve shell alias examples. The gvim words were left alone for now, but they deserve to be treated like proper names, GVim or GUI Vim, unless these refer to executable filenames (on *nix systems). closes: vim/vim#14194 https://github.com/vim/vim/commit/78c189837ae6a03fa5fbb62eabde66e3da9253a3 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* vim-patch:9530fe4f3a69 (#27919)zeertzjq2024-03-19
| | | | | | | | | | | | | | | | | runtime(vim): Update base-syntax, improve :highlight command (vim/vim#14228) Improve :highlight command highlighting - Use the same highlight groups for "default link" with and without bang. - Match some common line-continuation use. - Match :hi clear variants. - Highlight color-name values. Resync vim.vim and generator/vim.vim.base. https://github.com/vim/vim/commit/9530fe4f3a69c6bd11fc745d3b2d1667cdd0cf6d Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:9.1.0187: filetype: no support for Dafny files (#27918)Christian Clason2024-03-18
| | | | | | | | | | | | | Problem: Dafny files are not recognized. Solution: Recognize *.dfy files as filetype "dafny" (zeertzjq). Ref: https://dafny.org/ Ref: https://github.com/mlr-msft/vim-loves-dafny closes: vim/vim#14226 https://github.com/vim/vim/commit/4e334d0443f28f4e749dbef38d686d0dd19122de Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* vim-patch:ef21bcaab145Christian Clason2024-03-18
| | | | | | | | runtime(rust): Respect no_plugin_maps and no_rust_maps globals (vim/vim#14221) https://github.com/vim/vim/commit/ef21bcaab145d6b22fb7c823607de23700f82653 Co-authored-by: MyyPo <110892040+MyyPo@users.noreply.github.com>
* fix(pager): handle consecutive newlines properly (#27913)zeertzjq2024-03-18
|
* test(lsp): fix flaky basic_finish test (#27899)zeertzjq2024-03-18
| | | | | | | | | | Problem: As mentioned in #23002 on_setup and on_init are run concurrently. However, in basic_finish tests on_setup must attach the client before on_init finishes. The other basic_finish test isn't flaky because it makes an RPC request in on_init. Solution: Don't use on_setup in basic_finish tests.
* fix(tutor): set a value for ":syntax iskeyword" (#27833)En-En2024-03-18
| | | | | | | | | | | | Problem: "NOTE"s, inline Vim script code, and links ending in digits may not be highlighted correctly within the :Tutor. Solution: set an explicit value for ":syntax iskeyword" that includes digits. Do it after ":syntax include"s, so the included syntax/sh.vim doesn't mess with the value. Increase screen test width so all text within the conclusion section is visible. Co-authored-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
* refactor(messages): remove condition that is always true (#27909)zeertzjq2024-03-18
| | | | | | After #25470 the `s` pointer is advanced before calling store_sb_text() when a newline character is found, and store_sb_text() sets `sb_str` to `s`, so it's not possible for `s == sb_str + 1` and `*sb_str == '\n'` to be satisfied at the same time.
* docs(build): update rhel/fedora build prerequisite (#27875)Dominic Racine2024-03-18
|
* vim-patch:3d46de703cf6Christian Clason2024-03-18
| | | | | | | | | | | | | | | | | | | | | | | | runtime(go): `goPackageComment` highlighting too broad Previously this would highlight any comment before a line starting `package`, for example var ( // This comment would be highlighted as a goPackageComment packages []string ) The package clause is only valid when followed by a space[1], so include this restriction This is upstreaming a change from `go-vim`[2] [1] https://go.dev/ref/spec#Package_clause [2] https://github.com/fatih/vim-go/commit/d1c36cc4173093d0be78fd826978a024febe6233 https://github.com/vim/vim/commit/3d46de703cf645032fa4dbcd71259176db1b46b7 Co-authored-by: Matthew Hughes <matthewhughes934@gmail.com>
* vim-patch:9.1.0186: cursor pos wrong on mouse click after eol with 'rl', ↵zeertzjq2024-03-18
| | | | | | | | | | | | 've' and conceal (#27903) Problem: Wrong cursor position when clicking after end of line with 'rightleft', 'virtualedit' and conceal. Solution: Set values in ScreenCols[] also with SLF_RIGHTLEFT. Also fix off-by-one cursor position with 'colorcolumn' (zeertzjq). closes: vim/vim#14218 https://github.com/vim/vim/commit/deb2204bffa075ed5485415fc2dbd20e75d87ea4
* fix(messages): allow more prompt in headless mode with UI (#27905)zeertzjq2024-03-18
| | | | | Problem: More prompt is not shown in headless mode even if there is a UI attached. Solution: Don't skip more prompt when there is a UI active.
* fix(treesitter): revert to using iter_captures in highlighterLewis Russell2024-03-17
| | | | Fixes #27895
* fix(lsp): create codelens request parameters for each buffer (#27699)Takuya Tokuda2024-03-17
|
* test: combining TermCursorNC with CursorLine/CursorColumn (#27898)zeertzjq2024-03-17
|
* fix(mouse): click after eol with conceal and virtual text (#27897)zeertzjq2024-03-17
| | | | | Problem: Wrong cursor position when clicking after end of line with 'virtualedit', conceal and virtual text. Solution: Always fill linebuf_vcol[] for the columns to clear.