aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/drawline.c
Commit message (Collapse)AuthorAge
...
* fix(extmarks): fix heap buffer overflow caused by inline virtual text (#23851)Ibby2023-06-24
| | | also fixes an edge case where the extends character would not be drawn if the real text exactly fits the grid.
* feat(extmarks): support hl_mode "combine" for inline virt_text (#24099)zeertzjq2023-06-22
|
* fix(extmarks): hide inline virt_text properly with 'smoothscroll' (#24106)zeertzjq2023-06-22
|
* fix(extmarks): empty inline virt_text interfering with DiffText (#24101)zeertzjq2023-06-22
|
* fix(extmarks): empty inline virt_text interfering with Visual highlightzeertzjq2023-06-22
|
* fix(folds): don't show search or match highlighting on fold (#24084)zeertzjq2023-06-21
|
* fix(extmarks): don't position overlay virt_text halfway a char (#24027)zeertzjq2023-06-15
|
* fix(extmarks): handle inline virt_text with empty chunk (#24005)zeertzjq2023-06-13
|
* vim-patch:9.0.1626: Visual area not shown when using 'showbreak' (#23978)zeertzjq2023-06-11
| | | | | | | | | | Problem: Visual area not shown when using 'showbreak' and start of line is not visible. (Jaehwang Jung) Solution: Adjust "fromcol" for the space taken by 'showbreak'. (closes vim/vim#12514) https://github.com/vim/vim/commit/f578ca2c8f36b61ac3301fe8b59a8473c964cdc2 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.1606: using freed memory when 'foldcolumn' is set (#23906)zeertzjq2023-06-05
| | | | | | Problem: Using freed memory when 'foldcolumn' is set. Solution: Save extra pointer to free it later. (closes vim/vim#12492) https://github.com/vim/vim/commit/58e1e010454113a7c8a9b0327c54d2ee7d73d2fd
* fix(folds): allow overlay virtual text on folded line (#23892)zeertzjq2023-06-03
| | | Also always check for fi_level before fi_lines.
* Merge pull request #23789 from luukvbaal/spellzeertzjq2023-06-01
|\ | | | | vim-patch:9.0.{1585,1595}
| * refactor(drawscreen): avoid spell check on folded or filler lineszeertzjq2023-06-01
| |
| * vim-patch:9.0.1595: line pointer becomes invalid when using spell checkingLuuk van Baal2023-06-01
| | | | | | | | | | | | | | Problem: Line pointer becomes invalid when using spell checking. Solution: Call ml_get() at the right places. (Luuk van Baal, closes vim/vim#12456) https://github.com/vim/vim/commit/e84c773d42e8b6ef0f8ae9b6c7312e0fd47909af
| * vim-patch:9.0.1585: weird use of static variables for spell checkingLuuk van Baal2023-06-01
| | | | | | | | | | | | | | | | Problem: Weird use of static variables for spell checking. Solution: Move the variables to a structure and pass them from win_update() to win_line(). (Luuk van Baal, closes vim/vim#12448) https://github.com/vim/vim/commit/30805a1aba0067cf0087f9a0e5c184562433e2e7
* | fix(extmarks): fix virt_text_hide off-by-one hiding (#23795)zeertzjq2023-05-28
| |
* | test(extmarks): add test for virt_text_hide with 'smoothscroll' (#23791)zeertzjq2023-05-28
|/
* fix(extmarks): make right_align and win_col work on wrapped line (#23759)zeertzjq2023-05-27
|
* Merge pull request #23742 from bfredl/neolightbfredl2023-05-26
|\ | | | | fix(drawline): combine extmark highlight with area hl correctly
| * fix(drawline): combine extmark highligh with area hl correctlybfredl2023-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes #23734 Get rid of the weird attr_pri dance which always seemed like a kludge: if (!attr_pri) { wlv.char_attr = hl_combine_attr(wlv.char_attr, extmark_attr); } else { wlv.char_attr = hl_combine_attr(extmark_attr, wlv.char_attr); } Instead combine extmark attrs with (old-skool) syntax attrs in a consistent way and then combine that with attr_pri and the rest in an _unified_ code path fixes #23722 Co-authored-by: luukvbaal <luukvbaal@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* | fix(extmarks): fix virt_text_hide with 'nowrap' and multibyte (#23757)zeertzjq2023-05-26
| |
* | vim-patch:9.0.1578: SpellCap highlight not always updated when needed (#23755)luukvbaal2023-05-26
| | | | | | | | | | | | | | | | Problem: SpellCap highlight not always updated when needed. Solution: Handle updating line below closed fold and other situations where only part of the window is redrawn. (Luuk van Baal, closes vim/vim#12428, closes vim/vim#12420) https://github.com/vim/vim/commit/2ac6497f0ef186f0e3ba67d7f0a485bfb612bb08
* | fix(folds): combined Folded and Visual highlights (#23752)zeertzjq2023-05-25
|/ | | Also combine high-priority CursorLine with Folded.
* vim-patch:9.0.0590: after exiting Insert mode spelling not checked in next lineLuuk van Baal2023-05-25
| | | | | | | | | | | Problem: After exiting Insert mode spelling is not checked in the next line. Solution: When spelling is enabled redraw the next line after exiting Insert mode in case the spell highlight needs updating. https://github.com/vim/vim/commit/ee09fcc9b6cf24e02899461809da9a5148208ea5 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.0175: spell checking for capital not working with trailing spaceLuuk van Baal2023-05-25
| | | | | | | | | | Problem: Spell checking for capital not working with trailing space. Solution: Do not calculate cap_col at the end of the line. (Christian Brabandt, closes vim/vim#10870, issue vim/vim#10838) https://github.com/vim/vim/commit/afa23d1b99692e3c726eb694933ab348b442a1e4 Co-authored-by: Christian Brabandt <cb@256bit.org>
* fix(folds): show Folded highlight in Visual selection (#23741)zeertzjq2023-05-24
| | | Note: CursorLine highlight is now combined with Folded.
* Merge pull request #20130 from bfredl/inlinebfredl2023-05-22
|\ | | | | feat(ui): inline virtual text
| * refactor(drawline): move inline text code to its own functionbfredl2023-05-22
| |
| * fix(extmark): fix cursor position with both left and right gravity inline textbfredl2023-05-22
| |
| * vim-patch:9.0.0210: 'list' mode does not work properly with virtual textIbby2023-05-22
| | | | | | | | | | | | | | | | | | | | | | | | Problem: 'list' mode does not work properly with virtual text. Solution: Show the "$" at the right position. (closes vim/vim#10913) https://github.com/vim/vim/commit/c3a483fc3c65f649f9985bb88792a465ea18b0a2#diff-15009492c2b1d0a2629908b4618ad51c99d16746f238a0e6451dfe32355ed32fR1653 This commit only contains the seemingly refactored portion (not entirely sure what it does) Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * fix(ui): fix overflowing nowrap virtual text not displaying if tab followsIbby2023-05-22
| |
| * fix(ui): fix virtual text not displaying when two overlapping inlines (nowrap)Ibby2023-05-22
| |
| * vim-patch:9.0.1067: in diff mode virtual text is highlighted incorrectlyIbby2023-05-22
| | | | | | | | | | | | | | | | | | Problem: In diff mode virtual text is highlighted incorrectly. (Rick Howe) Solution: Do not use diff attributes for virtual text. (closes vim/vim#11714) https://github.com/vim/vim/commit/d097af77797f030e0f29f9bbc298358a5addb2a5 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * fix(ui): fix incorrect highlighting when virtual text next to matchIbby2023-05-22
| |
| * fix(ui): fix incorrect highlighting when virtual text wraps with numberIbby2023-05-22
| |
| * vim-patch:9.0.0944: 'cursorline' causes virtual text highlight to continueIbby2023-05-22
| | | | | | | | | | | | | | | | | | Problem: 'cursorline' causes virtual text highlight to continue. Solution: Save and restore line_attr. (closes vim/vim#11588) https://github.com/vim/vim/commit/6ac16f0c0fe923098b9df5ac430f1923045f16ea Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * fix(ui): fix tabs not being spaced properly after virtual text with no wrapIbby2023-05-22
| | | | | | | | also fixes incorrect skipping of multibyte characters
| * vim-patch:9.0.0716: with 'nowrap' virtual text "after" does not scroll leftIbby2023-05-22
| | | | | | | | | | | | | | | | | | | | Problem: With 'nowrap' virtual text "after" does not scroll left. Solution: Skip part of the virtual text that is left of the window. (closes vim/vim#11320) Fix going beyond the last column of the window. https://github.com/vim/vim/commit/cd105417a53fcf97c0935f3468201ef11516c9f1 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * fix(ui): fixes incorrect rendering when virtual text is not visable and nowrapIbby2023-05-22
| |
| * fix(ui): fix visual and search highlighting interfering with virtual textIbby2023-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:9.0.0193: search and match highlgith interfere with virtual text Problem: Search and match highlgith interfere with virtual text highlight. (Ben Jackson) Solution: Check for match highlight after text properties. Reset and restore search highlight when showing virtual text. (closes vim/vim#10892) https://github.com/vim/vim/commit/e38fc86180fd3f6b372648eea6adc3f623fea302 vim-patch:9.0.0452: Visual highlighting extends into virtual text prop Problem: Visual highlighting extends into virtual text prop. Solution: Do not highlight what isn't actually selected. Fix ordering of stored text props. https://github.com/vim/vim/commit/6eda17d881c9b2880ccb2a4d11951939a58f233d Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.0183: extra space after virtual text when 'linebreak' is setIbby2023-05-22
| | | | | | | | | | | | | | | | | | | | Problem: Extra space after virtual text when 'linebreak' is set. Solution: Do not count virtual text when getting linebreak value. (closes vim/vim#10884) https://github.com/vim/vim/commit/52de3a8d3943520bbd4e5e40a4c43fcc7182dac0 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * fix(ui): fix multi-byte characters highlight in virtual textIbby2023-05-22
| | | | | | | | | | | | | | | | | | | | | | This also fixes insert cursor position around virtual text vim-patch:9.0.0132: multi-byte characters in virtual text not handled correctly Problem: Multi-byte characters in virtual text not handled correctly. Solution: Count screen cells instead of bytes. https://github.com/vim/vim/commit/09ff4b54fb86a64390ba9c609853c6410ea6197c
| * fix(ui): fix cursor position with multiple inline virtual textIbby2023-05-22
| | | | | | | | | | | | | | | | | | | | | | vim-patch9.0.0121: cannot put virtual text after or below a line Problem: Cannot put virtual text after or below a line. Solution: Add "text_align" and "text_wrap" arguments. https://github.com/vim/vim/commit/b7963df98f9dbbb824713acad2f47c9989fcf8f3 This only patches the fix, not the whole thing.
| * feat(ui): inline virtual textIbby2023-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:9.0.0067: cannot show virtual text Problem: Cannot show virtual text. Solution: Initial changes for virtual text support, using text properties. https://github.com/vim/vim/commit/7f9969c559b51446632ac7e8f76cde07e7d0078d vim-patch:9.0.0116: virtual text not displayed if 'signcolumn' is "yes" Problem: Virtual text not displayed if 'signcolumn' is "yes". Solution: Set c_extra and c_final to NUL. https://github.com/vim/vim/commit/711483cd1381a4ed848d783ae0a6792d5b04447b Co-authored-by: bfredl <bjorn.linse@gmail.com>
* | fix(redraw): overwrite double-width char with virt_text properly (#23708)zeertzjq2023-05-22
|/
* fix(highlight): remove unnecessary assignment to char_attr for 'spell' (#23713)luukvbaal2023-05-22
|
* fix(redraw): multibyte characters are wrapped at the end of a line (#23696)luukvbaal2023-05-21
| | | | | | Problem: Multibyte characters may be wrapped at the end of a line when 'statuscolumn' and 'spell' are set. Solution: Update line pointerdiff "v" before fetching the line pointer after evaluating 'statuscolumn'.
* vim-patch:9.0.1506: line number not displayed when using 'smoothscroll' (#23453)zeertzjq2023-05-03
| | | | | | Problem: Line number not displayed when using 'smoothscroll'. Solution: Adjust condition for showing the line number. (closes vim/vim#12333) https://github.com/vim/vim/commit/88bb3e0a48f160134bdea98cd2b8bd3af86f9d6f
* vim-patch:9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'Luuk van Baal2023-05-02
| | | | | | | | | Problem: Line number not visisble with 'smoothscroll', 'nu' and 'rnu'. Solution: Put the ">>>" after the line number instead of on top. https://github.com/vim/vim/commit/eb4de629315f2682d8b314462d02422ec98d751a Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.0680: tests failing with 'breakindent', 'number' and "n" in 'cpo'Luuk van Baal2023-05-02
| | | | | | | | | Problem: Tests failing with 'breakindent', 'number' and "n" in 'cpo'. Solution: Do count the number column in topline if 'breakindent' is set. https://github.com/vim/vim/commit/3725116f6ec3b5c01e456b151a60c0690e04f76c Co-authored-by: Bram Moolenaar <Bram@vim.org>