Commit Graph

728 Commits

Author SHA1 Message Date
Matthieu Coudron
f2e1709d49 fix: stop using CursorLineNr in front of fillers
filling lines in diff mode.
2021-03-22 23:33:17 +01:00
Björn Linse
243820ebd0 floats: add borders (MS-DOS MODE) 2021-03-22 23:18:40 +01:00
Björn Linse
08ca5207cd w_grid_alloc: baseline impl 2021-03-22 15:42:26 +01:00
Björn Linse
3c8583e43b Merge pull request #14020 from chentau/float_resize
Update lines after shrinking floating window
2021-03-14 08:35:48 +01:00
chentau
8fe19d9d89 screen: make ui_compositor aware of the intended size of a float 2021-03-11 12:27:29 -08:00
Björn Linse
7844ca2e05 Merge pull request #14065 from bfredl/overlaymode
more virt_text display options
2021-03-10 13:28:07 +01:00
Björn Linse
425bc438ae decorations: add additional styling of virt_text overlays 2021-03-10 12:11:05 +01:00
Jan Edmund Lazo
f7f7146588 vim-patch:8.2.2577: compiler warning for type conversion
Problem:    Compiler warning for type conversion.
Solution:   Add a typecast. (Mike Williams)
9355ae4149

N/A patches for version.c:

vim-patch:8.1.0783: compiler warning for signed/unsigned

Problem:    Compiler warning for signed/unsigned.
Solution:   Add type cast.  Change type of buffer. (Ozaki Kiichi, closes vim/vim#3827)
63c0ccd2b6

Neovim was refactored to prefer char type for string functions, not char_u.

vim-patch:8.2.2152: screenpos() does not include the WinBar offset

Problem:    screenpos() does not include the WinBar offset.
Solution:   Use W_WINROW() instead of directly using w_window. (closes vim/vim#7487)
8dd46e72cf

W_WINROW() was removed so port only the test changes.
The test is currently skipped.
2021-03-09 18:38:04 -05:00
Jan Edmund Lazo
a5bacdbfb4 vim-patch:8.1.1901: the +insert_expand feature is not always available
Problem:    The +insert_expand feature is not always available.
Solution:   Graduate the +insert_expand feature.
e2c453d38f
2021-03-01 23:41:10 -05:00
Björn Linse
4781333a7a decorations: allow virt_text overlay at any column 2021-02-22 09:40:06 +01:00
Jan Edmund Lazo
fd44bd4d4f vim-patch:8.2.1056: wrong display when mixing match conceal and syntax conceal
Problem:    Wrong display when mixing match conceal and syntax conceal.
Solution:   Adjust how conceal flags are used. (closes vim/vim#6327, closes vim/vim#6303)
211dd3fd82
2021-02-13 17:05:06 -05:00
Jan Edmund Lazo
34291eba80 vim-patch:8.2.1058: multiline conceal causes display errors
Problem:    Multiline conceal causes display errors.
Solution:   Do not allow conceal cross over EOL. (closes vim/vim#6326, closes vim/vim#4854,
            closes vim/vim#6302)
fc838d6cb0

Port test_conceal.vim but skip tests that require screendumps.
2021-02-13 16:15:00 -05:00
Jan Edmund Lazo
f1fdeaf667 option: use char* for set_string_option_direct()
"name" param was cast to (const char *).
All calls to set_string_option_direct() cast 1st arg
from (char *) to (char_u *).
Remove these useless casts.
2021-02-07 17:27:59 -05:00
Matthieu Coudron
87afc90317 screen.c: fix an issue with wrap and folds
Before this commit, a folded line would display a trailing character
with
bin/nvim -u ~/test.vim --cmd "hi NonText ctermbg=3" --cmd "hi Search ctermbg=2" --cmd "set listchars+=extends:X nowrap list"  ~/test.txt
2021-01-07 21:58:57 +01:00
Matthieu Coudron
b419e39a2a screen.c: fix last character on foldtext
Last character on a folded line was sometimes highlighted with the
"Search" highlight. Solves this along with some remaining "curwin".
2021-01-06 21:02:40 +01:00
Matthieu Coudron
2ea3127697 screen.c: fix display of signcolumn=auto in diffs (#13688)
sign_id was not reset when filler lines were involved, thus causing a
bad alignment between columns.

You could check that before this commit,

    bin/nvim -u NORC  --cmd "setglobal signcolumn=yes:4" --cmd "set diffopt+=foldcolumn:0" -d ../test1.txt ../test2.txt

would result in an irregular column width.
2021-01-05 21:23:35 +01:00
Jan Edmund Lazo
b01a60b1aa Revert "vim-patch:8.1.0822: peeking and flushing output slows down execution"
This reverts commit 0519a75f6e.
2020-12-31 16:44:53 -05:00
Jan Edmund Lazo
723e009214 Revert "vim-patch:8.1.1192: mode is not cleared when leaving Insert mode with mapped Esc"
This reverts commit 44bb7147e4.

Avoid regression mentioned in c64cce906e (commitcomment-45554271)
2020-12-31 16:44:53 -05:00
Matthieu Coudron
52163c66b9 fix(fold): highlight even in folds (#13643) 2020-12-30 15:17:41 +01:00
Jan Edmund Lazo
f5383705d1 Merge pull request #13624 from janlazo/vim-8.2.2234
vim-patch:8.1.1032,8.2.{429,1785,2234,2235,2237,2241}
2020-12-28 20:14:48 -05:00
Matthieu Coudron
b0215afc84 fix(fold): dont highlight search results on folded lines (#13616)
Behavior may change in future but for now stick to legacy behavior.
2020-12-29 01:19:24 +01:00
Jan Edmund Lazo
26dfeb42dd vim-patch:8.1.1032: warnings from clang static analyzer
Problem:    Warnings from clang static analyzer. (Yegappan Lakshmanan)
Solution:   Fix relevant warnings.
2c519cf3bf
2020-12-28 18:34:01 -05:00
Jan Edmund Lazo
44bb7147e4 vim-patch:8.1.1192: mode is not cleared when leaving Insert mode with mapped Esc
Problem:    Mode is not cleared when leaving Insert mode with mapped Esc.
Solution:   Clear the mode when redraw_cmdline is set. (closes vim/vim#4269)
4c25bd785a
2020-12-26 02:34:13 -05:00
Jan Edmund Lazo
0519a75f6e vim-patch:8.1.0822: peeking and flushing output slows down execution
Problem:    Peeking and flushing output slows down execution.
Solution:   Do not update the mode message when global_busy is set.  Do not
            flush when only peeking for a character. (Ken Takata)
cb574f4154
2020-12-25 19:25:30 -05:00
Matthieu Coudron
7add3ef996 fix: appease linter 2020-12-24 00:21:05 +01:00
Matthieu Coudron
45166313cc refactor: de-curwin-ify update_topline/curs_columns 2020-12-23 16:53:35 +01:00
Matthieu Coudron
4d9520ec86 refactor: pass the window to get_(side)scrolloff_value
to less rely on curwin
2020-12-23 16:21:10 +01:00
Matthieu Coudron
15e616a057 folds: use Folded highlight even with spell on (#13393)
the highlight was not used with spell enabled on folded lines.
Thanks to lervag for the nice report.
2020-11-29 14:26:59 +01:00
shade-of-noon
2d5dd85eef screen.c: Allow showbreak to override cursorline. (#13372)
I also added relevant tests.

Close #13369
2020-11-25 16:47:03 +01:00
Matthieu Coudron
7eb0c16dc8 fix(fold): use Folded highlight even with spell on
Partially addresses https://github.com/neovim/neovim/issues/12982. It's
more a quickfix while reworking folds.
2020-11-23 21:06:56 +01:00
Matthieu Coudron
4f1fc0f6d5 refactor: pass window to was_set_insecurely
working on get_foldtext and wanted to get rid of the curwin backup/restore.
Turns out it's not possible else f_foldtext is run on the same window.
Kept the cleanup anyway.
2020-11-23 21:06:56 +01:00
Björn Linse
a4986ab47f decorations: allow nvim_set_hl to break existing links
also add `default` flag to NOT break existing links/defs
2020-11-21 11:24:14 +01:00
Björn Linse
8497d4b3ea decoration: split out "decoration" from "extmark" module
Decorations will only grow more complex. move the to a separate
file, so that extmark.c remains about extmarks.
2020-11-07 09:55:17 +01:00
Björn Linse
d1091bc658 Merge pull request #12870 from bfredl/themepark
Color themes (per window/line) and lua theme providers
2020-11-01 21:54:51 +01:00
Björn Linse
c146eddc8b api: add API for themes
co-author: hlpr98 <hlpr98@gmail.com> (dict2hlattrs function)

orange is sus??

NOVEMBER DAWN

erase the lie that is redraw_later()
2020-11-01 19:14:56 +01:00
Rom Grk
10bf69a43e vim-patch:8.2.1909: number of status line items is limited to 80
Problem:    Number of status line items is limited to 80.
Solution:   Dynamically allocate the arrays. (Rom Grk, closes vim/vim#7181)
8133cc6bf4

The members of stl_item_T have not been prefixed with stl_ contrary to
the vim patch because the amount of stl_ prefixes on single lines of
code in that region was hurtful to readability.
2020-10-31 19:54:06 -04:00
TJ DeVries
1afe6dd2f4 fixup: bfredl comments 2020-10-22 16:08:32 -04:00
Jan Edmund Lazo
54d07b648c vim-patch:8.2.0943: displaying ^M or ^J depends on current buffer
Problem:    Displaying ^M or ^J depends on current buffer.
Solution:   Pass the displayed buffer to transchar(). (closes vim/vim#6225)
32ee627750

N/A patches for version.c:

vim-patch:8.2.0862: ":term ++curwin" makes the current buffer hidden

Problem:    ":term ++curwin" makes the current buffer hidden. (Harm te
            Hennepe)
Solution:   Do not hide the current buffer. (closes vim/vim#6170)
b10090928c
2020-10-18 01:24:02 -04:00
Björn Linse
6bf414c0d7 whine 2020-10-10 18:27:01 +02:00
Björn Linse
81c508cf61 screen: untangle static and dynamic decorations 2020-10-10 17:54:46 +02:00
Björn Linse
88e6e7e08c because reasons (undefined behavior) 2020-10-10 16:00:20 +02:00
Björn Linse
0b615dae07 api: multiple decoration providers at once 2020-10-10 15:16:45 +02:00
Jan Edmund Lazo
910bbc3cca vim-patch:8.1.2294: cursor pos wrong with concealing and search causes a scroll
Problem:    Cursor position wrong when characters are concealed and asearch
            causes a scroll.
Solution:   Fix the cursor column in a concealed line after window scroll.
            (closes vim/vim#5215, closes vim/vim#5012)
cbee635eee
2020-10-08 18:31:46 -04:00
Jan Edmund Lazo
d5bc62a5ce vim-patch:8.1.1717: last char in menu popup window highlighted
Problem:    Last char in menu popup window highlighted.
Solution:   Do not highlight an extra character twice.
f914a33c9c

N/A patches for version.c:

vim-patch:8.1.0746: highlighting not updated with conceal and 'cursorline'

Problem:    Highlighting not updated with conceal and 'cursorline'. (Jason
            Franklin)
Solution:   Do not use a zero line number.  Check if 'conceallevel' is set for
            the current window.
bbee8d5122
2020-10-08 18:31:46 -04:00
Aufar Gilbran
a893593a9f vim-patch:8.2.1488: text does not scroll when inserting above first line
Problem:    Text does not scroll when inserting above first line.
Solution:   Adjust off-by-one error. (Ken Takata, closes vim/vim#6739)
9dc1917f42
2020-10-07 23:41:50 +08:00
Aufar Gilbran
e852bad3a7 vim-patch:8.2.1345: Redraw error when using visual block and scroll
Problem:    Redraw error when using visual block and scroll.
Solution:   Add check for w_topline. ( closes vim/vim#6597)
f8992d47cd
2020-10-07 23:41:38 +08:00
erw7
8154c77bef screen.c: fix buffer overflow due to folding
fixes #12988.
2020-10-01 17:25:19 +09:00
Björn Linse
a958039f0a screen: more work on fold_line replacement 2020-09-24 19:31:58 +02:00
Matthieu Coudron
f8134f2fd1 screen.c: remove fold_line
as well as copy_text_attr, text_to_screenline.
Display of folded line is now done via win_line, which reduces code
deduplication.
As fold_line was a trimmed down version of win_line, this change brings
new features such CursorLineNr highighting even on folded line, as well
as CursorLine highlighting.
2020-09-24 15:43:25 +02:00
Björn Linse
2c15f695a8 luahl: temporary workaround for virt_text ownership ambiguity 2020-09-13 07:46:39 +02:00