| Commit message (Collapse) | Author | Age |
... | |
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | | |
Also remove "silent" to be more consistent with Normal mode search.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: potential overflow in spell_soundfold_wsal()
Solution: Protect wres from buffer overflow, by checking the
length (Zdenek Dohnal)
Error: OVERRUN (CWE-119):
vim91/src/spell.c:3819: cond_const: Checking "reslen < 254" implies that
"reslen" is 254 on the false branch.
vim91/src/spell.c:3833: incr: Incrementing "reslen". The value of "reslen"
is now 255.
vim91/src/spell.c:3792: overrun-local: Overrunning array "wres" of 254
4-byte elements at element index 254 (byte offset 1019) using index
"reslen - 1" (which evaluates to 254).
3789| {
3790| // rule with '<' is used
3791|-> if (reslen > 0 && ws != NULL && *ws != NUL
3792| && (wres[reslen - 1] == c
3793| || wres[reslen - 1] == *ws))
Error: OVERRUN (CWE-119):
vim91/src/spell.c:3819: cond_const: Checking "reslen < 254" implies that
"reslen" is 254 on the false branch.
vim91/src/spell.c:3833: overrun-local: Overrunning array "wres" of 254
4-byte elements at element index 254 (byte offset 1019) using index
"reslen++" (which evaluates to 254).
3831| {
3832| if (c != NUL)
3833|-> wres[reslen++] = c;
3834| mch_memmove(word, word + i + 1,
3835| sizeof(int) * (wordlen -
(i + 1) + 1));
related: vim/vim#16163
https://github.com/vim/vim/commit/39a94d20487794aeb722c21e84f8816e217f0cfe
Co-authored-by: Zdenek Dohnal <zdohnal@redhat.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Missing information in CompleteDone event
Solution: add complete_word and complete_type to v:event dict
(glepnir)
closes: vim/vim#16153
https://github.com/vim/vim/commit/1c5a120a701fcf558617c4e70b5a447778f0e51d
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Transitional stub to minimize breaking change pain, to be removed after
0.11 release.
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
1. Use the new "u" action to update the quickfix list so we don't lose
our position in the quickfix list when updating it.
2. Rather than creating a new quickfix list each time, update the
exiting one if we've already created one.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Before:
screen:expect({ | screen:expect({
grid = [[ | grid = [[
{10:>!}a | | line ^1 |
{7: }b | | {1:~ }|*4
{10:>>}c | | ]], messages={ {
{7: }^ | | content = { { "\ntest\n[O]k: ", 6, 11 } },
{1:~ }|*9 | kind = "confirm"
| | } }
]] | })
})
After:
screen:expect([[ | screen:expect({
{10:>!}a | | grid = [[
{7: }b | | line ^1 |
{10:>>}c | | {1:~ }|*4
{7: }^ | | ]],
{1:~ }|*9 | messages = { {
| | content = { { "\ntest\n[O]k: ", 6, 11 } },
]]) | kind = "confirm"
| } },
| })
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In order to run the marktree unit test in release mode, the test functions need to be available even when NDEBUG is defined.
Keep the body of marktree_check a nop during release builds, which limits the usefulness of the testing, but at least lets the tests run.
|
| | | |
| | | |
| | | |
| | | | |
Since the Makefile is not used to build, running the tests via the Makefile causes cmake to reconfigure and revert the release build back to debug.
|
| | | |
| | | |
| | | |
| | | | |
In release builds, the Compilation: line is omitted so the build is reproducible. Since the "fall-back for $VIM" line is always present, check for that instead.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Tests should not rely on being run inside a git clone, so the Linux
builds cover this use case. The macOS builds will continue running with
the .git directory so there's still unix-ish coverage within a git
clone.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This ensures that no tests fail due to differences between release and debug builds.
The release build-type check is now unnecessary, too, so remove it.
|
| | | |
| | | |
| | | |
| | | | |
Fixes #30846
|
| | | |
| | | |
| | | |
| | | | |
buffers (#31443)
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem:
LSP module has multiple "start" interfaces.
Solution:
- Enhance vim.lsp.start
- Deprecate vim.lsp.start_client
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(#31445)
Problem: filetype: Conda configuration files are not recognized
Solution: detect '.condarc' and 'condarc' files as yaml filetype.
(zeertzjq)
closes: vim/vim#16162
https://github.com/vim/vim/commit/876de275cb3affa5910664cc52a5177c214313e8
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem:
Various keywords are commonly searched-for on https://neovim.io, but
don't have help tags.
Solution:
Add help tags.
fix #31327
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem:
tmux clipboard not used when tmux is a daemon and $TMUX is empty.
Solution:
If `tmux list-buffers` succeeds, use tmux clipboard.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
A broken decoration provider can cause endless errors. #27235
Solution:
Don't show decorator errors when they exceed `DP_MAX_ERROR`.
|
| |\ \
| | | |
| | | | |
test(vterm): move test functions into vterm_test fixture
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
In order to run unittests with a release build, we need the test
functions to be accessible when NDEBUG is defined. Moving the functions
into the test fixture ensures they are available and only available for
use by the unit tests.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Vim9: digraph_getlist() does not accept bool argument
(Maxim Kim)
Solution: accept boolean as first argument (Yegappan Lakshmanan)
fixes: vim/vim#16154
closes: vim/vim#16159
https://github.com/vim/vim/commit/198ada3d9f48c6556d20c4115ec500555b118aad
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| | |
| | |
| | |
| | |
| | | |
Using the "supports_method" function with a client capability inside of
an LspAttach autocommand is the preferred method to do this, so we
should be showing users how to do it.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
Built-in completion can still affect nearby extmarks. #31384
Solution:
Restore extmarks when completion leader changes.
|
| | |
| | |
| | |
| | | |
Add test for foldtext= highlighting. Change file to global highlight
definitions while at it.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
- nvim_subscribe, nvim_unsubscribe were deprecated in
aec4938a21a02d279d13a9eb64ef3b7cc592c374 but this wasn't set in the
API metadata.
- The function annotations
```
FUNC_API_SINCE(1) FUNC_API_REMOTE_ONLY FUNC_API_DEPRECATED_SINCE(13)
```
cause this test to fail:
```
RUN T3 api metadata functions are compatible with old metadata or have new level: 3.00 ms ERR
test/functional/api/version_spec.lua:135: function vim_subscribe was removed but exists in level 0 which nvim should be compatible with
stack traceback:
test/functional/api/version_spec.lua:135: in function <test/functional/api/version_spec.lua:128>
```
Solution:
- Set the API metadata.
- Rearrange the annotations so that FUNC_API_DEPRECATED_SINCE is 2nd:
```
FUNC_API_SINCE(1) FUNC_API_DEPRECATED_SINCE(13) FUNC_API_REMOTE_ONLY
```
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
'completeopt'
In particular, make the distinction and interaction between "noinsert"
and "noselect" clearer as it was very confusing before.
closes: vim/vim#16148
https://github.com/vim/vim/commit/768728b48751c5e937409d12d98bfa1fb4c37266
Co-authored-by: dundargoc <gocdundar@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
closes: vim/vim#16134
https://github.com/vim/vim/commit/9a39483adb418e37c672000a58792c0f0e8aa662
Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: default for 'backspace' can be set in C code
Solution: promote the default for 'backspace' from defaults.vim to the C
code (Luca Saccarola)
closes: vim/vim#16143
https://github.com/vim/vim/commit/959ef61430bdd8fb982b38bd3347d90251255cfc
N/A patches:
vim-patch:9.1.0895: default history value is too small
vim-patch:075aeea: runtime(doc): document changed default value for 'history'
Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
|
| | | |
|
| |\ \
| | | |
| | | | |
vim-patch:9.1.{0867,0891,0896}
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: completion list wrong after v9.1.0891
Solution: update compl_mach_array after leader change
(glepnir)
compl_shown_match update not correct after refactoring in v9.1.0891
Unfortunately, this regressed what item is selected after leader change.
So generate compl_match_array before updating compl_shown_match range,
and split generate compl_match_array into range match_head
fixes: https://github.com/vim/vim/issues/16128
closes: https://github.com/vim/vim/pull/16129
https://github.com/vim/vim/commit/a49c077a883b2566882df9069385ed1e1277ca64
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: building the completion list array is inefficient
Solution: refactor and improve ins_compl_build_pum() func
(glepnir)
current time complexity is O(n^2). I guess garray is not used here to save memory and avoid efficiency
is caused by heap memory allocation. A simple way is to add an extra pointer as a single linked list
to store the matching compl_T, and traverse this single linked list to generate compl_match_array.
The time complexity is O(n x m). The worst case is m=n, but we can still get a little improvement.
Because the if condition does not need to be run at one time. This should be a good solution for now.
Later we may be able to complete it in O(lgn) time. But this requires more reconstruction. So this is
the first step.
closes: #16125
https://github.com/vim/vim/commit/80b662009c0fe8f1728a3f3a2c8013b7eebf6745
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: ins_compl_add() has too many args
Solution: refactor it and use an int array instead of 2 separate int
args (glepnir)
closes: vim/vim#16062
https://github.com/vim/vim/commit/5c66e23c624717216d380d938d0bba5d34a004fe
Co-authored-by: glepnir <glephunter@gmail.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: runtime(compiler): pytest compiler not included
Solution: include pytest compiler, update the compiler completion test
(Konfekt)
closes: vim/vim#16130
https://github.com/vim/vim/commit/3c2596a9e967910143d41fbb9615614ab36d43a7
Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: filetype: pyrex files are not detected
Solution: detect '*.pxi' and '*.pyx+' as pyrex filetype
(user202729)
References:
https://cython.readthedocs.io/en/latest/src/userguide/language_basics.html#cython-file-types
https://www.csse.canterbury.ac.nz/greg.ewing/python/Pyrex/version/Doc/Manual/using_with_c++.html
closes: vim/vim#16136
https://github.com/vim/vim/commit/aa16b30552f0c6a00dcc761e3954cd5266bf106a
Co-authored-by: user202729 <25191436+user202729@users.noreply.github.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
compact formatter is no longer distributed with eslint, so:
- switch to '--format stylish' in makeprg
- update 'errorformat' for the 'stylish' format output
fixes: vim/vim#16126
closes: vim/vim#16137
https://github.com/vim/vim/commit/dd21c8962680ba726ac1bf78ae106a4b6071450f
Co-authored-by: Romain Lafourcade <romainlafourcade@gmail.com>
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem:
gen_declarations.lua is complex and has duplicate logic with
c_grammar.lua
Solution:
Move all lpeg logic to c_grammar.lua and refactor gen_declarations.lua.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* refactor(shared): extract `vim._list_insert` and `vim._list_remove`
* feat(lsp): add `vim.lsp.foldexpr()`
* docs(lsp): add a todo for state management
* feat(lsp): add `vim.lsp.folding_range.foldclose()`
* feat(lsp): schedule `foldclose()` if the buffer is not up-to-date
* feat(lsp): add `vim.lsp.foldtext()`
* feat(lsp): support multiple folding range providers
* refactor(lsp): expose all folding related functions under `vim.lsp.*`
* perf(lsp): add `lsp.MultiHandler` for do `foldupdate()` only once
|