aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* refactor: suppress unused variable warnings in release builds (#26327)Gregory Anders2023-11-30
|
* refactor(IWYU): fix includes for cmdhist.h (#26324)zeertzjq2023-11-30
|
* fix(tui): grow termkey's internal buffer for large escape sequences (#26309)Gregory Anders2023-11-30
| | | | | | Some escape sequences (in particular, OSC 52 paste responses) can be very large, even unbounded in length. These can easily overflow termkey's internal buffer. In order to process these long sequences, dynamically grow termkey's internal buffer.
* fix(treesitter): fix parens stacking in inspector display (#26304)Gregory Anders2023-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When first opened, the tree-sitter inspector traverses all of the nodes in the buffer to calculate an array of nodes. This traversal is done only once, and _all_ nodes (both named and anonymous) are included. Toggling anonymous nodes in the inspector only changes how the tree is drawn in the buffer, but does not affect the underlying data structure at all. When the buffer is traversed and the list of nodes is calculated, we don't know whether or not anonymous nodes will be displayed in the inspector or not. Thus, we cannot determine during traversal where to put closing parentheses. Instead, this must be done when drawing. When we draw, the tree structure has been flatted into a single array, so we lose parent-child relationships that would otherwise make determining the number of closing parentheses straightforward. However, we can instead rely on the fact that a delta between the depth of a node and the depth of the successive node _must_ mean that more closing parentheses are required: (foo (bar) (baz) ↑ │ └ (bar) and (baz) have different depths, so (bar) must have an extra closing parenthesis This does not depend on whether or not anonymous nodes are displayed and so works in both cases.
* ci(release): perform a full checkout when building (#26323)zeertzjq2023-11-30
| | | Ref #13471
* refactor(IWYU): move typedefs out of globals.h (#26322)zeertzjq2023-11-30
|
* Merge pull request #23657 from luukvbaal/extmarkbfredl2023-11-30
|\ | | | | fix(extmark): restore extmarks when completing original text
| * fix(extmark): restore extmarks when completing original textLuuk van Baal2023-11-29
| |
* | refactor: move extern variables out of _defs.h files (#26320)zeertzjq2023-11-30
| |
* | refactor(IWYU): move UI and LineFlags to ui_defs.h (#26318)zeertzjq2023-11-30
| |
* | build: don't define FUNC_ATTR_* as empty in headers (#26317)zeertzjq2023-11-30
| | | | | | | | | | | | FUNC_ATTR_* should only be used in .c files with generated headers. Defining FUNC_ATTR_* as empty in headers causes misuses of them to be silently ignored. Instead don't define them by default, and only define them as empty after a .c file has included its generated header.
* | test: unskip more terminal tests on Windows (#26315)zeertzjq2023-11-30
| |
* | test(ex_terminal_spec): match descriptions (#26314)zeertzjq2023-11-30
| |
* | Merge pull request #25994 from luki446/windows-path-terminal-fixzeertzjq2023-11-30
|\ \ | | | | | | Fix a bug in usage of windows-style paths as SHELL path.
| * | test: :terminal when 'shell' uses backslasheszeertzjq2023-11-30
| | |
| * | fix(terminal): make backslashes in 'shell' work on WindowsLuki4462023-11-30
|/ / | | | | | | | | If backslashes are used in 'shell' option, escape them to make Terminal mode work.
* | ci(lintcommit): fix empty and period check with multiple colons (#26312)zeertzjq2023-11-30
| |
* | test(ex_terminal_spec): unskip tests that work on Windows (#26310)zeertzjq2023-11-30
| |
* | vim-patch:a9058440b7b9Christian Clason2023-11-29
| | | | | | | | | | | | | | | | | | | | | | | | runtime(html): Update syntax file (vim/vim#13591) Add missing search element and update ARIA attribute list. Add a very basic test file to check all elements are matched. https://github.com/vim/vim/commit/a9058440b7b9d7f5d0027c8cd44366e9200ca241 Co-authored-by: dkearns <dougkearns@gmail.com>
* | fix(treesitter): adjust indentation in inspector highlights (#26302)Gregory Anders2023-11-29
|/
* fix(termcap): escape escapes in passthrough sequence (#26301)Gregory Anders2023-11-29
| | | | When using the tmux passthrough sequence any escape characters in the inner sequence must be escaped by adding another escape character.
* fix(defaults): wait until VimEnter to set background (#26284)Gregory Anders2023-11-29
| | | | | | | The OptionSet autocommand does not fire until Vim has finished starting, so setting 'background' before the VimEnter event would not fire the OptionSet event. The prior implementation also waited until VimEnter to set 'background', so this was a regression introduced when moving background detection into Lua.
* refactor: move function macros out of vim_defs.h (#26300)zeertzjq2023-11-29
|
* docs: document TSNode:byte_length() (#26287)Gregory Anders2023-11-29
| | | | Also update the type annotation of TSNode:id(), which returns a string, not an integer.
* fix(treesitter): make InspectTree correctly handle nested injections (#26085)Pham Huy Hoang2023-11-29
| | | | | | | Problem: Only injections under the top level tree are found. Solution: Iterate through all trees to find injections. When two injections are contained within the same node in the parent tree, prefer the injection with the larger byte length.
* fix(treesitter): use proper query syntax for inspector (#26274)Gregory Anders2023-11-29
|
* refactor: move some constants out of vim_defs.h (#26298)zeertzjq2023-11-29
|
* perf(column): only invalidate lines affected by added signLuuk van Baal2023-11-29
|
* Merge pull request #26292 from luukvbaal/decorbfredl2023-11-29
|\ | | | | fix(decorations): do not apply sign highlight id as range attr id
| * fix(decorations): do not apply sign highlight id as range attr idLuuk van Baal2023-11-29
| |
* | vim-patch:9.0.2134: ml_get error when scrolling (#26264)zeertzjq2023-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: ml_get error when scrolling after delete Solution: mark topline to be validated in main_loop if it is larger than current buffers line count reset_lnums() is called after e.g. TextChanged autocommands and it may accidentally cause curwin->w_topline to become invalid, e.g. if the autocommand has deleted some lines. So verify that curwin->w_topline points to a valid line and if not, mark the window to have w_topline recalculated in main_loop() in update_topline() after reset_lnums() returns. fixes: vim/vim#13568 fixes: vim/vim#13578 https://github.com/vim/vim/commit/c4ffeddfe5bd1824650e9b911ed9245bf56c69e3 The error doesn't happen in Nvim because Nvim triggers TextChanged after calling update_topline(). Co-authored-by: Christian Brabandt <cb@256bit.org>
* | refactor(IWYU): create normal_defs.h (#26293)zeertzjq2023-11-29
|/
* vim-patch:9.0.2136: MSVC errorformat can be improved (#26283)zeertzjq2023-11-29
| | | | | | | | | | Problem: MSVC errorformat can be improved Solution: parse error type and column number in MSVC errorformat closes: vim/vim#13587 https://github.com/vim/vim/commit/8ceb99001b52d0c642e7532763ec9d8217ee86e3 Co-authored-by: Shawn Hatori <shawn.hatori@gmail.com>
* fix(man): set the nested flag for the BufReadCmd autocommand (#26285)Gregory Anders2023-11-28
| | | | The nested flag must be set so that other autocommands can fire while the BufReadCmd is still executing.
* vim-patch:9.0.2135: No test for mode() when executing Ex commands (#26282)zeertzjq2023-11-29
| | | | | | | | | Problem: No test for mode() when executing Ex commands Solution: Add some test cases and simplify several other test cases. Also add a few more test cases for ModeChanged. closes: vim/vim#13588 https://github.com/vim/vim/commit/fcaeb3d42b228e73c669b2fce78f1d3fe112769f
* fix(termcap): use tmux passthrough sequence when running in tmux (#26281)Gregory Anders2023-11-28
| | | | | | | tmux intercepts and ignores XTGETTCAP so wrap the query in the tmux passthrough sequence to make sure the query arrives at the "host" terminal. Users must still set the 'allow-passthrough' option in their tmux.conf.
* refactor: fix headers with IWYUdundargoc2023-11-28
|
* Merge pull request #26276 from luukvbaal/decorbfredl2023-11-28
|\ | | | | refactor(decor): remove sign conditions that are always true
| * refactor(decor): remove sign conditions that are always trueLuuk van Baal2023-11-28
| |
* | build: disable UnusedIncludes from clangddundargoc2023-11-28
|/ | | | | Include Cleaner is enabled by default since clangd 17 and gives incorrect suggestions.
* fix(column): redraw and update signcols for paired extmarkLuuk van Baal2023-11-28
| | | | | | Problem: Signcolumn width does not increase when ranged sign does not start at sentinel line. Solution: Handle paired range of added sign when checking signcols.
* fix(rplugin): dont create data dir if it's a broken symlink #25726Samuel (ThinLinc team)2023-11-28
| | | | | | | | | | | | Checking if it's non-empty and not a directory gets us quite far, but not all the way. While a working symlink would trigger the earlier checks, a broken symlink does not. This commit fixes the special case where ~/.local/share/nvim already exists but is a broken symlink. Thus, it fixes the following error on startup: E739: Cannot create directory /home/samuel/.local/share/nvim: file already exists
* refactor: iwyu (#26269)zeertzjq2023-11-28
|
* Merge pull request #26249 from bfredl/concealcharbfredl2023-11-28
|\ | | | | feat(decoration): allow conceal_char to be a composing char
| * feat(decoration): allow conceal_char to be a composing charbfredl2023-11-28
| | | | | | | | | | | | | | | | decor->text.str pointer must go. This removes it for conceal char, in preparation for a larger PR which will also handle the sign case. By actually allowing composing chars for a conceal chars, this becomes a feature and not just a refactor, as a bonus.
* | refactor(IWYU): fix includes for ugrid.h (#26267)zeertzjq2023-11-28
| |
* | docs(lua): don't include remote-only API functions (#26266)zeertzjq2023-11-28
| |
* | vim-patch:9.0.2133: Cannot detect overstrike mode in Cmdline mode (#26263)zeertzjq2023-11-28
| | | | | | | | | | | | | | | | Problem: Cannot detect overstrike mode in Cmdline mode Solution: Make mode() return "cr" for overstrike closes: vim/vim#13569 https://github.com/vim/vim/commit/d1c3ef1f47c87d1da056c56564e1985fe6f2931d
* | refactor: move hashtab types to hashtab_defs.h (#26262)zeertzjq2023-11-28
| |
* | refactor(options): replace `p_force_(on|off)` with `immutable` (#26209)Famiu Haque2023-11-28
| | | | | | | | | | | | | | Problem: We use the `p_force_on` and `p_force_off` variables to check if a variable is immutable and what its default value is. This is not only hacky and unintuitive, but also is limited to only boolean options. Solution: Replace `p_force_on` and `p_force_off` with an `immutable` property for options, which indicates if an option is immutable. Immutable options cannot be changed from their default value. Ref: #25672.