| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
Problem: on windows, the neovim executable (and thus the filetypes
associated to open with neovim) has no embedded icon
Solution: create a windows resource file pointing to the icon, and
add it to the nvim binary target
|
|
|
|
| |
Related to #29506, but adding vim.treesitter.stop() to b:undo_ftplugin
doesn't solve the problem yet.
|
|
|
|
| |
Problem: Cannot opt out of removing unloaded buffers from the jumplist.
Solution: Only enable that with "unload" flag in 'jumpoptions'.
|
|
|
|
|
| |
This mostly means replacing `nvim_buf_call` and `nvim_win_call` with
`vim._with`.
|
|\
| |
| | |
refactor(typval)!: remove binary distinction of binary and nonbinary strings
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a breaking change which will make refactor of typval and shada
code a lot easier. In particular, code that would use or check for
v:msgpack_types.binary in the wild would be broken. This appears to be
rarely used in existing plugins.
Also some cases where v:msgpack_type.string would be used to represent a
binary string of "string" type, we use a BLOB instead, which is
vimscripts native type for binary blobs, and already was used for BIN
formats when necessary.
msgpackdump(msgpackparse(data)) no longer preserves the distinction
of BIN and STR strings. This is very common behavior for
language-specific msgpack bindings. Nvim uses msgpack as a tool to
serialize its data. Nvim is not a tool to bit-perfectly manipulate
arbitrary msgpack data out in the wild.
The changed tests should indicate how behavior changes in various edge
cases.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Although the built-in pum completion mechanism will filter anyway on the
next input it is odd if the initial popup shows entries which don't
match the current prefix.
Using fuzzy match on the label/prefix is compatible with
`completeopt+=fuzzy` and also doesn't seem to break postfix snippet
cases
Closes https://github.com/neovim/neovim/issues/29287
|
| | |
|
|\ \
| |/
|/| |
Add several updates to `vim._with` (tests, granular option contexts, `env` context)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: with a single `context.options` there is no way for user to
force which scope (local, global, both) is being temporarily set and
later restored.
Solution: replace single `options` context with `bo`, `go`, `wo`, and
`o`. Naming and implementation follows how options can be set directly
with `vim.*` (like `vim.bo`, etc.).
Options are set for possible target `win` or `buf` context.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: `vim._with()` has many different use cases which are not
covered with tests.
Solution: cover with tests. Some (many) test cases are intentionally
marked as "pending" because they cover cases which don't work as
expected at the moment (and fixing them requires specific knowledge of
C codebase). Use them as a reference for future fixes.
Also some of "can be nested" tests currently might pass only because
the tested context doesn't work.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
unnamed (#29479)
fixes: vim/vim#15077
https://github.com/vim/vim/commit/62f7b55c1a4564f8744af9446bc7af47fe16a245
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|/
|
|
|
|
|
|
|
| |
shifted (#29476)
related: vim/vim#15077
https://github.com/vim/vim/commit/ecd642af43dc496e92020422fded717e095d4bc1
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
| |
While this relies on a proposed LSP 3.18 feature, it's fully backwards
compatible, so IMO there's no harm in adding this already.
Looks like some servers already support for this e.g.
- gopls: https://go-review.googlesource.com/c/tools/+/510235
- clangd: https://github.com/llvm/llvm-project/pull/80180
Fixes #27293
|
|
|
| |
Ref #29468
|
|
|
|
|
|
| |
Instead of looping over all captured nodes, just take the end range from
the last node in the list. This uses the fact that nodes returned by
iter_matches are ordered by their range (earlier to later).
|
|
|
|
|
|
|
|
| |
Problem: Treesitter highlighter clears the already populated highlight
state when performing spell checking while drawing a
smoothscrolled topline.
Solution: Save and restore the highlight state in the highlighter's
_on_spell_nav callback.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"g:java_highlight_functions"
With the variables defined, distinctly highlight parts of
a method declaration header: its name and parameter list
parens, from its type parameters, return type, and formal
parameters; and distinctly highlight parts of a lambda
expression: its parameter list parens and the arrow, from
its formal parameters and identifiers.
closes: vim/vim#15083
https://github.com/vim/vim/commit/01a4fb104dbee6a8b7ef20394a2a7c5b49cf49ca
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
comments (#29450)
Match Vim9-script comments after :def and :enddef and legacy-script
comments after :func and :endfunc, in any definition context.
Highlight incorrect comment types after these commands as errors.
fixes: vim/vim#15062
closes: vim/vim#15072
https://github.com/vim/vim/commit/fc64ac0be2c4f9446798de4d66b029526d1afa85
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: .envrc & .prettierignore not recognized
Solution: Detect '.envrc' as shell and '.prettierignore' as gitignore
filetype (Tyler Miller)
Support ft detection for `.envrc` files used by direnv, and
`.prettierignore` files used by prettier.
closes: vim/vim#15053
resolves: neovim/neovim#29405
https://github.com/vim/vim/commit/49012cd8c2fb0452847e5d213b07aa8a978f4762
Co-authored-by: Tyler Miller <tmillr@proton.me>
|
|
|
|
|
|
|
|
|
|
|
| |
Add TODO highlighting, disable text-wrapping, add "define-library" to
lispwords on CHICKEN. Update MAINTAINERS.
closes: vim/vim#15063
https://github.com/vim/vim/commit/17e0a1969da4e70771435fc7fa9d8c96d25c8b00
Co-authored-by: Evan Hanson <evhan@foldling.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the presence of parameterised types whose names begin
with a capital letter and end with a less-than sign "<" that
introduces a type argument or a list of comma-separated type
arguments, followed by a greater-than sign ">", a variable
"g:java_highlight_generics" can be defined to have some
components of such types uniformly coloured (by picking
highlight groups for javaGenericsC{1,2}, javaWildcardBound).
For example,
------------------------------------------------------------
java.io.InputStream stream = java.io.InputStream.nullInputStream();
java.util.function.Function<String,
java.util.function.BiFunction<String, String, String>> updater =
property -> (oldValue, newValue) -> oldValue;
java.util.logging.LogManager.getLogManager()
.updateConfiguration(stream, updater);
------------------------------------------------------------
Note that the diamond form and explicit type arguments do
not qualify for this kind of recognition.
For example,
------------------------------------------------------------
new java.util.HashSet<>().<String>toArray(new String[0]);
------------------------------------------------------------
References:
https://docs.oracle.com/javase/specs/jls/se21/html/jls-4.html#jls-4.5
https://docs.oracle.com/javase/specs/jls/se21/html/jls-15.html#jls-15.9
https://docs.oracle.com/javase/specs/jls/se21/html/jls-15.html#jls-15.12.2.1
closes: vim/vim#15050
https://github.com/vim/vim/commit/beb02ed674bc61f179c4ff71e93bdeeb44fe9c4e
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: CursorMovedC triggered wrongly with setcmdpos()
(after v9.1.0507)
Solution: Remove the premature triggering. Also don't trigger when
cursor didn't move. (zeertzjq)
closes: vim/vim#15064
https://github.com/vim/vim/commit/bc6f96708e3678dbb27ec4192d87cf94a15d4e9a
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: hard to detect cursor movement in the command line
Solution: Add the CursorMovedC autocommand
(Shougo Matsushita)
closes: vim/vim#15040
https://github.com/vim/vim/commit/d09521476f41dd8dbddb25b7acd0b299f9bf94d3
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
|
|
|
|
|
| |
closes: vim/vim#15060
https://github.com/vim/vim/commit/6ccf6da7a2a7a0b9d1e23a905b091d762e911609
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
`o`-ing on a folded line opens the fold, because the new line gets the
fold level from the above line (level '='), which extends the fold to
the new line. `O` has a similar problem when run on the line below a
fold.
Solution:
Use -1 for the added line to get the lower level from the above/below
line.
|
|
|
|
|
|
|
| |
Suggest adding them to news.txt instead.
Also don't ignore changes to intro.txt and sponsor.txt, as they don't
change much these days, and it's necessary to consider whether to
include their changes in Nvim's intro.txt.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: Faust files are not recognized
Solution: Detect '*.lib' files as Faust filetype, add detection for
'*.dsp' files (Faust or Make), remove '*.lib' from Cobol
filetype (PowerUser64)
closes: vim/vim#14894
https://github.com/vim/vim/commit/aa61b8a9087e9cd999ef07e0d87b60f43d68f2c6
Co-authored-by: PowerUser64 <blake@blakenorth.net>
|
|
|
|
|
|
|
|
|
|
|
| |
Instances of anonymous classes can be passed as method
arguments and should be subject to line folding as well.
closes: vim/vim#15048
https://github.com/vim/vim/commit/94c5d8a5e20e1dd8c9e8434ee14e368276644f61
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
|
|\
| |
| | |
vim-patch:partial:9.1.{0497,0501}: termdebug can be further improved
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: termdebug can be further improved
Solution: refactor save/restore, update docs,
add a new save/restore test (Ubaldo Tiberi)
closes: vim/vim#15032
https://github.com/vim/vim/commit/a48637c105ce5ccf6f3296958c889d15dc3faaa4
Co-authored-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use <cmd> instead of <expr> with execute(...)[-1]
closes: vim/vim#15047
https://github.com/vim/vim/commit/aeca7176f3b7bdc2d698938062f6cad802fea783
Co-authored-by: Maxim Kim <habamax@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
vimdoc grammar added new forms that are not handled in our HTML
generator. https://github.com/neovim/tree-sitter-vimdoc/pull/134
Solution:
Update `gen_help_html.lua`.
Fixes #29277
|
|/
|
|
|
|
|
|
|
|
|
| |
Problem:
If there are errors in the last line of a buffer, something like `Gdk` or
`G2k3J` will produce an error (at least with `lua_ls`):
Error executing vim.schedule lua callback:
.../neovim/share/nvim/runtime/lua/vim/diagnostic.lua:1446: Invalid 'line': out of range
Solution:
Only set extmarks if the target buffer line still exists
|
|
|
|
|
|
|
|
|
|
|
|
| |
plugin (#29395)
* vim-patch:1ce65e3: runtime(csv): include a simple csv filetype and syntax plugin
fixes: vim/vim#15038
https://github.com/vim/vim/commit/1ce65e35ac6555054db1276e30d9d63421e6b346
Co-authored-by: Maxim Kim <habamax@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Current instance of last search pattern not easily spotted.
Solution: Add CurSearch highlighting. (closes vim/vim#10133)
https://github.com/vim/vim/commit/a43993897aa372159f682df37562f159994dc85c
Some code is superseded by later patches that are already ported.
Co-authored-by: LemonBoy <thatlemon@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- update tags to detect djangohtml based on
https://docs.djangoproject.com/en/5.0/ref/templates/builtins/#built-in-tag-reference
- increase the lines to inspect to 40 lines
10 lines is too few and might result in high false negative.
Increasing it to 40 lines should reduce the false negative.
closes: vim/vim#15037
https://github.com/vim/vim/commit/9718ed7ab989c0a0be88a0d749f24321eb0e6af1
Co-authored-by: Afiq Nazrie <afnazrie@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
package
fixes: vim/vim#15039
closes: vim/vim#15042
https://github.com/vim/vim/commit/26de90c6312cf16d7a4f2b6942befb4e1f14b960
Co-authored-by: Maxim Kim <habamax@gmail.com>
|
|
|
|
|
| |
https://github.com/vim/vim/commit/ca471145321fa8089071330b7637ad3950ac4f11
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Matched text isn't highlighted in cmdline pum.
Solution: Use cmdline completion pattern in cmdline mode.
(zeertzjq)
closes: vim/vim#15029
https://github.com/vim/vim/commit/d8c9340fc67ca19f82ec3e77ec38296424e758cf
Cherry-pick syntax.txt change from runtime update.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
It's a common practice to set 'signcolumn=yes' (always show) instead of default 'signcolumn=auto' in order to prevent annoying horizontal shifting in editable buffers when using some popular plugins that add/remove signs on the fly. This makes signcolumn always visible and breaks the text flow of pre-formatted man pages, even when no signs are actually defined. Some other options are already tweaked in man.vim to address the issue (e.g. 'nonumber'), but not signcolumn.
Solution:
set 'signcolumn=auto' in ftplugin/man.vim.
By default there is no |signs| in man pages anyway (and I am not aware of any plugins that could define them in man pages), so 'signcolumn=auto' should behave like 'signcolumn=no', i.e. hide the empty column in order to keep buffer width same as terminal width.
In a (rare?) case when user does define some signs in man pages, signcolumn will appear (breaking the text flow).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
1. multiple `setlocal` commands are spread across the script.
2. several options, apparently, serve the same purpose (hide UI columns) which may not be immediately clear. more options may be required to fullfill the same purpose or they could be removed all together as a group if better solution is found later
3. `setlocal nofoldenable` may be overriden by conditional block later in the script.
Solution:
1. move 'colorcolumn' and 'nolist' to the group of other options at the beginning
2. add an explanatory comment about options that disable UI columns
3. move 'nofoldenable' to the if-else block to keep relevant commands coupled
|
|\ \
| | |
| | | |
feat(column)!: rework 'statuscolumn' %r/l items
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: A custom 'statuscolumn' needs to check a bunch of options and
placed signs to replicate the default number column.
Solution: Rework %l item to include the necessary logic to mimic the
default number column. Remove now redundant %r item.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
compiler options
The value of g:javac_makeprg_params, if set, is added to the value of
'makeprg' as an option string.
closes: vim/vim#14999
https://github.com/vim/vim/commit/0ddab582fa13d1d653800494e45ecfba00974a18
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|