Commit Graph

472 Commits

Author SHA1 Message Date
Björn Linse
54ce1010e8 extmark: refiy "Decoration" abstraction
one very important thought
2020-09-03 10:23:52 +02:00
Matthieu Coudron
602e7505e2 Merge pull request #12621 from Shougo/vim-8.1.1564
[RDY] vim-patch:8.1.1564, 1570, 1623, 1712 : sign column takes up space
2020-08-09 16:19:11 +02:00
Jan Edmund Lazo
ed41ac08cf vim-patch:8.2.1004: line numbers below filler lines not always updated
Problem:    Line numbers below filler lines not always updated.
Solution:   Don't break out of the win_line() loop too early. (Christian
            Brabandt, closes vim/vim#6294, closes vim/vim#6138)
511feec6f0
2020-08-02 12:00:00 -04:00
Jan Edmund Lazo
c207886bdf vim-patch:8.1.2172: spell highlight is wrong at start of the line
Problem:    Spell highlight is wrong at start of the line.
Solution:   Fix setting the "v" variable. (closes vim/vim#5078)
7751d1d1a3

Skip spell tests in OpenBSD.

Nvim or screen likely crashed.
Revist once issue #12104 is fixed.
Skip the test for the following reasons:
- unknown regression caused by https://github.com/neovim/neovim/issues/12104
- cannot revert failing test from ed0d135247
2020-08-02 12:00:00 -04:00
erw7
b6b270b28f terminal: fix terminal attribute overflow
fixes #11548
2020-07-29 02:16:50 +09:00
Shougo Matsushita
1647e0a5b3 vim-patch:8.1.1564: sign column takes up space
Problem:    Sign column takes up space.  (Adam Stankiewicz)
Solution:   Optionally put signs in the number column. (Yegappan Lakshmanan,
            closes vim/vim#4555, closes vim/vim#4515)
394c5d8870
2020-07-23 10:29:36 +09:00
erw7
6b521ceeaf vim-patch:8.1.1712: signs in number column cause text to be misaligned
Problem:    Signs in number column cause text to be misaligned.
Solution:   Improve alignment. (Yasuhiro Matsumoto, closes vim/vim#4694)
d6bcff4577
2020-07-23 10:29:36 +09:00
erw7
bfe94d0a08 vim-patch:8.1.1623: display wrong with signs in narrow number column
Problem:    Display wrong with signs in narrow number column.
Solution:   Increase the numbercolumn width if needed. (Yegappan Lakshmanan,
            closes vim/vim#4606)
e4b407f536
2020-07-23 10:29:36 +09:00
Shougo Matsushita
d3eddcf630 vim-patch:8.1.1564: sign column takes up space
Problem:    Sign column takes up space.  (Adam Stankiewicz)
Solution:   Optionally put signs in the number column. (Yegappan Lakshmanan,
            closes vim/vim#4555, closes vim/vim#4515)
394c5d8870
2020-07-23 10:29:36 +09:00
Jan Edmund Lazo
63966a9ec2 vim-patch:8.2.0766: display error when using 'number' and 'breakindent'
Problem:    Display error when using 'number' and 'breakindent'.
Solution:   Adjust extra spaces in the first row. (Ken Takata, closes vim/vim#6089,
            closes vim/vim#5986)
e882f7a73c
2020-05-21 16:56:54 -04:00
Jan Edmund Lazo
adcabb73bc vim-patch:8.2.0309: window-local values have confusing name
Problem:    Window-local values have confusing name.
Solution:   Rename w_p_bri* to w_briopt_*.
b81f56fb57
2020-05-11 22:30:24 -04:00
Jan Edmund Lazo
801c8e06d6 vim-patch:8.2.0308: 'showbreak' does not work for a very long line
Problem:    'showbreak' does not work for a very long line. (John Little)
Solution:   Check whether 'briopt' contains "sbr". (Ken Takata, closes vim/vim#5523,
            closes vim/vim#5684)
1aa76b8fd0
2020-05-11 22:30:24 -04:00
Jan Edmund Lazo
5a0744e446 vim-patch:8.2.0681: pattern for 'hlsearch' highlighting may leak
Problem:    Pattern for 'hlsearch' highlighting may leak. (Dominique Pelle)
Solution:   Call end_search_hl() to make sure the previous pattern is freed.
            (closes vim/vim#6028)
0b6849e9e3
2020-05-03 13:16:38 -04:00
Jan Edmund Lazo
64b61d49c2 vim-patch:8.0.1123: cannot define a toolbar for a window
Problem:    Cannot define a toolbar for a window.
Solution:   Add a window-local toolbar.
1b9645de3c

"WinBar" code in "screen.c" was not ported.

Fix https://github.com/neovim/neovim/issues/11513#issuecomment-562012827
2020-04-26 19:17:16 -04:00
Jan Edmund Lazo
b8ddca6554 vim-patch:8.2.0464: typos and other small problems
Problem:    Typos and other small problems.
Solution:   Fix the typos.  Add missing file to distribution.
2d9d409ad4
2020-04-13 12:00:33 -04:00
Jan Edmund Lazo
22eb3c9e49 vim-patch:8.1.1745: compiler warning for unused argument
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.  Change comments to new style.
1f164b1968
2020-04-13 12:00:32 -04:00
Jan Edmund Lazo
73dc9e943c vim-patch:8.1.2378: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
5d18efecfd
2020-04-12 15:56:40 -04:00
Björn Linse
1fe0b329fe api/ui: win_viewport event for visible range and cursor position in window 2020-04-01 19:43:55 +02:00
Matthieu Coudron
d22fd58629 Merge pull request #11716 from teto/folds_auto_backup
[RFC] foldcolumn autowidth
2020-03-02 13:56:27 +01:00
Jan Edmund Lazo
ab38df2fc5 vim-patch:8.1.1642: may use uninitialized variable
Problem:    May use uninitialized variable. (Patrick Palka)
Solution:   Initialize variables earlier. (closes vim/vim#4623)
ec572ad6a6
2020-03-01 20:02:08 -05:00
Matthieu Coudron
1a2be57da3 foldcolumn: allow auto:X
Similar to signcolumn, allow foldcolumn to adapt itself to the number of
folds.

Regression:
vim supports a maximum fdc of 12, this limits it to 9.
2020-02-29 20:27:22 +01:00
Jan Edmund Lazo
13b6f7a806 vim-patch:8.1.1868: multi-byte chars in 'listchars' fail with 'linebreak' set
Problem:    Multibyte characters in 'listchars' don't work correctly if
            'linebreak' is also enabled. (Martin Tournoij)
Solution:   Make it work correctly. (Christian Brabandt, closes vim/vim#4822,
            closes vim/vim#4812)
69cbbecf54
2020-02-20 22:07:18 -05:00
Björn Linse
7d7adf7acc treesitter: cleanup some luahl stuff 2020-02-10 13:10:15 +01:00
Björn Linse
95fd28f4a1 treesitter: use internal "decorations" buffer 2020-02-10 13:10:15 +01:00
Björn Linse
6f073ccbf4 Merge pull request #11755 from bfredl/qf_msg
screen: add missing redraws after a message
2020-01-26 15:38:04 +01:00
Björn Linse
687fc527de screen: add missing redraws after a message 2020-01-26 13:45:20 +01:00
Jan Edmund Lazo
9d826700f7 vim-patch:8.1.2245: third character of 'listchars' tab shows in wrong place
Problem:    Third character of 'listchars' tab shows in wrong place when
            'breakindent' is set.
Solution:   Set c_final to NUL. (Naruhiko Nishino, closes vim/vim#5165)
2f7b7b1e12
2020-01-24 02:17:21 -05:00
Jan Edmund Lazo
376fa27237 vim-patch:8.2.0146: wrong indent when 'showbreak' and 'breakindent' are set
Problem:    Wrong indent when 'showbreak' and 'breakindent' are set and
            'briopt' includes "sbr".
Solution:   Reset "need_showbreak" where needed. (Ken Takata, closes vim/vim#5523)
dfede9a70b
2020-01-23 19:31:11 -05:00
Björn Linse
48a869dc6d shed biking: it's always extmarks, never marks extended 2020-01-20 19:36:35 +01:00
Matthieu Coudron
4d4035400e Merge pull request #11715 from teto/fix_fillchar
[RDY] fillchars: fix display on closed fold
2020-01-20 18:39:17 +01:00
Jan Edmund Lazo
58033e15d5 vim-patch:8.1.2031: cursor position wrong when resizing and using conceal
Problem:    Cursor position wrong when resizing and using conceal.
Solution:   Set the flags that the cursor position is valid when setting the
            row and column during redrawing. (closes vim/vim#4931)
5babc6e858
2020-01-19 09:47:57 -05:00
Björn Linse
ca1a00edd6 extmarks/bufhl: reimplement using new marktree data structure
Add new "splice" interface for tracking buffer changes at the byte
level. This will later be reused for byte-resolution buffer updates.
(Implementation has been started, but using undocumented "_on_bytes"
option now as interface hasn't been finalized).

Use this interface to improve many edge cases of extmark adjustment.
Changed tests indicate previously incorrect behavior. Adding tests for
more edge cases will be follow-up work (overlaps on_bytes tests)

Don't consider creation/deletion of marks an undoable event by itself.
This behavior was never documented, and imposes  complexity for little gain.

Add nvim__buf_add_decoration temporary API for direct access to the new
implementation. This should be refactored into a proper API for
decorations, probably involving a huge dict.

fixes #11598
2020-01-16 12:36:10 +01:00
Matthieu Coudron
53473b3b71 fillchars: fix display on closed fold
The rollback of the last written symbol was not thorough, hence
confusing the code later on and causing a buggy display.

To reproduce, use `set fillchars+=foldopen:▾,foldsep:│` and close a
fold. Foldcolumn should display a glitch.
2020-01-14 22:51:13 +01:00
Jan Edmund Lazo
be4165308f screen: fix pvs/v1048 2019-12-29 18:34:04 -05:00
Jan Edmund Lazo
703ed11c97 vim-patch:8.0.1491: the minimum width of the popup menu is hard coded
Problem:    The minimum width of the popup menu is hard coded.
Solution:   Add the 'pumwidth' option. (Christian Brabandt, James McCoy,
            closes vim/vim#2314)
a8f04aa275
2019-12-29 18:15:46 -05:00
Matthieu Coudron
bbad324b17 fillchars: adding foldopen, foldsep, foldclose
You can try it with
set fillchars+=foldopen:▾,foldsep:│,foldclose:▸
2019-12-25 14:28:36 +01:00
Björn Linse
440695c296 tree-sitter: implement query functionality and highlighting prototype [skip.lint] 2019-12-22 12:51:46 +01:00
erw7
1bb7ea189e win_line: Fix crash with 'rightleft' in :terminal #11460
fixes #11438

Backtrace:

    0  schar_from_ascii ( p=0x801cc9e112c3 <error: Cannot access memory at address 0x801cc9e112c3>, c=32 ' ') at ../src/nvim/screen.c:5263
    1  0x00007f31460eccc5 in win_line (wp=wp@entry=0x7fffc9df6230, lnum=lnum@entry=11, startrow=startrow@entry=10, endrow=41, nochange=false, number_only=number_only@entry=false) at ../src/nvim/screen.c:4025
    2  0x00007f31460eed8e in win_update (wp=wp@entry=0x7fffc9df6230) at ../src/nvim/screen.c:1403
    3  0x00007f31460f011f in update_screen (type=<optimized out>) at ../src/nvim/screen.c:502
    4  0x00007f3146138ef4 in normal_redraw (s=s@entry=0x7fffd0a5f700) at ../src/nvim/normal.c:1247
    5  0x00007f314613b159 in normal_check (state=0x7fffd0a5f700) at ../src/nvim/normal.c:1324
    6  0x00007f31460accfe in state_enter (s=0x7fffd0a5f700) at ../src/nvim/state.c:28
    7  0x00007f3146143099 in normal_enter (cmdwin=<optimized out>, noexmode=<optimized out>) at ../src/nvim/normal.c:463
    8  0x00007f314618b541 in main (argc=<optimized out>, argv=<optimized out>) at ../src/nvim/main.c:580
2019-11-28 20:09:03 -08:00
Brian Wignall
001e69cd46 doc: fix typos
close #11459
2019-11-27 22:47:25 -08:00
Jan Edmund Lazo
7274f5c177 vim-patch:8.1.1922: in diff mode global operations can be very slow
Problem:    In diff mode global operations can be very slow.
Solution:   Do not call diff_redraw() many times, call it once when redrawing.
            And also don't update folds multiple times.
4f57eefe1e
2019-11-16 16:40:24 -05:00
Jan Edmund Lazo
09232958ff vim-patch:8.1.2120: some MB_ macros are more complicated than necessary
Problem:    Some MB_ macros are more complicated than necessary. (Dominique
            Pelle)
Solution:   Simplify the macros.  Expand inline.
1614a14901
2019-10-06 21:11:38 -04:00
Daniel Hahler
a341eb6087 win_line: update w_last_cursorline always
Vim patch 8.1.0856 (54d9ea6) caused a performance regression in Neovim,
when `set conceallevel=1 nocursorline` was used, since then due to
refactoring in 23c71d5 `w_last_cursorline` would never get updated
anymore.

Adds/uses `redrawdebug+=nodelta` for testing this.

Fixes https://github.com/neovim/neovim/issues/11100.
Closes https://github.com/neovim/neovim/pull/11101.
2019-10-04 08:48:57 +02:00
Daniel Hahler
b7d6caaa03 Fix redraw regression with w_p_cole in visual mode
Fixes https://github.com/neovim/neovim/issues/11024, regressed in 23c71d51.
Closes https://github.com/neovim/neovim/pull/11120.
2019-10-02 03:51:46 +02:00
Björn Linse
f316916758 screen: missing redraw/highlight for ruler in message area 2019-09-22 09:38:52 +02:00
Justin M. Keyes
1654932498 vim-patch:8.1.2060: "precedes" in 'listchars' not used properly
(Credit: Zach Wegner, https://github.com/neovim/neovim/pull/11034)

Problem:    "precedes" in 'listchars' not used properly.
Solution:   Correctly handle the "precedes" char in list mode for long lines.
bffba7f704
2019-09-21 22:13:55 -07:00
Zach Wegner
18e5869f56 Fix "precedes" listchar behavior in wrap mode
Previously, the "precedes" character would be rendered on every row
when w_skipcol > 0 (i.e., when viewing a single line longer than the
entire screen), instead of just on the first row. Make sure to only
render it on the first row in this case.

Add a test for this behavior.

Fix documentation for the "precedes" character, which erroneously
stated that it was only active when wrap mode was off.
2019-09-21 22:09:52 -07:00
Björn Linse
828a6e7568 screen: fix vcol counting with virtual text. Fixes #9941 2019-09-21 09:39:10 +02:00
Daniel Hahler
1070c092c7 win_update: fix redraw regression (#11027)
Before 6e9ea5adc `win_ins_lines` would return `FAIL` for `i/line_count == 0`.

Handle this by checking it in the outer `if`.

Ref: https://github.com/neovim/neovim/commit/6e9ea5ad#commitcomment-35084669
2019-09-18 18:22:38 +02:00
Björn Linse
1a783b5ad6 screen: redrawdebug=nothrottle 2019-09-06 09:48:57 +02:00
Jan Edmund Lazo
07b209b1fe vim-patch:8.0.1768: SET_NO_HLSEARCH() used in a wrong way
Problem:    SET_NO_HLSEARCH() used in a wrong way.
Solution:   Make it a function. (suggested by Dominique Pelle,
            closes vim/vim#2850)
451fc7b954
2019-09-02 18:40:56 -04:00