| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Also close Nvim instance before removing log file, otherwise the Nvim
instance will still write to the log file.
Also adjust log level in libuv_process_spawn(). Ref #27660
|
|
|
| |
Co-authored-by: marvim <marvim@users.noreply.github.com>
|
|
|
|
|
|
|
| |
runtime: Remove more fallback :CompilerSet definitions from compiler plugins
Continue with vim/vim#14399
vim/vim@cec44ea
|
|
|
|
|
|
|
|
| |
Problem: Invalid assert for empty signcols range. The empty range
should already be removed from "b_signcols" at this point.
The "clear" == kTrue call before the splice that made the
range empty will have removed it, and the "clear" == kNone
call after the splice already ignores the empty range.
Solution: Return early when "row2" < "row1".
|
|
|
|
| |
Now that Nvim always supports nanotime, sleeping for some milliseconds
is enough.
|
|
|
|
|
| |
Now that Nvim always supports nanotime, sleeping for some milliseconds
is actually enough, but for test_stat.vim keeping some longer sleeps may
increase test coverage, so just match the upstream test.
|
|\
| |
| | |
vim-patch:9.1.{0267,0268,0269}
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Test for TextChanged is still flaky with ASAN.
Solution: Don't index the result of readfile().
(zeertzjq)
It turns out that with ASAN the file may become empty during a write
even if it's non-empty both before and after the write, in which case
indexing the result of readfile() will error, so use join() instead.
Also don't delete the file halfway the test, just in case it may cause
errors on the next read.
closes: vim/vim#14421
https://github.com/vim/vim/commit/e9ff79a7c9affea970f50de2aa65f62080b55323
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Two tests in test_filechanged.vim are slow.
Solution: Sleep for shorter if the +nanotime feature is available.
(zeertzjq)
closes: vim/vim#14418
https://github.com/vim/vim/commit/83cd2c7bf0c12f05d747dd5fd6abfe103948bf12
|
|/
|
|
|
|
|
|
|
|
| |
Problem: File name entered in GUI dialog is ignored (after v9.1.0265)
Solution: Only set file name to "Untitled" if GUI dialog didn't set it.
(zeertzjq)
closes: vim/vim#14417
https://github.com/vim/vim/commit/c20bdf1107d48a1c14713709d12d429e761132af
|
|
|
|
|
|
|
|
|
|
| |
runtime: fix :compiler leaving behind a g:makeprg variable (vim/vim#14414)
Problem: :compiler may leave behind a g:makeprg variable after vim/vim#14336.
Solution: Use a script local variable.
https://github.com/vim/vim/commit/b73faa1c02d0911a60bddd1ba343cf620f2cd124
Also apply previously omitted change to compiler/context.vim.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Design
- Enable commenting support only through `gc` mappings for simplicity.
No ability to configure, no Lua module, no user commands. Yet.
- Overall implementation is a simplified version of 'mini.comment'
module of 'echasnovski/mini.nvim' adapted to be a better suit for
core. It basically means reducing code paths which use only specific
fixed set of plugin config.
All used options are default except `pad_comment_parts = false`. This
means that 'commentstring' option is used as is without forcing single
space inner padding.
As 'tpope/vim-commentary' was considered for inclusion earlier, here is
a quick summary of how this commit differs from it:
- **User-facing features**. Both implement similar user-facing mappings.
This commit does not include `gcu` which is essentially a `gcgc`.
There are no commands, events, or configuration in this commit.
- **Size**. Both have reasonably comparable number of lines of code,
while this commit has more comments in tricky areas.
- **Maintainability**. This commit has (purely subjectively) better
readability, tests, and Lua types.
- **Configurability**. This commit has no user configuration, while
'vim-commentary' has some (partially as a counter-measure to possibly
modifying 'commentstring' option).
- **Extra features**:
- This commit supports tree-sitter by computing `'commentstring'`
option under cursor, which can matter in presence of tree-sitter
injected languages.
- This commit comments blank lines while 'tpope/vim-commentary' does
not. At the same time, blank lines are not taken into account when
deciding the toggle action.
- This commit has much better speed on larger chunks of lines (like
above 1000). This is thanks to using `nvim_buf_set_lines()` to set
all new lines at once, and not with `vim.fn.setline()`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime: Remove fallback :CompilerSet definition from compiler plugins
The :CompilerSet command was added in version Vim 6.4 which was released
twenty years ago. Other runtime files do not support versions of that
vintage so it is reasonable to remove this fallback command definition
now.
closes: vim/vim#14399
https://github.com/vim/vim/commit/408281e16a36c15eed10fbf0406fa8ab159fc4bf
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Some servers don't report progress during initialize unless the client
sets the `workDoneToken`
See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#initiatingWorkDoneProgress
In particular:
> There is no specific client capability signaling whether a client will
> send a progress token per request. The reason for this is that this is
> in many clients not a static aspect and might even change for every
> request instance for the same request type. So the capability is signal
> on every request instance by the presence of a workDoneToken property.
And:
> Servers can also initiate progress reporting using the
> window/workDoneProgress/create request. This is useful if the server
> needs to report progress outside of a request (for example the server
> needs to re-index a database). The token can then be used to report
> progress using the same notifications used as for client initiated
> progress.
So far progress report functionality was relying entirely on the latter.
Solution:
Set a `workDoneToken`
Closes https://github.com/neovim/neovim/issues/27938
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: console dialog cannot save unnamed buffers
Solution: set bufname before save (glepnir). Define dialog_con_gui
to test for GUI+Console dialog support, use it to skip
the test when the GUI feature has been defined.
Note: The dialog_changed() function will also try to call the
browse_save_fname() function, when FEAT_BROWSE is defined (which is only
defined in a GUI build of Vim). This will eventually lead to a call of
do_browse(), which causes an error message if a GUI is not currently
running (see the TODO: in do_browse()) and will then lead to a failure
in Test_goto_buf_with_onfirm().
Therefore, we must disable the Test_goto_buf_with_onfirm(), when the
dialog_con_gui feature is enabled (which basically means dialog feature
for GUI and Console builds, in contrast to the dialog_con and dialog_gui
feature).
(Previously this wasn't a problem, because the test aborted in the YES
case for the :confirm :b XgotoConf case and did therefore not run into
the browse function call)
closes: vim/vim#14398
https://github.com/vim/vim/commit/df46115fc839c8912ed60646e86a412e5180ba1d
Co-authored-by: glepnir <glephunter@gmail.com>
|
|
|
|
|
|
|
| |
Ref #21393
- Move default user commands to _defaults.lua as that now contains all
kinds of defaults rather than just default mappings and menus.
- Remove the :aunmenu as there are no menus when _defaults.lua is run.
|
|
|
|
|
|
|
|
|
| |
Problem: Dialog for file changed outside of Vim not tested.
Solution: Add a test. Move FileChangedShell test. Add 'L' flag to
feedkeys().
https://github.com/vim/vim/commit/5e66b42aae7c67a3ef67617d4bd43052ac2b73ce
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(java): Improve the matching of contextual keywords
- Recognise a _record_ contextual keyword.
- Recognise _non-sealed_, _sealed_, and _permits_ contextual
keywords.
- Admit _$_ to keyword characters.
- Group _abstract_, _final_, _default_, _(non-)sealed_
(apart from _(non-)sealed_, the incompossibility of these
modifiers calls for attention).
- Remove another _synchronized_ keyword redefinition.
I have also replaced a function with an expression. Before
patch 8.1.0515, it should have been declared :function! to
work with repeatable script sourcing; there is less to worry
about with an expression.
References:
https://openjdk.org/jeps/395 (Records)
https://openjdk.org/jeps/409 (Sealed Classes)
https://docs.oracle.com/javase/specs/jls/se21/html/jls-3.html#jls-3.8
closes: vim/vim#14403
https://github.com/vim/vim/commit/5ccdcc482e299609ae8852a75b22190e38b9b5df
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
|
|
|
|
| |
Problem: The usage of `_BitScanForward64` causes linking to fail on some systems.
Solution: Correctly check if it exists using `check_c_source_compiles`.
|
|
|
|
|
|
|
|
|
| |
Problem: Test for TextChanged is flaky with ASAN.
Solution: Wait for the file to be non-empty.
(zeertzjq)
closes: vim/vim#14404
https://github.com/vim/vim/commit/4a65391ca273f2eca84f5ec7bd846693232dfacc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`exec_lua` makes code slighly harder to read, so it's beneficial to
remove it in cases where it's possible or convenient.
Not all `exec_lua` calls should be removed even if the test passes as it
changes the semantics of the test even if it happens to pass.
From https://github.com/neovim/neovim/pull/28155#discussion_r1548185779:
"Note for tests like this, which fundamentally are about conversion, you
end up changing what conversion you are testing. Even if the result
happens to be same (as they often are, as we like the rules to be
consistent if possible), you are now testing the RPC conversion rules
instead of the vim script to in-process lua conversion rules."
From https://github.com/neovim/neovim/pull/28155#discussion_r1548190152:
"A test like this specifies that the cursor is valid immediately and not
after a separate cycle of normal (or an other input-processing) mode."
|
|
|
|
|
|
|
|
|
|
| |
runtime(netrw): filetype not detected when editing remote files
fixes: vim/vim#14400
https://github.com/vim/vim/commit/08d2401fbc6de2606aca69add401e2ffca772aa2
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
| |
runtime(doc): sort filetype.txt in the alphabetical order (vim/vim#14395)
https://github.com/vim/vim/commit/89cc03af71d9beb839d296b78a87869e7a0a8996
Co-authored-by: K.Takata <kentkt@csc.jp>
|
|
|
|
|
|
|
|
|
|
| |
Problem: Normal mode TextChanged isn't tested properly.
Solution: Combine Test_Changed_ChangedI() and Test_Changed_ChangedI_2()
and also run it on Windows. Fix a typo in main.c.
(zeertzjq)
closes: vim/vim#14396
https://github.com/vim/vim/commit/c422662933275484e61af79d8148898337a5c38e
|
|\
| |
| | |
refactor(tests): allow to extend the new base set of attrs
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We start at 100 so we can make the base set larger if needed. (It might need to
grow/shrink as a result of adopting the new default color scheme as the
default for tests)
Usage best illustrataded by example.
Improving the workflow for making new tests with `screen:snapshot_util()` will
be a follow up.
|
| | |
|
|\ \
| | |
| | | |
fix: prevent child processes from inheriting ui channel file descriptors
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: filetype: typespec files are not recognized
Solution: Detect '*.tsp' files as typespec
(Hilmar Wiegand)
Specs is at https://typespec.io/
closes: vim/vim#14392
https://github.com/vim/vim/commit/6c9f4f98f1cda3793406724a260cd651210a5d0d
Co-authored-by: Hilmar Wiegand <me@hwgnd.de>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
around (#28161)
Problem: Typing "interrupt" at debug prompt may keep exception around,
causing function calls to fail.
Solution: Discard any exception at the toplevel. (closes vim/vim#9532)
https://github.com/vim/vim/commit/069613c9e8645acea3a128c15ebdbf56e2219d44
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|\ \
| |/
|/| |
vim-patch:9.{0.0581,1.0254}
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
complete_add() in 'cfu'
Problem: [security]: Heap buffer overflow when calling complete_add()
in the first call of 'completefunc'
Solution: Call check_cursor() after calling 'completefunc' (zeertzjq)
closes: vim/vim#14391
https://github.com/vim/vim/commit/0a419e07a705675ac159218f42c1daa151d2ceea
|
|/
|
|
|
|
|
|
|
| |
Problem: Adding a character for incsearch fails at end of line.
Solution: Only check cursor line number.
https://github.com/vim/vim/commit/d4566c14e71c55dcef05fb34ea94eba835831527
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
| |
- Changed `reuse_client` to check workspace folders in addition to
root_dir.
|
|
|
|
| |
This will remove unrelated errors in .nvimlog at the end of test output.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Injecting languages for file redirects (e.g., in bash) is not
possible.
Solution: Add `@injection.filename` capture that is piped through
`vim.filetype.match({ filename = node_text })`; the resulting filetype
(if not `nil`) is then resolved as a language (either directly or
through the list maintained via `vim.treesitter.language.register()`).
Note: `@injection.filename` is a non-standard capture introduced by
Helix; having two editors implement it makes it likely to be upstreamed.
|
|
|
|
|
| |
Problem: Attempting to set 'noautocmd' for an existing window throws an error
that just says "Invalid key: 'noautocmd'" which is not very helpful.
Solution: Explain that 'noautocmd' can't be used with existing windows.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(yaml): improve syntax highlighting for YAML
- Recognize block scalar style to avoid unexpected highlighting by `yamlFlowString` (fix vim/vim#11517)
- Improve performance of `yamlFlowMappingKey` by allowing execution by the NFA engine (fix vim/vim#10730)
- It was intentionally disabled before patterns were optimized by `s:SimplifyToAssumeAllPrintable`.
- Fix detection of flow style mapping indicators (fix vim/vim#8234).
- Enable highlighting of explicit mapping value indicators and node properties in flow style.
- Add syntax highlighting tests
closes: vim/vim#14354
https://github.com/vim/vim/commit/cc7597c1edf478ad912d45b27f17175236f9791e
Co-authored-by: itchyny <itchyny@cybozu.co.jp>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Filetype test fails.
Solution: Move detection by name before detection by extension.
Improve TextChanged test and remove wrong test and fix
a typo in a comment (zeertzjq).
closes: vim/vim#14373
https://github.com/vim/vim/commit/8eb7523802cb51984e2202d08a4fbc1a2cd803c7
The changes to filetype.vim are N/A since Nvim always prefers filename
matches to extension matches.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#28141)
Problem: Filetype detection fails if file name ends in many '~'.
Solution: Strip multiple '~' at the same time. (closes vim/vim#12553)
https://github.com/vim/vim/commit/c12e4eecbb26cedca96e0810d3501043356eebaa
In Nvim this already works as Lua filetype detection isn't subject to
such a small recursion limit as autocommands, but it still makes sense
to avoid unnecessary recursion.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: ldscripts cannot be recognized
Solution: Detect '*/ldscripts/*' as ld
(Wu, Zhenyu)
closes: vim/vim#14371
https://github.com/vim/vim/commit/4c7098b00a5edfb25b24fe3210866a4f30a2d78f
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
recognized
Problem: filetype: rock_manifest and config.ld files are not recognized
Solution: Detect 'rock_manifest' and 'config.ld' as lua
(Wu, Zhenyu)
closes: vim/vim#14370
https://github.com/vim/vim/commit/a917bd58bde0e1fca2affedc6fc0c15cb6b5e9f2
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: yarn lock files are not recognized
Solution: Detect 'yarn.lock' files as yaml
(Wu, Zhenyu)
closes: vim/vim#14369
https://github.com/vim/vim/commit/3b497aa2470ff613fed79569bc8589dae8dc3190
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: bundle config files are not recognized
Solution: Detect '*/.bundle/config' as yaml
(Wu, Zhenyu)
closes: vim/vim#14368
https://github.com/vim/vim/commit/3f6fa93b3b7d8e0bd30eddbbf4ae273c14d4455b
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: fontconfig files are not recognized
Solution: detect 'fonts.conf' as xml
(Wu, Zhenyu)
closes: vim/vim#14367
https://github.com/vim/vim/commit/a2c27b01dc344b16849721bd934779c627665364
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
recognized
Problem: filetype: zsh theme, history and zunit files are not
recognized.
Solution: Detect '.zsh_history', '*.zsh-theme' and '*.zunit' as zsh
(Wu, Zhenyu)
closes: vim/vim#14366
https://github.com/vim/vim/commit/a55a22a1a30f8f37633ed78ea25a393d11e250f2
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: bash history files are not recognized
Solution: detect .bash-history and .bash_history files as bash
(Wu, Zhenyu)
closes: vim/vim#14365
https://github.com/vim/vim/commit/84ce55001af80d89245c4dd051c6f809389df62f
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|