| Commit message (Collapse) | Author | Age |
| ... | |
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Problem: Duplicate code for converting float to string.
Solution: Use tv_get_string(). (closes vim/vim#12521)
https://github.com/vim/vim/commit/19dfa276c37dcf657922c6f9b48cf2954191e8b6
|
| | |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Problem: Vim9: ":put =expr" does not handle a list properly.
Solution: Use the same logic as eval_to_string_eap(). (closes vim/vim#7684)
https://github.com/vim/vim/commit/883cf97f109d2ff281cf77f7b2e3bb44aced7cb3
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| | | | | | | |
| | | | | | |
| | | | | | | |
Also reformat tutor.tutor.json to use 2-space indent while at it.
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Problem:
It doesn't make much sense to flatten each region (= list of ranges).
This coincidentally worked for region with a single range.
Solution:
Custom function for combining regions.
|
| | | | | | | | |
|
| | | | | | | | |
|
| | |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
fix(marktree): preserve ordering in `marktree_move`
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Co-Authored-By: L Lllvvuu <git@llllvvuu.dev>
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
`marktree_move` is making the tree out of order at:
https://github.com/neovim/neovim/blob/be10d65bfafe056025ffffa2c1131712b9a493a5/src/nvim/marktree.c#L1188
Because `key` is at the new position, and `x->key[new_i]` is also at the
new position, this comparison spuriously returns true, which causes
`x->key[i]` to be updated in-place even when it needs to be moved.
This causes crashes down the line, since the ordering of `MTNode.key` is
an invariant that must be preserved.
Fixes: #25157
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Problem
---
If a highlighter query returns a significant number of predicate
non-matches, the highlighter will scan well past the end of the window.
Solution
---
In the iterator returned from `iter_captures`, accept an optional
parameter `end_line`. If no parameter provided, the behavior is
unchanged, hence this is a non-invasive tweak.
Fixes: #25113 nvim-treesitter/nvim-treesitter#5057
|
| | | | | | | | | |
|
| | |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
`resolve_lang` is applied to `@injection.language` when it's supplied as a
capture:
https://github.com/neovim/neovim/blob/f5953edbac14febce9d4f8a3c35bdec1eae26fbe/runtime/lua/vim/treesitter/languagetree.lua#L766-L768
If we want to support `metadata['injection.language']` (as per #22518 and
[tree-sitter upstream](https://tree-sitter.github.io/tree-sitter/syntax-highlighting#language-injection))
then the behavior should be consistent.
Fixes: nvim-treesitter/nvim-treesitter#4918
|
| | |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
fix(marktree): off-by-one error in `marktree_move`
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
If you would insert element X at position j, then if you are moving that
same element X from position i < j, you should move it to position j -
1, because you are losing an element.
This error caused a gap to be left in the array, so that it looked like
[x, null, y] instead of [x, y], where len = 2. This triggered #25147.
Fixes: #25147
|
| | |\ \ \ \ \ \ \
| | |/ / / / / /
| |/| | | | | | |
fix(float): don't trigger au event when enter is false
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
runtime(forth): Fix :unlet error in ftplugin (vim/vim#13090)
Fixes vim/vim#13089.
https://github.com/vim/vim/commit/c1f8bb37c6a8e0babc2a41f16860763b57c23fa1
Co-authored-by: dkearns <dougkearns@gmail.com>
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* refactor(treesitter): remove duplicated diagnostic code
* fixup!: fix type errors
* fixup!: add type namespace
|
| | | | | | | | |
| | | | | | | |
| | | | | | | | |
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
|
| | | | | | | | |
| | | | | | | |
| | | | | | | | |
Also make virt_text_hide work properly.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
When tabstop and shiftwidth are not equal, tabs are inserted as individual
spaces and then rewritten as tab characters in a second pass. That second pass
did not call changed_bytes which resulted in events being omitted.
Fixes #25092
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
"Edit" more closely describes the generic application than "Preview", though
the buffer contents don't (yet) map to an actual file on disk.
https://github.com/neovim/neovim/pull/24703#discussion_r1321719133
|
| | | | | | | | |
| | | | | | | |
| | | | | | | | |
Also simplify home detection with os_homedir()
|
| | | | | | | | |
| | | | | | | |
| | | | | | | | |
fix(extmarks): draw virt_text properly below diff filler lines
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
TODO: virt_text_hide doesn't work for the first char on a wrapped screen
line, and it's not clear how to fix that.
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | < |