zeertzjq
b60a2ab4cb
fix(inccommand): block errors when parsing command line again ( #24374 )
...
Revert the change to ex_getln.c from a741c7fd04
2023-07-17 10:15:45 +08:00
zeertzjq
0ce3910868
fix(ui): cursor pos with left gravity inline virt_text at eol ( #24329 )
...
Problem: Cursor is not after inline virtual text with left gravity
when inserting after the end of the line.
Solution: Add width of inline virtual text with left gravity to cursor
virtcol in Insert mode even if on a NUL.
2023-07-13 08:32:17 +08:00
zeertzjq
9359701eae
test(extmarks): add test for virt_text_win_col with cpo+=n ( #24328 )
2023-07-13 07:02:06 +08:00
zeertzjq
bf52fb7193
fix(mouse): copy the line before syntax matching ( #24320 )
2023-07-12 08:50:34 +08:00
zeertzjq
06694203e5
fix(drawline): fix missing Visual hl on double-width fold char ( #24308 )
2023-07-11 13:16:31 +08:00
Ibby
c4df2f08b6
fix(extmarks): fix wrong highlight after "combine" virt_text ( #24281 )
2023-07-08 09:53:30 +08:00
zeertzjq
811140e276
fix(folds): fix missing virt_lines above when fold is hidden ( #24274 )
2023-07-07 09:49:58 +08:00
zeertzjq
36941942d6
fix(drawline): inline virt_text hl_mode inside syntax/extmark hl ( #24273 )
2023-07-07 07:21:12 +08:00
zeertzjq
25e62697c3
fix(column): fix wrong cursor with 'statuscolumn' and cpo+=n ( #24268 )
2023-07-06 11:07:23 +08:00
fredizzimo
1de82e16c1
fix(ui): delay win_viewport until screen update #24182
...
Problem:
Sometimes, when nvim sends the `win_viewport` event, for example when scrolling
with visible folds on the screen, it reports the `scroll_delta` value one batch
into "future". So when the client application is trying to show the new viewport
it's not yet updated, resulting in temporary corruption / screen flickering.
For more details see #23609 , and starting from [this comment](
https://github.com/neovide/neovide/pull/1790#issuecomment-1518697747 ) in
https://github.com/neovide/neovide/pull/1790 ,, where the issue was first
detected. Note that some of the conclusions in those are not fully accurate, but
the general observations are.
Solution:
When there are pending updates to a Window, delay the `win_viewport` UI event
until the updates are sent. This ensures that there's no flush between sending
the viewport and updating of the lines corresponding to the new viewport.
Document the existing viewport behaviour (for cases where there are no
extra flushes), give a hint about how applications can deal with the slightly
surprising behaviour of the viewport event being sent after the updates.
Fixes https://github.com/neovim/neovim/issues/23609
2023-07-05 06:31:34 -07:00
zeertzjq
a76b689b47
perf(ui-ext): approximate scroll_delta when scrolling too much ( #24234 )
2023-07-04 16:48:53 +08:00
zeertzjq
e8b3ed74bc
fix(ui-ext): "scroll_delta" handle topfill and skipcol ( #24249 )
2023-07-04 14:14:09 +08:00
zeertzjq
35c3275b48
fix(plines): handle inline virtual text after last char ( #24241 )
...
Also remove dead code in win_lbr_chartabsize().
2023-07-03 22:57:45 +08:00
zeertzjq
d7bb19e013
fix(statusline): fill for double-width char after moving items ( #24207 )
2023-06-30 08:36:09 +08:00
zeertzjq
7d0a23973b
fix(column): handle unprintable chars in 'statuscolumn' ( #24198 )
2023-06-29 11:37:55 +08:00
zeertzjq
d90f5ab9ac
test(statusline): add test with control characters ( #24197 )
2023-06-29 11:18:56 +08:00
zeertzjq
cd6458123f
fix(charset): fix wrong display of 0xffff ( #24158 )
2023-06-26 11:52:52 +08:00
zeertzjq
8182384205
test(extmarks): add a test for #23848 ( #24140 )
2023-06-24 22:15:13 +08:00
Ibby
31a51acdc3
fix(extmarks): fix heap buffer overflow caused by inline virtual text ( #23851 )
...
also fixes an edge case where the extends character would not be drawn if the real text exactly fits the grid.
2023-06-24 11:39:16 +01:00
zeertzjq
3688735c2b
fix(cmdline): don't redraw 'tabline' in Ex mode ( #24123 )
...
Redrawing of 'statusline' and 'winbar' are actually already inhibited by
RedawingDisabled in Ex mode.
In Vim there is a check for `msg_scrolled == 0` (which is false in Ex
mode) since Vim doesn't have msgsep. Add a `!exmode_active` check here
in Nvim instead.
2023-06-23 06:40:26 +08:00
zeertzjq
f0884f21fa
feat(extmarks): support hl_mode "combine" for inline virt_text ( #24099 )
2023-06-22 20:39:35 +08:00
zeertzjq
f4f1ce1d16
fix(extmarks): hide inline virt_text properly with 'smoothscroll' ( #24106 )
2023-06-22 18:15:04 +08:00
zeertzjq
958cc22836
fix(extmarks): empty inline virt_text interfering with DiffText ( #24101 )
2023-06-22 17:48:53 +08:00
zeertzjq
0534ad8ca5
fix(extmarks): empty inline virt_text interfering with Visual highlight
2023-06-22 15:04:46 +08:00
zeertzjq
ded01a819a
fix(folds): don't show search or match highlighting on fold ( #24084 )
2023-06-21 18:28:12 +08:00
zeertzjq
d81f78713b
test(decorations_spec): add test for extmark case of #21486 ( #24028 )
2023-06-15 11:14:50 +08:00
zeertzjq
a05bbc60ea
fix(extmarks): don't position overlay virt_text halfway a char ( #24027 )
2023-06-15 09:03:39 +08:00
zeertzjq
4c7cec4e29
fix(extmarks): handle inline virt_text with empty chunk ( #24005 )
2023-06-13 11:30:19 +08:00
Jonathon
0381f5af5b
feat(diff): grouping optimization for linematch algorithm
2023-06-07 13:29:23 +01:00
zeertzjq
7b973c71ea
fix(statusline): redraw when VIsual_mode changes ( #23933 )
2023-06-06 19:24:42 +08:00
zeertzjq
a3fba5cafc
fix(mouse): handle folded lines with virt_lines attached to line above ( #23912 )
2023-06-05 17:11:58 +08:00
zeertzjq
7955c90621
fix(plines): folded lines with virt_lines attached to line above
2023-06-05 08:45:32 +08:00
zeertzjq
fdc8e966a9
fix(ui): don't send empty grid_line with redrawdebug=compositor ( #23899 )
2023-06-04 10:49:02 +08:00
zeertzjq
700cab0068
fix(events)!: trigger CursorMoved later on switching window ( #23711 )
2023-06-04 09:09:22 +08:00
zeertzjq
0e01e81552
fix(folds): allow overlay virtual text on folded line ( #23892 )
...
Also always check for fi_level before fi_lines.
2023-06-03 18:44:08 +08:00
zeertzjq
afb70eba8c
Merge pull request #23789 from luukvbaal/spell
...
vim-patch:9.0.{1585,1595}
2023-06-01 21:29:14 +08:00
Luuk van Baal
ac1ad9651e
vim-patch:9.0.1595: line pointer becomes invalid when using spell checking
...
Problem: Line pointer becomes invalid when using spell checking.
Solution: Call ml_get() at the right places. (Luuk van Baal, closes vim/vim#12456 )
e84c773d42
2023-06-01 14:30:21 +02:00
zeertzjq
2bdef6dd2a
fix(column): don't overflow sign column with extmark signs ( #23854 )
2023-06-01 16:20:31 +08:00
zeertzjq
7e3ff8afa4
test(extmarks): folding inline virt_text on empty line ( #23847 )
2023-05-31 06:50:37 +08:00
luukvbaal
70da793c5e
fix(statusline): corrupted screen with minwid sign item in 'statuscolumn' ( #23823 )
2023-05-30 20:56:12 +08:00
zeertzjq
55f6a1cab0
vim-patch:9.0.1588: Incsearch not triggered when pasting clipboard register ( #23817 )
...
Problem: Incsearch not triggered when pasting clipboard register on the
command line.
Solution: Also set "literally" when using a clipboard register. (Ken Takata,
closes vim/vim#12460 )
9cf6ab1332
Co-authored-by: K.Takata <kentkt@csc.jp >
2023-05-30 07:18:12 +08:00
zeertzjq
9dd48f7832
fix(substitute): properly check if preview is needed ( #23809 )
2023-05-29 08:44:52 +08:00
zeertzjq
9c41a81dec
fix(extmarks): fix virt_text_hide off-by-one hiding ( #23795 )
2023-05-28 17:29:44 +08:00
zeertzjq
4dd43e31db
fix(extmarks): don't show virt lines for end mark ( #23792 )
2023-05-28 17:22:25 +08:00
zeertzjq
f29acc5073
test(extmarks): add tests for #14201 #20004 #20885 ( #23794 )
2023-05-28 16:28:10 +08:00
zeertzjq
e41b2e34b4
test(extmarks): add test for virt_text_hide with 'smoothscroll' ( #23791 )
2023-05-28 11:09:25 +08:00
zeertzjq
510e1f131b
fix(extmarks): make right_align and win_col work on wrapped line ( #23759 )
2023-05-27 21:36:16 +08:00
bfredl
68da87d2e7
Merge pull request #23742 from bfredl/neolight
...
fix(drawline): combine extmark highlight with area hl correctly
2023-05-26 11:48:05 +02:00
bfredl
a92d78d201
Merge pull request #23583 from zeertzjq/ui-attach-title
...
fix(ui-ext): send title to newly-attached UI
2023-05-26 11:29:56 +02:00
zeertzjq
a6dd67f5b6
fix(extmarks): fix virt_text_hide with 'nowrap' and multibyte ( #23757 )
2023-05-26 10:41:19 +08:00