Commit Graph

27099 Commits

Author SHA1 Message Date
zeertzjq
508dda0e6c
test(ui/fold_spec): more testing for clicking on 'foldcolumn' (#25225) 2023-09-18 07:07:54 +08:00
sid-6581
57ccd82417
fix(job-control): fix use after free (#25223) 2023-09-18 07:07:08 +08:00
Christian Clason
9de5cb0b32 vim-patch:d8b86c937a41
runtime(netrw): fix filetype detection for remote editing files

closes: vim/vim#12990
closes: vim/vim#12992

this partially reverses commit 71badf9 by commenting out the line that
intentionally sets the filetype to an empty string.

d8b86c937a

Co-authored-by: Christian Brabandt <cb@256bit.org>
2023-09-17 22:52:56 +02:00
Christian Clason
1b74d2bf0a vim-patch:e30d8e4ce01d
runtime(kotlin): Add Kotlin runtime files (vim/vim#13110)

Closes udalov/kotlin-vimvim/vim#39

e30d8e4ce0

Co-authored-by: dkearns <dougkearns@gmail.com>
2023-09-17 22:52:56 +02:00
Christian Clason
ed45aa835c vim-patch:9.0.1907: No support for liquidsoap filetypes
Problem:  No support for liquidsoap filetypes
Solution: Add liquidsoap filetype detection code

closes: vim/vim#13111

6b5efcdd8e

Co-authored-by: Romain Beauxis <toots@rastageeks.org>
2023-09-17 22:26:10 +02:00
Jaehwang Jung
71d9b7d15c fix(treesitter): _trees may not be list-like
Problem:
With incremental injection parsing, injected languages' parsers parse
only the relevant regions and stores the result in _trees with the index
of the corresponding region. Therefore, there can be holes in _trees.

Solution:
* Use generic table functions where appropriate.
* Fix type annotations and docs.
2023-09-17 19:52:35 +01:00
zeertzjq
f54677132b
test(ui/fold_spec): click on multibyte "foldclosed" (#25216) 2023-09-17 21:31:51 +08:00
zeertzjq
211edceb4f
vim-patch:8.2.4173: cannot use an import in 'foldexpr' (#25215)
Problem:    Cannot use an import in 'foldexpr'.
Solution:   Set the script context to where 'foldexpr' was set. (closes vim/vim#9584)
            Fix that the script context was not set for all buffers.

e70dd11ef4

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-09-17 21:01:19 +08:00
zeertzjq
71530cc972
feat(folds): support virtual text format for 'foldtext' (#25209)
Co-authored-by: Lewis Russell <lewis6991@gmail.com>
2023-09-17 20:29:18 +08:00
dundargoc
677df72e40 docs: remove joke from pronounce
N-Jim does not sounds like "Ninja", and the joke doesn't really land.
2023-09-17 12:33:01 +02:00
Christian Clason
767b968647 build(deps): bump luajit to HEAD - e897c5743 2023-09-17 12:27:08 +02:00
bfredl
a0c99755b8
Merge pull request #25190 from glepnir/echo_hl
fix(highlight): correct hi command output
2023-09-17 12:23:22 +02:00
glepnir
5183651773 fix(highlight): correct hi command output 2023-09-17 17:47:51 +08:00
zeertzjq
d70667a1c1
Merge pull request #25208 from zeertzjq/vim-8.2.2356 2023-09-17 11:40:31 +08:00
zeertzjq
a1f0f0b2bc vim-patch:9.0.1633: duplicate code for converting float to string
Problem:    Duplicate code for converting float to string.
Solution:   Use tv_get_string(). (closes vim/vim#12521)

19dfa276c3
2023-09-17 11:07:35 +08:00
zeertzjq
ac0fda2e46 vim-patch:8.2.2356: Vim9: ":put =expr" does not handle a list properly
Problem:    Vim9: ":put =expr" does not handle a list properly.
Solution:   Use the same logic as eval_to_string_eap(). (closes vim/vim#7684)

883cf97f10

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-09-17 11:07:32 +08:00
zeertzjq
aac85b8d6b
docs(tutor): clarify the meaning of ✗ and ✓ (#25204)
Also reformat tutor.tutor.json to use 2-space indent while at it.
2023-09-17 08:48:13 +08:00
Phelipe Teles
4ab9c5fa46
fix(lua): not using global value in vim.opt_global (#25196) 2023-09-17 06:35:12 +08:00
zeertzjq
054839437e
test(plugin/man_spec): use pesc() on actual_file in pattern (#25199) 2023-09-17 06:07:53 +08:00
Maria José Solano
28f54a7878
feat(treesitter): add lang parameter to the query editor (#25181) 2023-09-16 19:05:59 +02:00
Jaehwang Jung
7e5ce42977 fix(treesitter): properly combine injection.combined regions
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.
2023-09-16 17:02:26 +01:00
Lewis Russell
f40a109716 fix(treesitter): fix trim predicate 2023-09-16 14:24:55 +01:00
Lewis Russell
b3342171d5 fix(typing): vim.fn.execute 2023-09-16 14:24:24 +01:00
bfredl
883e2a1409
Merge pull request #25186 from llllvvuu/fix/preserve_marktree_orderinh
fix(marktree): preserve ordering in `marktree_move`
2023-09-16 14:59:20 +02:00
L Lllvvuu
07080f67fe perf(treesitter): do not scan past given line for predicate match
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
2023-09-16 13:52:42 +01:00
bfredl
477458f7bf
fix(test): more tests for marktree
Co-Authored-By: L Lllvvuu <git@llllvvuu.dev>
2023-09-16 05:32:45 -07:00
L Lllvvuu
34be915f6b
fix(marktree): preserve ordering in marktree_move
`marktree_move` is making the tree out of order at:

be10d65bfa/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
2023-09-16 04:56:12 -07:00
Lewis Russell
091b57d766 refactor(mapping.c): reduce scope of locals 2023-09-16 11:43:30 +01:00
L Lllvvuu
908843df61 fix(languagetree): apply resolve_lang to metadata['injection.language']
`resolve_lang` is applied to `@injection.language` when it's supplied as a
capture:

f5953edbac/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
2023-09-16 11:12:06 +01:00
bfredl
40bfca744d
Merge pull request #25183 from llllvvuu/fix/marktree_move
fix(marktree): off-by-one error in `marktree_move`
2023-09-16 10:39:54 +02:00
bfredl
2d2cf150e1
Merge pull request #25078 from glepnir/au
fix(float): don't trigger au event when enter is false
2023-09-16 10:27:45 +02:00
L Lllvvuu
585549625d
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
2023-09-16 01:12:15 -07:00
Christian Clason
be10d65bfa vim-patch:c1f8bb37c6a8
runtime(forth): Fix :unlet error in ftplugin (vim/vim#13090)

Fixes vim/vim#13089.

c1f8bb37c6

Co-authored-by: dkearns <dougkearns@gmail.com>
2023-09-16 00:01:16 +02:00
Maria José Solano
6debb18523
refactor(treesitter): remove duplicated diagnostic code (#24976)
* refactor(treesitter): remove duplicated diagnostic code

* fixup!: fix type errors

* fixup!: add type namespace
2023-09-15 20:45:40 +01:00
Gregory Anders
73c71ed95c
docs(MAINTAIN): Add note about deprecation policy exceptions (#25159)
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
2023-09-15 09:32:47 -05:00
zeertzjq
35e50d79c6
fix(extmarks): overlay virt_text position after 'showbreak' (#25175)
Also make virt_text_hide work properly.
2023-09-15 20:30:50 +08:00
glepnir
a916523574 fix(ui): doesn't trigger au event when enter is false 2023-09-15 19:18:01 +08:00
Ilia Choly
f5a09f1b03
fix: invoke changed_bytes when rewriting <Tab> char #25125
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
2023-09-15 03:45:51 -07:00
Maria José Solano
28233bcb49
refactor(treesitter): rename "preview" => "edit" #25161
"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
2023-09-15 03:10:55 -07:00
dundargoc
2d9e7a33f4
test(windows): unskip working tests (#25153)
Also simplify home detection with os_homedir()
2023-09-15 16:33:26 +08:00
zeertzjq
a6e4793baf
fix(extmarks): draw virt_text below diff filler lines properly (#25170)
fix(extmarks): draw virt_text properly below diff filler lines
2023-09-15 15:56:52 +08:00
Christian Clason
fe2fa98460 build(deps): bump luajit to HEAD - 7a77a3cd8 2023-09-15 09:10:00 +02:00
zeertzjq
b65cd7ff1a
fix(extmarks): fix wrong virt_text position after wrapped TAB (#25168) 2023-09-15 14:54:42 +08:00
zeertzjq
b52bd8a2de
fix(extmarks): properly handle virt_text on next screen line (#25166)
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.
2023-09-15 12:35:27 +08:00
zeertzjq
9ec0ecb222
refactor(drawline): remove unnecessary inline virt checks (#25163) 2023-09-15 07:17:13 +08:00
Gregory Anders
2e92065686
docs: replace <pre> with ``` (#25136) 2023-09-14 08:23:01 -05:00
LW
9fc321c976
refactor(treesitter): deprecate for_each_child #25118
The name for_each_child is misleading and caused bugs.
After #25111, #25115, there are no more usages of `for_each_child` in Nvim.

In the future if we want to restore this functionality we can consider a
generalized vim.traverse(node, key, visitor) function.
2023-09-14 03:36:16 -07:00
L Lllvvuu
a4743487b7 fix(treesitter): language.add - only register parser if it exists
Fixes: #24531
2023-09-14 10:36:09 +01:00
dundargoc
eecddd2416 build(lint): use stylua without add_glob_target
add_glob_target is our custom method to figure out whether a work needs
to be done or not. This works as expected most of the time, but causes a
problem with stylua.

Stylua makes the decision that if a file is explicitly passed to be
formatted, then it will format the file even if the file is set to be
ignored in .styluaignore. This behavior breaks add_glob_target with
seemingly no easy workaround.
More information: https://github.com/JohnnyMorganz/StyLua/issues/751

Instead, what we can do is call stylua as you would in the command line.
This will make stylua work as expected. The downside is that we no
longer get a free "is this work necessary" detection, meaning that
stylua will be run each time `make lint` is called, regardless if it's
necessary or not. For longer lint tasks such as uncrustify and
clang-tidy this would be disastrous, but this is an acceptable tradeoff
since stylua is very quick.
2023-09-14 09:58:50 +02:00
Mathias Fußenegger
a49924a318
feat(lsp): remove notify from vim.lsp.buf_detach_client (#25140)
Closes https://github.com/neovim/neovim/issues/19838
2023-09-14 08:40:53 +02:00