| Commit message (Collapse) | Author | Age |
|\
| |
| | |
vim-patch:9.1.{0936,0941,0942}: ComplMatchIns highlight
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: a few typos were found
Solution: fix them (zeertzjq)
closes: vim/vim#16232
https://github.com/vim/vim/commit/d32bf0a06762f9ad08334d67b4d7f235f87f9063
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: ComplMatchIns doesn't work after multibyte chars
(after v9.1.0936)
Solution: Use (ptr - line) instead of wlv.col (zeertzjq).
closes: vim/vim#16233
https://github.com/vim/vim/commit/f4ccada5c372b2c14cc32490860c6995cd00268c
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Problem: cannot highlight completed text
Solution: (optionally) highlight auto-completed text using the
ComplMatchIns highlight group (glepnir)
closes: vim/vim#16173
https://github.com/vim/vim/commit/6a38aff218f5b99a1aed7edaa357df24b9092734
Co-authored-by: glepnir <glephunter@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a terminal application running inside the terminal emulator sets
the cursor shape or blink status of the cursor, update the cursor in the
parent terminal to match.
This removes the "virtual cursor" that has been in use by the terminal
emulator since the beginning. The original rationale for using the
virtual cursor was to avoid having to support additional UI methods to
change the cursor color for other (non-TUI) UIs, instead relying on the
TermCursor and TermCursorNC highlight groups.
The TermCursor highlight group is now used in the default 'guicursor'
value, which has a new entry for Terminal mode. However, the
TermCursorNC highlight group is no longer supported: since terminal
windows now use the real cursor, when the window is not focused there is
no cursor displayed in the window at all, so there is nothing to
highlight. Users can still use the StatusLineTermNC highlight group to
differentiate non-focused terminal windows.
BREAKING CHANGE: The TermCursorNC highlight group is no longer supported.
|
| |
|
|
|
|
|
|
|
| |
Problem: Two separate try/end wrappers, that only marginally differ by
restoring a few variables. Wrappers that don't restore
previous state are dangerous to use in "api-fast" functions.
Solution: Remove wrappers that don't restore the previous state.
Always use TRY_WRAP.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#31605)
Problem: hard to view an existing buffer in the preview window
Solution: add the :pbuffer command (Yinzuo Jiang)
Similar as `:pedit` and `:buffer` command. `:pbuffer` edits buffer [N]
from the buffer list in the preview window.
`:pbuffer` can also open special buffer, for example terminal buffer.
closes: vim/vim#16222
https://github.com/vim/vim/commit/a2a2fe841ed2efdbb1f8055f752a3a4d0988ae9d
Cherry-pick Test_popup_and_previewwindow_dump() changes from patch
9.0.0625.
Cherry-pick Run_noroom_for_newwindow_test() changes from patches
8.2.0432 and 9.0.0363.
Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
block mode (#31603)
Problem: exclusive selection not respected when re-selecting block mode
(Matt Ellis)
Solution: advance selection by another character when using
selection=exclusive and visual block mode
fixes: vim/vim#16202
closes: vim/vim#16219
https://github.com/vim/vim/commit/bb955894734b287abfadd3a25786a42038d18d61
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|\
| |
| | |
vim-patch: doc updates
|
| |
| |
| |
| |
| |
| |
| |
| | |
closes: vim/vim#16224
https://github.com/vim/vim/commit/3920bb4356aa7324a4be1071c87524a2f921d921
Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
updates
1) move the section at :h inclusive-motion-selection-exclusive a few
lines below, so that it doesn't live in between the 2 exceptions.
2) remove the tag :h :!-range. It's not accurate (because it is actually
a filter) and this command is already described at :h :range!
https://github.com/vim/vim/commit/0a4e57f44abc05033f839b4538efee8120f7d967
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|/
|
|
|
|
| |
https://github.com/vim/vim/commit/41d6de2974429f5fc76fbeacc233a1fa66c6f869
Co-authored-by: Antonio Giovanni Colombo <azc100@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
- API functions using `try_start` directly, do not surface the
underlying error message, and instead show generic messages.
- Error-handling code is duplicated in the API impl.
- Failure modes are not tested.
Solution:
- Use `TRY_WRAP`.
- Add tests.
|
| |
|
|
|
|
|
|
|
|
| |
Problem:
`man -w` does not work on recent versions of MacOs.
Solution:
Make it so an empty result is interpreted as an error unless silent=true
|
|
|
|
|
|
| |
A new security restriction in Ubuntu 24.04 prevents users from using
`unshare`, so we need to disable it in order for the test to work
properly.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Regression from de794f2d2409: `vim.diagnostic.setqflist{open=true}` attempts to
open the location list instead of the diagnostics quickfix list if it didn't
exist before. This is because we are using `qf_id` to decide which to open, but
`qf_id=nil` when there is no existing diagnostics quickfix list with a given
title ("Diagnostics" by default).
Solution:
- Revert to using `loclist` to decide which to open.
- Add tests.
|
|\
| |
| | |
refactor(wininfo): change wininfo from a linked list to an array
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
"wininfo" is going to be my next victim. The main problem with wininfo
is that it is "all or nothing", i e either all state about a buffer in a
window is considered valid or none of it is. This needs to be fixed to
address some long running grievances.
For now this is just a warmup: refactor it from a linked list to a
vector.
|
|/
|
|
|
|
|
|
|
|
|
| |
Problem:
- API functions using `try_start` directly instead of `TRY_WRAP`, do not
surface the underlying error message, and instead show generic things
like "Failed to set buffer".
- Error handling code is duplicated in the API impl, instead of
delegating to the vim buffer/window handling logic.
Solution:
- Use `TRY_WRAP`.
|
|
|
|
|
|
| |
Problem: cannot handle `:undo` and `:redo` messages in a special way,
e.g. replace one by another.
Solution: add `undo` kind.
|
|
|
|
|
|
|
|
|
|
|
|
| |
## Problem
With 'winfixbuf' enabled, `nvim_win_set_buf` and `nvim_set_current_buf` fail
even if targeting the already-current buffer.
vim.wo.winfixbuf = true
vim.api.nvim_win_set_buf(0, 0)
vim.api.nvim_set_current_buf(0)
Solution:
Check for this condition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: lalrpop files are not recognized
Solution: detect '*.lalrpop' files as lalrpop filetype
(David Thievon)
References:
https://github.com/lalrpop/lalrpop
closes: vim/vim#16223
https://github.com/vim/vim/commit/5a2e0cf5f11c611c9b01f1bd6e7294edf0dd2bf4
Co-authored-by: David Thievon <pdkfan@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: Pixi lock files are not recognized
Solution: detect "pixi.lock" file as yaml filetype
(Brandon Maier)
Reference:
https://pixi.sh/latest/features/lockfile/
closes: vim/vim#16212
https://github.com/vim/vim/commit/7d1bb90dcf711c732a49e0a45e56028a4853a17d
Co-authored-by: Brandon Maier <brandon.maier@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: style issues in insexpand.c
Solution: add braces, use ternary operator to improve style
(glepnir)
closes: vim/vim#16210
https://github.com/vim/vim/commit/6e19993991cfbea2e00435cc706a15ba7e766c55
vim-patch:9.1.0922: wrong MIN macro in popupmenu.c
vim-patch:9.1.0923: too many strlen() calls in filepath.c
vim-patch:9.1.0924: patch 9.1.0923 causes issues
Co-authored-by: glepnir <glephunter@gmail.com>
|
|\
| |
| | |
vim-patch: doc updates
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`:h :pedit`
closes: vim/vim#16217
https://github.com/vim/vim/commit/fbe9a6903a5b66d5b546a5a080726cba50372df5
Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
|
|/
|
|
|
|
|
|
|
|
| |
exclusive selection
related: vim/vim#16202
https://github.com/vim/vim/commit/ed89206efe404a94e8424ccfe03c978fd93470f1
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
| |
Problem:
Since e049c6e4c08a, most statusline-like UI elements can combine
highlight attrs, except for sign/statuscolumn.
Solution:
Implement for sign/statuscolumn.
|
| |
|
|
|
| |
This reverts commit 7940ec69136fa992c98aa7b37265fbc2e619232e.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
An LSP configuration that creates client with no root_dir or
workspace_folders can result in vim.lsp.enable attaching to it multiple
times.
Solution:
When checking existing clients, reuse a client if it wasn't initially
configured have any workspace_folders. This more closely matches the
behaviour we had prior to d9235ef
|
|
|
| |
closes: #31512
|
|\
| |
| | |
vim-patch:9.1.{0921,0922}
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: wrong MIN macro in popupmenu.c (after v9.1.0921)
(zeertzjq)
Solution: change it to MAX()
https://github.com/vim/vim/commit/618c4d36ca92a62212a37e787c202229ceff8537
Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: glepnir <glephunter@gmail.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: popupmenu logic is a bit convoluted
Solution: slightly refactor logic and use MIN/MAX() macros to simplify
(glepnir)
Define the MAX/MIN macros. Since we support some older platforms, C
compilers may not be as smart. This helps reduce unnecessary if
statements and redundant ternary expressions. Pre-calculate some
expressions by defining variables. Remove unnecessary parentheses.
Adjust certain lines to avoid exceeding 80 columns.
closes: vim/vim#16205
https://github.com/vim/vim/commit/c942f84aadffd0c8969ecf81e3e9103722b2714f
Co-authored-by: glepnir <glephunter@gmail.com>
|
|
|
|
|
|
|
|
| |
fixes: vim/vim#16206
https://github.com/vim/vim/commit/5c42c7731536418c53273932d7ef76b80b001f38
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: some assembler are files not recognized
Solution: detect '*.nasm' files as nasm filetype and '*.masm' as masm
filetype (Wu, Zhenyu)
closes: vim/vim#16194
https://github.com/vim/vim/commit/d66d68763d0947c292a9fdda4da6fda3650fa563
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
| |
Problem: when zindex is changed in vim.schedule the zindex sort in
layers not changed.
Solution: resort layers when zindex changed.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, when updating the quickfix diagnostics list, we'd update it,
and then open the quickfix buffer, but there was no guarantee that the
quickfix buffer would be displaying the quickfix diagnostics list (it
could very possibly be displaying some other quickfix list!).
This fixes things so we first select the quickfix list before opening the
quickfix buffer. If `open` is not specified, the behavior is the same as
before: we update the diagnostics quickfix list, but do not navigate to
it.
fixes https://github.com/neovim/neovim/issues/31540
|
|
|
|
|
|
|
| |
Previously, there was a singleton diagnostics quickfix list. Now there's
effectively one per title (up to vim's internal limit on quickfix
lists).
Suggested by mfussenegger https://github.com/neovim/neovim/pull/30868#pullrequestreview-2385761374.
|
|
|
|
|
|
|
|
|
|
| |
**Problem:**
The brackets in the RFC2732 regular expression are currently unescaped,
causing them to be misinterpreted as special characters denoting
character groups rather than as literal characters.
**Solution:**
Escape the brackets.
Fix #31270
|
|
|
|
|
|
|
| |
Problem: Float preview window still exist when back at original.
Or no info item is selected.
Solution: if selected is -1 or no info is selected, if float preview
window exist close it first.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`get_captures_at_pos()` #30559
**Problem:** Currently, it is difficult to get node(s)-level metadata
for a capture returned by `get_captures_at_pos()`. This is because it is
stored in `metadata[id]` and we do not have access to the value of `id`,
so to get this value we have to iterate over the keys of `metadata`. See
[this commit](https://github.com/neovim/neovim/commit/d63622930001b39b12f14112fc3abb55b760c447#diff-8bd4742121c2f359d0345f3c6c253a58220f1a28670cc4e1c957992232059a6cR16).
Things would be much simpler if we were given the `id` of the capture so
we could use it to just index `metadata` directly.
**Solution:** Include `id` in the data returned by
`get_captures_at_pos()`
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Design goals/requirements:
- Default configuration of a server can be distributed across multiple sources.
- And via RTP discovery.
- Default configuration can be specified for all servers.
- Configuration _can_ be project specific.
Solution:
- Two new API's:
- `vim.lsp.config(name, cfg)`:
- Used to define default configurations for servers of name.
- Can be used like a table or called as a function.
- Use `vim.lsp.confg('*', cfg)` to specify default config for all
servers.
- `vim.lsp.enable(name)`
- Used to enable servers of name. Uses configuration defined
via `vim.lsp.config()`.
|