aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/screen.c
Commit message (Collapse)AuthorAge
...
| * vim-patch:8.2.2797: Search highlight disappears in the Visual area (#17947)zeertzjq2022-05-13
| | | | | | | | | | Problem: Search highlight disappears in the Visual area. Solution: Combine the search attributes. (closes vim/vim#8134) https://github.com/vim/vim/commit/2d5f385cee3668c44089edcb9d60b0b5d751ee5d
| * vim-patch:8.2.4911: the mode #defines are not clearly named (#18499)zeertzjq2022-05-10
| | | | | | | | | | | | | | | | 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.
| * vim-patch:8.2.4918: conceal character from matchadd() displayed too many timeszeertzjq2022-05-09
| | | | | | | | | | | | 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
| * refactor: replace char_u variables and functions with charDundar Goc2022-05-09
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * refactor(grid): move out grid_* functions from screen.cbfredl2022-05-08
| | | | | | | | | | Also normalize some types. use "size_t" for unsigned array offsets. Fix -Wconversion issues missed as screen.c is missing this check.
| * Merge pull request #18425 from dundargoc/refactor/char_u/1bfredl2022-05-07
| |\ | | | | | | refactor: replace char_u variables and functions with char
| | * refactor: replace char_u variables and functions with charDundar Goc2022-05-07
| | | | | | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * | Merge pull request #18460 from bfredl/decor33bfredl2022-05-07
| |\ \ | | | | | | | | refactor(decor): use decor levels properly
| | * | refactor(decor): use decor levels properlybfredl2022-05-07
| | |/
| * / build(clint): remove "function size is too large" warningDundar Goc2022-05-06
| |/ | | | | | | | | | | | | | | 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.
| * refactor: replace char_u variables and functions with charDundar Goc2022-05-05
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * refactor: replace char_u variables and functions with charDundar Goc2022-05-04
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * feat(api/ui): win_extmarksYatao Li2022-05-03
| |
| * refactor: replace char_u variables and functions with charDundar Goc2022-05-03
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * refactor(uncrustify): change rules to better align with the style guideDundar Goc2022-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * refactor: replace char_u variables and functions with charDundar Göc2022-04-16
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * docs: typo fixes (#17859)dundargoc2022-04-15
| | | | | | | | | | | | | | | | | | | | 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>
| * vim-patch:8.2.3487: illegal memory access if buffer name is very longSean Dewar2022-04-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * vim-patch:8.2.4718: @@@ in the last line sometimes drawn in the wrong place ↵zeertzjq2022-04-10
| | | | | | | | | | | | | | (#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
| * vim-patch:8.2.4402: missing parenthesis may cause unexpected problemsBrian Leung2022-04-03
| | | | | | | | | | | | Problem: Missing parenthesis may cause unexpected problems. Solution: Add more parenthesis is macros. https://github.com/vim/vim/commit/ae6f1d8b14c2f63811ee83ef14e32086fb3e9b83
| * Merge pull request #17890 from zeertzjq/conceal-virtcol-changedbfredl2022-03-31
| |\ | | | | | | perf: only redraw concealed line if cursor has moved horizontally
| | * revert: "Fix redraw regression with w_p_cole in visual mode"zeertzjq2022-03-28
| | | | | | | | | | | | | | | | | | Revert the code change from b7d6caaa036c3d1be716bb6e4b0f56c08fb8dcf5. The test is kept. The glitch was fixed by #17864, so this workaround is no longer needed.
| * | fix(decorations): do not put empty virt_text (#17872)zeertzjq2022-03-29
| | |
| * | vim-patch:8.2.4644: redrawing too often when 'relativenumber' is set (#17756)Lewis Russell2022-03-29
| |/ | | | | | | | | | | | | 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
| * vim-patch:8.2.4638: superfluous check if a redraw is needed for 'cursorline'zeertzjq2022-03-28
| | | | | | | | | | | | | | | | | | 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.
| * vim-patch:8.2.4626: Visual area not updated when removing sign in Visual ↵zeertzjq2022-03-26
| | | | | | | | | | | | | | | | 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
| * perf(screen): reduce cursorline redrawing when jumping aroundzeertzjq2022-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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().
| * vim-patch:8.2.4591: cursor line not updated when a callback moves the cursorzeertzjq2022-03-24
| | | | | | | | | | | | | | | | 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.
| * fix(screen): do not update syntax_last_parsed when drawing folded line (#17826)zeertzjq2022-03-23
| |
| * fix(screen): do not do syntax highlighting at filler or folded lines (#17818)zeertzjq2022-03-23
| |
| * vim-patch:8.2.1078: highlight and match functionality together in one file ↵Lewis Russell2022-03-23
| | | | | | | | | | | | | | | | | | (#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
| * vim-patch:8.1.1743: 'hlsearch' and match highlighting in the wrong placeLewis Russell2022-03-20
| | | | | | | | | | | | | | 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
| * feat(ui): allow conceal to be defined in decorationsbfredl2022-03-20
| | | | | | | | | | | | Unlike syntax conceal, change highlight of concealed char Can be used in tree-sitter using "conceal" metadata.
| * fix(syntax.c): correct hunk from Vim patch 8.0.0647 (#17761)Lewis Russell2022-03-18
| |
| * vim-patch:8.1.1693: syntax coloring and highlighting is in one big file (#17721)Lewis Russell2022-03-18
| | | | | | | | | | | | | | | | | | | | | | 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>
| * Merge pull request #17266 from famiu/feat/ui/global-statuslinebfredl2022-03-17
| |\ | | | | | | feat(statusline): add global statusline
| | * feat: add support for global statuslineFamiu Haque2022-03-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | refactor: column drawingLewis Russell2022-03-13
| | | | | | | | | | | | | | | | | | | | | - move some logic out of win_line into specific easy to read sub-functions. - remove drawing logic from get_sign_display_info.
| * | vim-patch:8.2.4557: confusing comment about 'cursorlineopt'zeertzjq2022-03-13
| | | | | | | | | | | | | | | | | | | | | Problem: Confusing comment about 'cursorlineopt'. Solution: Adjust comment. (closes vim/vim#9939) Add parenthesis around logical OR. https://github.com/vim/vim/commit/754d2b40369d8fdcf77fc05cc608f86387016bd9
| * | Merge pull request #17663 from dundargoc/refactor/uncrustifybfredl2022-03-11
| |\ \ | | | | | | | | refactor: apply uncrustify
| | * | refactor(uncrustify): format all c filesDundar Göc2022-03-10
| | | |
| * | | refactor(decorations): move provider codeLewis Russell2022-03-10
| |/ / | | | | | | | | | Move decoration provider code to a separate file.
| * | Merge pull request #17640 from lewis6991/virttextfixbfredl2022-03-09
| |\ \ | | | | | | | | fix(extmarks): fix signs
| | * | fix(extmarks): fix signsLewis Russell2022-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | vim-patch:8.2.4520: using wrong highlight for cursor line numberzeertzjq2022-03-08
| |/ / | | | | | | | | | | | | | | | | | | 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
| * | feat(decorations): support signsLewis Russell2022-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | fix(signcol): update cursor when signcol changesLewis Russell2022-02-24
| | | | | | | | | | | | Fixes #14195
| * | refactor(signcol): store signcol in win_TLewis Russell2022-02-24
| |/
| * Merge pull request #16914 from godlygeek/fix_14587Christian Clason2022-02-13
| |\ | | | | | | fix(screen): don't put empty sign text in line number column
| | * fix(screen): don't put empty sign text in line number columnMatt Wozniski2022-01-04
| | | | | | | | | | | | | | | | | | 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.