| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| |
| |
| | |
closes: vim/vim#16671
https://github.com/vim/vim/commit/106899eb21ac0adfa0e31229d921a5f81e6a7e22
Co-authored-by: dringsim <dringsim@qq.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
runtime/syntax/dosini.vim supports both ; and # as comments, and I think
a bunch of the files detected as dosini do too, so add support for # to
the ftplugin.
closes: vim/vim#16681
https://github.com/vim/vim/commit/911742a975caf69c1e35a866288f58450eb476cd
Co-authored-by: David Mandelberg <david@mandelberg.org>
|
| |
| |
| |
| | |
Co-authored-by: Jaehwang Jung <tomtomjhj@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Messages preceding a `cmdline_show->prompt` event can not be
distinguished as such when receiving the event. (But since
`msg_show` handlers should be scheduled, one can already check
whether a prompt is active when displaying the message.)
Solution: Rather than add a new kind again, use the `confirm` kind.
Could be seen as slightly misleading where it is more of
a choice rather than a confirmation, but that already applies
to `confirm()` as well...
|
| |
| |
| |
| | |
Add a new field `virt_lines_overflow` that enables horizontal scrolling
for virtual lines when set to "scroll".
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
PuTTY sets TERM=xterm, but sends ESC[1~ and ESC[4~ for Home/End keys,
which does not match what the 'xterm' terminfo has for khome/kend, so
libtermkeys instead reports them as the original DEC VT220 names.
The VT220 came with a DEC LK201 keyboard which had the following keys in
the area above arrow keys (where PCs now have Ins/Del/Home/End/etc):
┌────────┬────────┬────────┐
│ Find │ Insert │ Re- │
│ │ Here │ move │
├────────┼────────┼────────┤
│ Select │ Prev │ Next │
│ │ Screen │ Screen │
└────────┴────────┴────────┘
These would send ESC[x~ sequences in the expected order:
┌────────┬────────┬────────┐
│ ESC[1~ │ ESC[2~ │ ESC[3~ │
├────────┼────────┼────────┤
│ ESC[4~ │ ESC[5~ │ ESC[6~ │
└────────┴────────┴────────┘
Modern terminals continue to use the same sequences for Ins/Del as well
as PageUp/PageDn. But the VT220 keyboard apparently had no Home/End, and
PuTTY apparently chose to re-purpose the Find/Select key sequences for
Home/End (even though it claims to emulate Xterm and this doesn't match
what actual Xterm does).
So when Home/End are used in Neovim through PuTTY with TERM=xterm (the
default setting), libtermkey finds no match for the received sequences
in the terminfo database and defaults to reporting them as <Find> and
<Select> respectively.
PuTTY is not unique here -- tmux *also* sends ESC[1~ and ESC[4~ after
its internal translation -- but the difference is that 'tmux' terminfo
correctly maps them to Home/End so Neovim recognizes them as such, while
PuTTY defaults to using 'xterm' which uses a different mapping.
This initial patch only allows Neovim to recognize <Find> and <Select>
key codes as themselves, so that the user could manually map them e.g.
using ":imap <Find> <Home>".
Alternatives:
- Using TERM=putty(-256color) would of course be the most correct
solution, but in practice it leads to other minor issues, e.g. the
need to have different PuTTY config profiles for older or non-Linux
systems that lack that terminfo, or tmux's insistence on rendering
italics as reverse.
- Using Neovim through tmux avoids the problem (as tmux recognizes
ESC[1~ on input), but is something that needs to be manually run
every time.
The keycodes.h constants are slightly misnamed because K_SELECT was
already taken for a different purpose.
|
| |
| |
| |
| |
| |
| |
| |
| | |
from netrw (#32506)
closes: vim/vim#16494
fixes: #vim/vim#16486
https://github.com/vim/vim/commit/c729d6d154e097b439ff264b9736604824f4a5f4
|
| |
| |
| |
| |
| |
| |
| |
| | |
**Problem:** An erroneous query in the treesitter highlighter gives a
deluge of errors that makes the editor almost unusable.
**Solution:** Detach the highlighter after an error is detected, so that
it only gets displayed once (per highlighter instance).
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Computing fold levels for an empty buffer (somehow) breaks the
parser state, resulting in a broken highlighter and foldexpr.
Cached foldexpr parser is invalid after filetype has changed.
Solution: Avoid computing fold levels for empty buffer.
Clear cached foldinfos upon `FileType`.
|
| |
| |
| |
| |
| |
| |
| | |
Problem: `vim.treesitter._create_parser()` silently loads the buffer,
bypassing the swapfile prompt.
Solution: Error for an unloaded buffer, ensure buffer is loaded in
`vim.treesitter.start()` instead.
|
| |
| |
| |
| |
| |
| |
| | |
Problem:
lua-bit is built-in, but there is no doc
Solution:
Upstream doc from https://bitop.luajit.org/
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(#32500)
related: vim/vim#16607
https://github.com/vim/vim/commit/5647c91355f1ff3a1030c737bf5133bb7da5bb76
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
| |
| |
| |
| |
| | |
We need to add a separate variable to keep track of this information,
since we cannot read the length of the valid regions table itself, since
it has holes.
|
| |
| |
| |
| |
| | |
Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Co-authored-by: Julian Visser <12615757+justmejulian@users.noreply.github.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#32487)
Contain the vimNotation syntax group, matching this at top level is
unnecessary and very slow.
The removed vimString and vimNumber definitions are broken and/or never
match. They have long been replaced by newer definitions.
closes: vim/vim#16645
https://github.com/vim/vim/commit/68ba6c2c6c165796225f321597341a464fd72b63
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
| |
#32464
|
| |
|
|
|
|
|
| |
There are too many flakes and intermittent failures to reliably use it.
Disable it for the time being until things stabilize.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The "Ukrainian enhanced keymap" allows you to type Ukrainian in Vim
using jcuken Windows layout.
Original file is made by Ivan Korneliuk and can be found at
https://github.com/vansha/ukrainian-enhanced.vim. It is being added here
with the permission of the author.
There is another ukrainian layout already in Vim, namely the
keymap\ukrainian-jcuken.vim script by Anatoli Sakhnik. But this one
differs in way it maps numeric keys. It uses values usual for Windows
users.
closes: vim/vim#16628
https://github.com/vim/vim/commit/3f60114236cff60caf117fd708476fd4ff72252b
Co-authored-by: Vladyslav Rehan <rehanvladyslav@gmail.com>
|
|
|
|
|
|
|
|
|
| |
insert-completion (#32448)
closes: vim/vim#16636
https://github.com/vim/vim/commit/faf4112cdc60ca126986da15148f78337f126cf7
Co-authored-by: glepnir <glephunter@gmail.com>
|
|
|
|
|
|
|
|
| |
`command` was already resolved via a `completionItem/resolve` request
but only if `additionalTextEdits` were also present, and the
`resolveSupport` capability wasn't listed.
Closes https://github.com/neovim/neovim/issues/32406
|
|
|
|
|
|
|
|
| |
closes: vim/vim#16625
https://github.com/vim/vim/commit/d7deeffe11f4db3cce19236ddb80831652a87e83
Co-authored-by: Matt Perry <matt@mattperry.com>
|
|
|
|
|
|
|
|
| |
closes: vim/vim#16626
https://github.com/vim/vim/commit/407319fe89d5df2c732937474479803d67761879
Co-authored-by: Matt Perry <matt@mattperry.com>
|
|
|
|
|
|
|
|
|
| |
continuation comments to EOL (#32435)
closes: vim/vim#16630
https://github.com/vim/vim/commit/4f010c90bdcb56a9c72cfee4d6fe3130b88616f8
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|
|
|
| |
Co-authored-by: Gregory Anders <greg@gpanders.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| |
|
|\ |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Problem: When expanding a completion item that contains a multi-line word, the word is not deleted correctly.
Solution: If the word contains a line break, delete the text from Context.cursor to the current cursor position.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: autotrigger option of vim.lsp.completion.enable() would trigger
all clients, as long as it matched at least one client's
triggerCharacters.
Solution: trigger only the clients with triggerCharacters matching the
character. overtriggering still happens if any client returns
isIncomplete=true (this case is more involved).
Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ftplugin
closes: vim/vim#16619
https://github.com/vim/vim/commit/8f3277fbbe92ff0e93289fec4bf8e91841e4ae25
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
null literals in parens
- Match Vim9 boolean and null literals in parenthesised expressions and
function argument lists.
- Match read-only registers in expressions.
closes: vim/vim#16622
https://github.com/vim/vim/commit/a9c06429ac2a5366ec177621f2275b166605f681
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Match variables after operators, including line continuations.
- Match option variables without leading whitespace.
- Explicitly match expression subscripts.
- Match Vim9 variables in LHS of assignments and method calls.
- Match option variables (&option) with a dedicated syntax group like
environment variables.
- Match list literals, fixes: vim/vim#5830
- Match :{un}lockvar arguments.
- Match registers and environment variables in :let unpack lists.
- Match lambda expressions
- Match Vim9 scope blocks
- Match variables in :for subject
- Highlight user variables with Normal
- Improve this/super keyword matching, fixes: vim/vim#15970
closes: vim/vim#16476
https://github.com/vim/vim/commit/1aa287e0480ff9e6c8d7029b0665b565b7cd6e59
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
count prefix
Match :0debuggreedy as a special case until better range/count support
is implemented.
closes: vim/vim#16572
https://github.com/vim/vim/commit/4a530a632bb220b9aec827a12ab211a563c5583d
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
1. Open a relatively large file (so the server needs some time to
process the request).
2. Then immediately execute `:bdelete`.
3. Once the request is completed, the handler will obtain the bufstate
of a buffer already unloaded.
Error executing vim.schedule lua callback: ...7841_1/share/nvim/runtime/lua/vim/lsp/_folding_range.lua:119: assertion failed!
stack traceback:
[C]: in function 'assert'
...7841_1/share/nvim/runtime/lua/vim/lsp/_folding_range.lua:119: in function 'multi_handler'
...7841_1/share/nvim/runtime/lua/vim/lsp/_folding_range.lua:140: in function 'handler'
...HEAD-c137841_1/share/nvim/runtime/lua/vim/lsp/client.lua:669: in function ''
vim/_editor.lua: in function <vim/_editor.lua:0>
Solution:
On detach, cancel all pending textDocument_foldingRange requests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vim-patch:partial:9.1.1084: Unable to persistently ignore events in a window and its buffers
Problem: Unable to persistently ignore events in a window and its buffers.
Solution: Add 'eventignorewin' option to ignore events in a window and buffer
(Luuk van Baal)
Add the window-local 'eventignorewin' option that is analogous to
'eventignore', but applies to a certain window and its buffers. Identify
events that should be allowed in 'eventignorewin', adapt "auto_event"
and "event_tab" to encode this information. Window context is not passed
onto apply_autocmds_group(), and when to ignore an event is a bit
ambiguous when "buf" is not "curbuf", rather than a large refactor, only
ignore an event when all windows into "buf" are ignoring the event.
https://github.com/vim/vim/commit/b7147f8236c962cd74d1ce028d9106f1c449ea6c
vim-patch:9.1.1102: tests: Test_WinScrolled_Resized_eiw() uses wrong filename
Problem: tests: Test_WinScrolled_Resized_eiw() uses wrong filename
(Luuk van Baal, after v9.1.1084)
Solution: Rename the filename to something more unique
https://github.com/vim/vim/commit/bfc7719e48ffc365ee0a1bd1888120d26b6365f0
|
|\ |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Cannot detach the current UI.
Solution:
- Introduce `:detach`.
- Introduce `Channel.detach`.
Co-authored-by: bfredl <bjorn.linse@gmail.com>
|
|
|
| |
The ctx parameter is not needed since various refactors.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Match both | separators and link to the Delimiter highlight group.
fixes vim/vim#16584
closes: vim/vim#16590
https://github.com/vim/vim/commit/f30eb4a17084eea741a9eb09ba47dd501412283d
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: The behavior of the visual search mappings aren't consistent
with their normal mode counterparts.
- The count isn't considered
- Searching with an empty selection will match every character in the
buffer
- Searching backwards only jumps back when the cursor is positioned at
the start of the selection.
Solution:
- Issue `n` `v:count1` times
- Error out and exit visual mode when the selection is empty
- Detect when the cursor is not at the start of the selection, and
adjust the count accordingly
Also, use the search register instead of the more error-prone approach
of feeding the entire search string as an expression
|
|
|
|
|
|
|
| |
Problem:
No obvious way to see diagnostics without configuring it first.
Solution:
Add `Show Diagnostics`, `Show All Diagnostics` and `Configure
Diagnostics` buttons to the context menu.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
With some LSP servers, `vim.lsp.buf.signature_help` (CTRL-s in insert-mode)
highlights the first parameter regardless of the current cursor position.
- On some lsps the `textDocument/signatureHelp` response only includes the
`activeParameter` field on the `lsp.SignatureHelp` object.
```lua
{
{
result = {
activeParameter = 2,
signatures = {
{
documentation = {
kind = "markdown",
value = ""
},
label = "getBuyers(ctx context.Context, orderDB boil.ContextExecutor, supplierID string) ([]*BuyerWithLocation, error)",
parameters = {
{
label = "ctx context.Context"
},
{
label = "orderDB boil.ContextExecutor"
},
{
label = "supplierID string"
}
}
}
}
}
}
}
```
Solution:
Ensure we retain this information before showing the signature information.
Closes #32381
|