| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
Co-authored-by: Elias Alves Moura <eliamoura.alves@gmail.com>
Co-authored-by: venkatesh <shariharanvenkatesh@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: Vikas Raj <24727447+numToStr@users.noreply.github.com>
Co-authored-by: Steve Vermeulen <sfvermeulen@gmail.com>
Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Co-authored-by: rwxd <rwxd@pm.me>
Co-authored-by: casswedson <58050969+casswedson@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Illegal memory access if buffer name is very long.
Solution: Make sure not to go over the end of the buffer.
https://github.com/vim/vim/commit/826bfe4bbd7594188e3d74d2539d9707b1c6a14b
Adjust the test to use :noswapfile, as Nvim fails to create the swap file on Windows due to the file
name's length (E303).
We don't have this behaviour on Linux as we get "[Permission denied]" from readfile(), so there is
no attempt to create the swap file. However, Vim doesn't try to create the swap file on Windows
either for a different reason: MAXPATHL in Vim for Windows is only 1024 (compared to Nvim's 4096 on
the Windows CI), so readfile() gives "Illegal file name" instead, thus not needing :noswapfile for
both cases.
|
|
|
|
|
|
|
| |
(#18055)
Problem: @@@ in the last line sometimes drawn in the wrong place.
Solution: Make sure the column is valid. (closes vim/vim#10130)
https://github.com/vim/vim/commit/cee9c844f27bceaba90362a3fa27a04d4d06c0fd
|
|
|
|
|
|
| |
Problem: Missing parenthesis may cause unexpected problems.
Solution: Add more parenthesis is macros.
https://github.com/vim/vim/commit/ae6f1d8b14c2f63811ee83ef14e32086fb3e9b83
|
|\
| |
| | |
perf: only redraw concealed line if cursor has moved horizontally
|
| |
| |
| |
| |
| |
| | |
Revert the code change from b7d6caaa036c3d1be716bb6e4b0f56c08fb8dcf5.
The test is kept.
The glitch was fixed by #17864, so this workaround is no longer needed.
|
| | |
|
|/
|
|
|
|
|
| |
Problem: Redrawing too often when 'relativenumber' is set.
Solution: Only redraw when the cursor line changed. (Lewis Russell,
closes vim/vim#10040)
https://github.com/vim/vim/commit/1624639ec8a6c3c99e417a2990f2f02f0d0b6e10
|
|
|
|
|
|
|
|
|
| |
Problem: Superfluous check if a redraw is needed for 'cursorline'.
Solution: Remove check_redraw_cursorline(). (closes vim/vim#10030, closes vim/vim#10029)
https://github.com/vim/vim/commit/3e559cd88486ffab6b6fb4e0921b4600d137a617
redraw_after_callback() is N/A.
Omits changes that just revert code from patch 8.2.4630.
|
|
|
|
|
|
|
|
| |
mode (#17864)
Problem: Visual area not fully updated when removing sign in Visual mode
while scrolling.
Solution: Adjust check for topline. (closes vim/vim#10017)
https://github.com/vim/vim/commit/abb6fbd14d985b9b36a4e336d6edaf9853888ac1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vim-patch:8.2.4614: redrawing too much when 'cursorline' is set
Problem: Redrawing too much when 'cursorline' is set and jumping around.
Solution: Rely on win_update() to redraw the current and previous cursor
line, do not mark lines as modified. (closes vim/vim#9996)
https://github.com/vim/vim/commit/c20e46a4e3efcd408ef132872238144ea34f7ae5
This doesn't match the patch exactly, because I missed some lines when
porting patch 8.1.2029, and these lines were removed in this patch.
This also makes win_update() always update for 'concealcursor' like how
it always updates for 'cursorline', as 'cursorline' and 'concealcursor'
redrawing logic has been unified in Nvim.
As redrawing for 'cursorline' now always only requires VALID redraw
type, it is no longer necessary to call redraw_for_cursorline() in
nvim_win_set_cursor().
|
|
|
|
|
|
|
|
| |
Problem: Cursor line not updated when a callback moves the cursor.
Solution: Check if the cursor moved. (closes vim/vim#9970)
https://github.com/vim/vim/commit/e7a74d53754765f22ef8ce71c915bb669d5f7f3f
redraw_after_callback() is N/A. Nvim handles timers on the main loop.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
(#17805)
Problem: Highlight and match functionality together in one file.
Solution: Move match functionality to a separate file. (Yegappan Lakshmanan,
closes vim/vim#6352)
https://github.com/vim/vim/commit/06cf97e714fd8bf9b35ff5f8a6f2302c79acdd03
|
|
|
|
|
|
|
| |
Problem: 'hlsearch' and match highlighting in the wrong place.
Solution: Move highlighting from inside screen functions to highlight.c.
https://github.com/vim/vim/commit/bbca7732e8a3deb6e5dcf84739579a2667a75475
|
|
|
|
|
|
| |
Unlike syntax conceal, change highlight of concealed char
Can be used in tree-sitter using "conceal" metadata.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Syntax coloring and highlighting is in one big file.
Solution: Move the highlighting to a separate file. (Yegappan Lakshmanan,
closes vim/vim#4674)
https://github.com/vim/vim/commit/f9cc9f209ede9f15959e4c2351e970477c139614
Name the new file highlight_group.c instead.
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|\
| |
| | |
feat(statusline): add global statusline
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ref: #9342
Adds the option to have a single global statusline for the current window at the bottom of the screen instead of a statusline at the bottom of every window. Enabled by setting `laststatus = 3`.
Due to the fact that statuslines at the bottom of windows are removed when global statusline is enabled, horizontal separators are used instead to separate horizontal splits. The horizontal separator character is configurable through the`horiz` item in `'fillchars'`. Separator connector characters are also used to connect the horizontal and vertical separators together, which are also configurable through the `horizup`, `horizdown`, `vertleft`, `vertright` and `verthoriz` items in `fillchars`.
The window separators are highlighted using the `WinSeparator` highlight group, which supersedes `VertSplit` and is linked to `VertSplit` by default in order to maintain backwards compatibility.
|
| |
| |
| |
| |
| |
| |
| | |
- move some logic out of win_line into specific easy to read
sub-functions.
- remove drawing logic from get_sign_display_info.
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Confusing comment about 'cursorlineopt'.
Solution: Adjust comment. (closes vim/vim#9939) Add parenthesis around logical
OR.
https://github.com/vim/vim/commit/754d2b40369d8fdcf77fc05cc608f86387016bd9
|
|\ \
| | |
| | | |
refactor: apply uncrustify
|
| | | |
|
|/ /
| |
| |
| | |
Move decoration provider code to a separate file.
|
|\ \
| | |
| | | |
fix(extmarks): fix signs
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't add sign extmarks to state->active. Instead when drawing signs,
perform a full line scan for sign marks. This allows decor_redraw_line
to be moved back inside the `!number_only` block in screen.c, which
prevents decor scans when redrawing the number column when
'relativenumber' is set.
Fixes: #17638
|
|/ /
| |
| |
| |
| |
| |
| | |
Problem: Using wrong highlight for cursor line number.
Solution: Take filler lines into account when using CursorLineNr.
(closes vim/vim#9897)
https://github.com/vim/vim/commit/127969cf98000a760826ca3a0f3781a8b79522f1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add the following options to extmarks:
- sign_text
- sign_hl_group
- number_hl_group
- line_hl_group
- cursorline_hl_group
Note: ranges are unsupported and decorations are only applied to
start_row
|
| |
| |
| |
| | |
Fixes #14195
|
|/ |
|
|\
| |
| | |
fix(screen): don't put empty sign text in line number column
|
| |
| |
| |
| |
| |
| | |
When `signcolumn=number` but no sign on a given line has any text,
display the line's line number instead of the (empty) sign text in the
line number column.
|
| |
| |
| |
| |
| | |
When iterating signs to calculate the sign column, stop iterating when
we reach the maximum configured from 'signcolumn'.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: pathshorten() only supports using one character.
Solution: Add an argument to control the length. (closes vim/vim#7006)
https://github.com/vim/vim/commit/6a33ef0deb5c75c003a9f3bd1c57f3ca5e77327e
Cherry-pick a line in test from patch 8.2.0634.
Use Nvim's config paths in docs.
shorten_dir() returning a pointer looks a bit confusing here, as it is
actually the same pointer passed to it, and it doesn't really reduce
much code, so change it back to void.
Assigning rettv->vval.v_string = NULL is not needed if a pointer is
within 64 bits. While this is usually the case, I'm not sure if it can
be taken for granted.
|
|\ \
| | |
| | | |
vim-patch:8.2.4241: some type casts are redundant
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Some type casts are redundant.
Solution: Remove the type casts. (closes vim/vim#9643)
https://github.com/vim/vim/commit/420fabcd4ffeaf79082a6e43db91e1d363f88f27
This is not a literal port but an equivalent one.
|
|\ \ \
| |/ /
|/| | |
feat(statusline): support multibyte fillchar
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This includes a partial port of Vim patch 8.2.2569 and some changes to
nvim_eval_statusline() to allow a multibyte fillchar. Literally every
line of C code touched by that patch has been refactored in Nvim, and
that patch contains some irrelevant foldcolumn tests I'm not sure how to
port (as Nvim's foldcolumn behavior has diverged from Vim's).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: With 'virtualedit' set to "block" block selection is wrong after
using "$". (Marco Trosi)
Solution: Compute the longest selected line. (closes vim/vim#8495)
https://github.com/vim/vim/commit/b17ab86e7b8712206aa9ea7198c28db969e25936
|
|\ \ \
| | | |
| | | | |
vim-patch:8.2.{3227,3280,4094}: global-local 'virtualedit'
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: 'virtualedit' local to buffer is not the best solution.
Solution: Make it window-local. (Gary Johnson, closes vim/vim#8685)
https://github.com/vim/vim/commit/51ad850f5fbafa7aa3f60affa74ec9c9f992c6cc
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: 'virtualedit' can only be set globally.
Solution: Make 'virtualedit' global-local. (Gary Johnson, closes vim/vim#8638)
https://github.com/vim/vim/commit/53ba05b09075f14227f9be831a22ed16f7cc26b2
I changed some macros to unsigned integer literals to avoid compiler warnings.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Crash with linebreak, listchars and large tabstop.
Solution: Account for different size listchars for a tab. (closes vim/vim#8841)
https://github.com/vim/vim/commit/89a54b413a8c96206ce7e038dde81a6eff6cd6b8
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Problem: 'listchars' "exceeds" character appears in foldcolumn. Window
separator is missing. (Leonid V. Fedorenchik)
Solution: Only draw the "exceeds" character in the text area. Break the
loop when not drawing the text. (closes vim/vim#8524)
https://github.com/vim/vim/commit/41fb723ee97baa2f095cde601a5a144b168b7a6b
|
| |
| |
| | |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|/ |
|
|
|
|
|
|
|
|
|
| |
* vim-patch:8.2.3914: various spelling mistakes in comments
Problem: Various spelling mistakes in comments.
Solution: Fix the mistakes. (Dominique Pellé, closes vim/vim#9416)
https://github.com/vim/vim/commit/af4a61a85d6e8cacc35324f266934bc463a21673
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|