| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| | |
Problem: Search highlight disappears in the Visual area.
Solution: Combine the search attributes. (closes vim/vim#8134)
https://github.com/vim/vim/commit/2d5f385cee3668c44089edcb9d60b0b5d751ee5d
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: The mode #defines are not clearly named.
Solution: Prepend MODE_. Renumber them to put the mapped modes first.
https://github.com/vim/vim/commit/249591057b4840785c50e41dd850efb8a8faf435
A hunk from the patch depends on patch 8.2.4861, which hasn't been
ported yet, but that should be easy to notice.
|
| |
| |
| |
| |
| |
| | |
Problem: Conceal character from matchadd() displayed too many times.
Solution: Check the syntax flag. (closes vim/vim#10381, closes vim/vim#7268)
https://github.com/vim/vim/commit/9830db63057db76044eca89cc4cfb2758ae7a543
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| |
| | |
Also normalize some types. use "size_t" for unsigned array offsets.
Fix -Wconversion issues missed as screen.c is missing this check.
|
| |\
| | |
| | | |
refactor: replace char_u variables and functions with char
|
| | |
| | |
| | |
| | | |
Work on https://github.com/neovim/neovim/issues/459
|
| |\ \
| | | |
| | | | |
refactor(decor): use decor levels properly
|
| | |/ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
This warning is essentially only triggered for ported vim functions.
It's unlikely that we'll refactor vim functions solely based on their
size since it'd mean we'd greatly deviate from vim, which is a high cost
when it comes to importing the vim patches. Thus, this warning only
serves as an annoyance and should be removed.
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| | |
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add space around arithmetic operators '+' and '-'.
Remove space between back-to-back parentheses, i.e. ')(' vs. ') ('.
Remove space between '((' or '))' of control statements.
Add space between ')' and '{' of control statements.
Remove space between function name and '(' on function declaration.
Collapse empty blocks between '{' and '}'.
Remove newline at the end of the file.
Remove newline between 'enum' and '{'.
Remove newline between '}' and ')' in a function invocation.
Remove newline between '}' and 'while' of 'do' statement.
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|