| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
- Updates nixpkgs to source a necessary Tree-sitter version
- Updates to a new llvm version as the old one was removed from nixpkgs
- Properly moves `doCheck` from a regular param to an attribute option
|
|
|
|
|
|
|
|
|
| |
ref https://github.com/neovim/neovim/issues/28384
Allows Windows file APIs (and anything that uses them) to bypass the 260-character `MAX_PATH` limitation on Windows 10 1607 or later.
NOTE: This change by itself does not change the behaviour of running Neovim. The system must also have the Windows registry key `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled` set to a `REG_DWORD` with value 1.
See https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#enable-long-paths-in-windows-10-version-1607-and-later for more information.
|
|
|
| |
Also slightly reorder some code to make comments look less out-of-place.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: 'showcmd' is wrong for partial mapping with multibyte char,
and isn't very readable with modifyOtherKeys.
Solution: Decode multibyte char and merge modifiers into the char.
(zeertzjq)
This improves the following situations:
- Multibyte chars whose individual bytes are considered unprintable are
now shown properly in 'showcmd' area.
- Ctrl-W with modifyOtherKeys now shows ^W in 'showcmd' area.
The following situation may still need improvement:
- If the char is a special key or has modifiers that cannot be merged
into it, internal keycodes are shown in 'showcmd' area like before.
This applies to keys typed in Normal mode commands as well, and it's
hard to decide how to make it more readable due to the limited space
taken by 'showcmd', so I'll leave it for later.
closes: vim/vim#14572
https://github.com/vim/vim/commit/acdfb8a97995e0f81832207e39564ba795281108
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cursor wrong after using setcellwidth() in terminal
(mikoto2000)
Solution: output additional spaces, so the behaviour matches the GUI
(mikoto2000)
fixes: vim/vim#14539
closes: vim/vim#14540
Fix CUI `setcellwidths` characters draw behavior to same GUI behavior.
https://github.com/vim/vim/commit/e20fa59903525e15cecd680a2f32ece8a5d1bc0c
This is already fixed and tested in Nvim in #28322.
Co-authored-by: mikoto2000 <mikoto2000@gmail.com>
|
|\
| |
| | |
fix(msgpack): retain grid line event memory
|
| | |
|
| |
| |
| |
| |
| | |
These same checks are already checked by the clang-analyzer job, so this
duplication is not necessary.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: a few memory leaks are found
(LuMingYinDetect )
Solution: properly free the memory
Fixes the following problems:
- Memory leak in f_maplist()
fixes: vim/vim#14486
- Memory leak in option.c
fixes: vim/vim#14485
- Memory leak in f_resolve()
fixes: vim/vim#14484
- Memory leak in f_autocmd_get()
related: vim/vim#14474
- Memory leak in dict_extend_func()
fixes: vim/vim#14477
fixes: vim/vim#14238
closes: vim/vim#14517
https://github.com/vim/vim/commit/29269a71b5ac8a87c6c4beca35c173a19a2c9398
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Error with matchaddpos() and empty list
(@rickhow)
Solution: Return early for an empty list
fixes: vim/vim#14525
closes: vim/vim#14563
https://github.com/vim/vim/commit/f7d31adcc22eae852d6e7a5b59e9755ba7b51d35
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
`vim.fs.normalize` does not resolve `.` and `..` components. This makes
no sense as the entire point of normalization is to remove redundancy
from the path. The path normalization functions in several other
languages (Java, Python, C++, etc.) also resolve `.` and `..`
components.
Reference:
- Python: https://docs.python.org/3/library/os.path.html#os.path.normpath
- Java: https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html#normalize--
- C++: https://en.cppreference.com/w/cpp/filesystem/path/lexically_normal
Solution:
Resolve "." and ".." in `vim.fs.normalize`.
Before:
"~/foo/bar/../baz/./" => "~/foo/bar/../baz/."
After:
"~/foo/bar/../baz/./" => "~/foo/baz"
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
The order of the validation performed by vim.validate() is
unpredictable.
- harder to write reliable tests.
- confusing UX because validation result might return different errors randomly.
Solution:
Iterate the input using `vim.spairs()`.
Future:
Ideally, the caller could provide an "ordered dict".
|
|
|
|
|
|
| |
Problem: Renaming non-current buffer changes working directory when
'autochdir' is set.
Solution: Temporarily disable 'autochdir'. Add more tests for the
win_set_buf change.
|
|
|
|
|
| |
Problem: Wrong working directory when setting buffer in another window with
'autochdir' enabled.
Solution: Temporarily disable 'autochdir'.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
vim.diagnostic.enable() does not match the signature of vim.lsp.inlay_hint.enable()
Solution:
- Change the signature so that the first 2 args are (bufnr, enable).
- Introduce a 3rd `opts` arg.
- Currently it only supports `opts.ns_id`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
`vim.diagnostic.is_disabled` and `vim.diagnostic.disable` are unnecessary
and inconsistent with the "toggle" pattern (established starting with
`vim.lsp.inlay_hint`, see https://github.com/neovim/neovim/pull/25512#pullrequestreview-1676750276
As a reminder, the rationale is:
- we always need `enable()`
- we always end up needing `is_enabled()`
- "toggle" can be achieved via `enable(not is_enabled())`
- therefore,
- `toggle()` and `disable()` are redundant
- `is_disabled()` is a needless inconsistency
Solution:
- Introduce `vim.diagnostic.is_enabled`, and `vim.diagnostic.enable(…, enable:boolean)`
- Note: Future improvement would be to add an `enable()` overload `enable(enable:boolean, opts: table)`.
- Deprecate `vim.diagnostic.is_disabled`, `vim.diagnostic.disable`
|
| |
| |
| |
| |
| |
| | |
- Test maparg() and maplist() in the same test.
- Use matches() instead of string.match().
- Avoid overlong lines and strange spacing in exec_lua().
- Revert code change from last PR as the variable may be needed.
|
| |
| |
| | |
Also remove unnecessary variable in API converter.
|
| |
| |
| |
| | |
This just copies code from msg_start() to wait_return(). Not sure if
there is a better place to put such a block.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: String interpolation fails for List type
Solution: use implicit string(list) for string interpolation and :put =
(Yegappan Lakshmanan)
related: vim/vim#14529
closes: vim/vim#14556
https://github.com/vim/vim/commit/bce51d9005dd1c5bc002acbac2e12b649abcb013
Cherry-pick eval_to_string_eap() from patch 8.2.1914.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
args (#28363)
Problem: tests: some assert_equal() calls have wrong order of args
Solution: Correct the order (zeertzjq).
closes: vim/vim#14555
https://github.com/vim/vim/commit/757f32141bb8ce797f71e7e22e59ba368e0f4952
|
| |
| |
| |
| |
| |
| |
| | |
compiler(rime_deployer): include new compiler, use it for '*.custom.yaml' files (vim/vim#14460)
https://github.com/vim/vim/commit/8a31de6dd275b3dc925fee556ccccd5db8ee2504
Co-authored-by: wzy <32936898+Freed-Wu@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(#28360)
Problem: filetype: some requirements files are not recognized
Solution: Detect '*-requirements.txt', 'constraints.txt',
'requirements.in', 'requirements/*.txt' and 'requires/*.txt'
as requirements filetype, include pip compiler, include
requirements filetype and syntax plugin
(Wu, Zhenyu, @raimon49)
closes: vim/vim#14379
https://github.com/vim/vim/commit/f9f5424d3e75bbdb35aa48fa6f9241d9479b35e8
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Co-authored-by: raimon <raimon49@hotmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
vim-patch:9.1.0325: filetype: CMakeCache.txt files not recognized
Problem: filetype: CMakeCache.txt files not recognized
Solution: Detect 'CMakeCache.txt' files as cmakecache filetype,
include basic syntax script for cmakecache
(Wu, Zhenyu, @bfrg)
closes: vim/vim#14384
https://github.com/vim/vim/commit/62c09e032c6b2d49fffac726300d142381924b98
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Co-authored-by: bfrg <bfrg@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
runtime(java): Recognise non-ASCII identifiers (vim/vim#14543)
* runtime(java): Recognise non-ASCII identifiers
Also:
- Remove the already commented out and less general in its
definition javaFuncDef alternative.
- Stop recognising some bespoke {p,trace} debugging API.
Non-ASCII identifiers have been supported from the outset
of the Java language.
> An _identifier_ is an unlimited-length sequence of _Java
> letters_ and _Java digits_, the first of which must be a
> Java letter. An identifier cannot have the same spelling
> (Unicode character sequence) as a keyword . . . Boolean
> literal . . . or the null literal . . .
> . . . . . . . .
> Letters and digits may be drawn from the entire Unicode
> character set . . .
> . . . . . . . .
> A Java letter is a character for which the method
> Character.isJavaLetter . . . returns true. A Java
> letter-or-digit is a character for which the method
> Character.isJavaLetterOrDigit . . . returns true.
> . . . . . . . .
> The Java letters include . . . for historical reasons, the
> ASCII underscore (_) . . . and dollar sign ($) . . .
(Separate syntax tests will be written when particular parts
now touched will have been further improved.)
Reference:
https://javaalmanac.io/jdk/1.0/langspec.pdf [§3.8]
* Take on the maintenance of Java filetype and syntax files
https://github.com/vim/vim/commit/4052474a1bd2fe756bc7dc596d29d0d7581e35ae
Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
checked (#28362)
Problem: Vim9: Not all function argument types are properly checked.
Solution: Add and improve argument type checks. (Yegappan Lakshmanan,
closes vim/vim#8839)
https://github.com/vim/vim/commit/fc3b775055c2361e507a1a44008d5a7d37eecf14
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
|\ \
| | |
| | | |
vim-patch:9.1.{0322,0323,0324}: filetype not recognized
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: filetype: some json files are not recognized
Solution: Detect '.jscsrc' and '.vsconfig' as jsonc filetype
(Wu, Zhenyu)
See:
- https://github.com/microsoft/PowerToys/blob/main/.vsconfig
- https://jscs-dev.github.io/
closes: vim/vim#14452
https://github.com/vim/vim/commit/c59a8648b2d8b3e17f12cd45f74a31b1aa385d2d
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: filetype: cabal config files may not be recognized
Solution: Change filetype pattern to '*/{,.}cabal/config'
(Wu Zhenyu)
closes: vim/vim#14498
https://github.com/vim/vim/commit/799dedec0e959d7a18df8a06d497770706d1627c
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: filetype: some mail tools not recognized
Solution: Detect '.mbsncrc' as conf, '.msmtprc' as msmtp
and '.notmuch-config' as ini filetype
(Shane-XB-Qian)
closes: vim/vim#14533
https://github.com/vim/vim/commit/a7a9a476cf388f89286216188b8c8ae10702d9e2
Co-authored-by: shane.xb.qian <shane.qian@foxmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
runtime(doc): document pandoc compiler and enable configuring arguments
closes: vim/vim#14550
https://github.com/vim/vim/commit/fb8f31ea7d7f3f42e9bdce7b4434fd93fba8876f
Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
runtime(i3config/swayconfig): update syntax scripts
modifications with the goals of:
- simplifying structure by using group `cluster`s
- improving visual highlighting responsiveness by using `nextgroup`
- improving recursive wm-msg command highlighting
- separating command variants meant for runtime and for config only
closes: vim/vim#14544
https://github.com/vim/vim/commit/dd83b63eb5b7884c1c882eb984778492f6951ed7
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: No test for highlight behavior with 'ambiwidth'.
Solution: Add a screendump test for 'ambiwidth' with 'cursorline'.
(zeertzjq)
closes: vim/vim#14554
https://github.com/vim/vim/commit/a59e031aa0bdc5cc3d1f4ed719126bf1a1b858ce
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
:checkhealth node.js check fails:
ERROR Failed to run healthcheck for "provider.node" plugin ...
node/health.lua:98: attempt to call local 'message' (a string value)
`message` is called as a function, when it is actually a string.
Solution:
Pass `message` to `warn()` as an argument.
Fix #28346
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
vim.ui.open "locks up" Nvim if the spawned process does not terminate. #27986
Solution:
- Change `vim.ui.open()`:
- Do not call `wait()`.
- Return a `SystemObj`. The caller can decide if it wants to `wait()`.
- Change `gx` to `wait()` only a short time.
- Allows `gx` to show a message if the command fails, without the
risk of waiting forever.
|
| |
|
|\
| |
| | |
vim-patch:9.1.{0321,0328}
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: CI fails with t_?? test
Solution: use assert_match instead of assert_equal
and test only until t_xo, depending on system
there may be several more termcap codes coming
https://github.com/vim/vim/commit/0d87e3c711b46be67cf8f014cc0bca21431599c0
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
control
Problem: When used terminal with XON/XOFF flow control, vim tries to
still make CTRL-S mapping available, which results in severe
screen corruption, especially on large redraws, and even
spurious inputs (John Tsiombikas)
Solution: Disallow CTRL-S mapping if such terminal is recognized.
Don't remove IXON from the bitmask inversion.
(Anton Sharonov)
*** When started like this:
TERM=vt420 vim
:set termcap
shows "t_xon=y"
map <C-S> :echo "abc"<CR>
does nothing (after <C-S> output freezes and subsequent <C-Q>
unfreezes it)
*** When started like this:
TERM=xterm vim
:set termcap
shows "t_xon="
map <C-S> :echo "abc"<CR>
works (after <C-S> one see "abc" string echo-ed)
fixes: vim/vim#12674
closes: vim/vim#14542
https://github.com/vim/vim/commit/49528da8a60f8fd38ca491d6ccec47dfccf5f23c
Co-authored-by: Anton Sharonov <anton.sharonov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(vim): Update base-syntax, fix nested function folding (vim/vim#14397)
Only match function folding start and end patterns at the start of a
line, excluding heredocs and :append/:change/:insert commands.
Fixes vim/vim#14393
https://github.com/vim/vim/commit/4ba70cab37d2a625d8c59bb136070ef9d1976934
Co-authored-by: dkearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
| |
runtime(vim): don't set compiler, update a comment for vimdoc compiler (vim/vim#14532)
https://github.com/vim/vim/commit/e92ed1b45c5432235b0541521124d965b9d6a9a2
Co-authored-by: Shane-XB-Qian <shane.qian@foxmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: String interpolation fails for Dict type
Solution: Support Dict data type properly, also support :put =Dict
(without having to convert it to string() first)
(Yegappan Lakshmanan)
fixes: vim/vim#14529
closes: vim/vim#14541
https://github.com/vim/vim/commit/f01493c55062c01b1cdf9b1e946577f4d1bdddf3
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: noautocmd is confusing; despite its name, it doesn't block all
autocommands (instead it blocks only those related to setting the buffer), and
is commonly used by plugins to open windows while producing minimal
side-effects.
Solution: be consistent and block all autocommands when noautocmd is set.
This includes WinNew (again), plus autocommands from entering the window (if
enter is set) like WinEnter, WinLeave, TabEnter, .etc.
See the discussion at https://github.com/neovim/neovim/pull/14659#issuecomment-2040029517
for more information.
Remove win_set_buf's noautocmd argument, as it's no longer needed.
NOTE: pum_create_float_preview sets noautocmd for win_set_buf, but all its
callers already use block_autocmds.
Despite that, pum_create_float_preview doesn't actually properly handle
autocommands (it has no checks for whether those from win_enter or
nvim_create_buf free the window).
For now, ensure autocommands are blocked within it for correctness (in case it's
ever called outside of a block_autocmds context; the function seems to have been
refactored in #26739 anyway).
|
| |
|