aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/screen.c
Commit message (Collapse)AuthorAge
...
* | Merge #8903 from janlazo/vim-8.0.0883Justin M. Keyes2018-08-26
|\ \
| * | vim-patch:8.0.1228: invalid memory access in GUI testJan Edmund Lazo2018-08-24
| | | | | | | | | | | | | | | | | | Problem: Invalid memory access in GUI test. Solution: Check that the row is not outside of the screen. https://github.com/vim/vim/commit/0e19fc07e73214f94441cb3a495504a1de21eb07
* | | vim-patch:8.0.1214: accessing freed memory when EXITFREE is setJan Edmund Lazo2018-08-25
|/ / | | | | | | | | | | | | Problem: Accessing freed memory when EXITFREE is set and there is more than one tab and window. (Dominique Pelle) Solution: Free options later. Skip redraw when exiting. https://github.com/vim/vim/commit/4f1982800f0aff28df6875e718a786f6c4b11ad9
* | lintJan Edmund Lazo2018-08-23
| |
* | vim-patch:8.0.1041: bogus characters when indenting during visual-block appendJan Edmund Lazo2018-08-23
|/ | | | | | | Problem: Bogus characters appear when indenting kicks in while doing a visual-block append. Solution: Recompute when indenting is done. (Christian Brabandt) https://github.com/vim/vim/commit/e2e69e48134cbfdedea7802810932f8592705024
* Merge #8829 from ZviRackover/fix-7401-step2Justin M. Keyes2018-08-15
|\
| * lint: clean up after parent commitZviRackover2018-08-14
| |
| * Remove occurrences of 'has_mbyte' near lines changes by parent commitZviRackover2018-08-13
| |
| * Remove all occurrences of mb_off2cellsZviRackover2018-08-13
| |
* | Merge pull request #8790 from bfredl/hlattrBjörn Linse2018-08-14
|\ \ | | | | | | pass highlight attrs per value and thread-safely to TUI thread
| * | highlight: HlAttrs is a value type; treat it like suchBjörn Linse2018-08-13
| |/
* / vim-patch:8.1.0057: popup menu displayed wrong when using autocmdJason Felice2018-08-09
|/ | | | | | | Problem: Popup menu displayed wrong when using autocmd. Solution: Use aucmd_prepbuf(). Force updating status line if the popup menu is going to be redrawn anyway. (Christian Brabandt, closes vim/vim#3009) https://github.com/vim/vim/commit/6ba3ec1bace67513a352326864cebc16b3c5bc56
* vim-patch:8.0.1705: when making a vertical split the mode message isn't updatedJan Edmund Lazo2018-08-06
| | | | | | | | Problem: When making a vertical split the mode message isn't always updated, "VISUAL" remains. (Alexei Averchenko) Solution: Only reset clear_cmdline when filling all columns of the last screen line. (Tom M. closes vim/vim#2611) https://github.com/vim/vim/commit/5bab555c2f1b3b86d57e4adeb86d908eff477fc9
* vim-patch:8.0.1169: highlignting one char too many with 'list' and 'cul'Jan Edmund Lazo2018-08-06
| | | | | | Problem: Highlignting one char too many with 'list' and 'cul'. Solution: Check for 'list' being active. (Ozaki Kiichi, closes vim/vim#2177) https://github.com/vim/vim/commit/5ece3e359c4b96d0f9bf1ce690223545f40f34b8
* vim-patch:8.0.1168: wrong highlighting with combination of match and ↵Jan Edmund Lazo2018-08-06
| | | | | | | | | 'cursorline' Problem: wrong highlighting with combination of match and 'cursorline'. Solution: Use "line_attr" when appropriate. (Ozaki Kiichi, closes vim/vim#2111) But don't highlight more than one character. https://github.com/vim/vim/commit/0aa398f55a327282c70f56e0bac2dcb9521da378
* Merge #8749 from janlazo/clint-tristateJustin M. Keyes2018-08-04
|\
| * misc: refactor plines_win{,_nofill}()Jan Edmund Lazo2018-08-02
| | | | | | | | | | Add const to params and variables (declare and init on same line). winheight (param) is bool so replace TRUE/FALSE macros with true/false.
| * fold: add const to hasFoldingWin() variablesJan Edmund Lazo2018-08-02
| | | | | | | | cache is bool so update callers to pass true/false, not TRUE/FALSE.
| * screen: screen_cleared is TriStateJan Edmund Lazo2018-08-01
| |
* | syntax: add const to get_syntax_attr() paramsJan Edmund Lazo2018-07-30
|/
* screen: add const and reindent update_debug_signs()Jan Edmund Lazo2018-07-27
|
* vim-patch:8.0.0837: signs can be drawn on top of console messagesJan Edmund Lazo2018-07-27
| | | | | | | Problem: Signs can be drawn on top of console messages. Solution: don't redraw at a prompt or when scrolled up. (Christian Brabandt, closes vim/vim#1907) https://github.com/vim/vim/commit/0792048842493f224bbd7a5dfb348d834f61b205
* screen.c: add update_window_hl to special redrawing entrypointsBjörn Linse2018-07-27
| | | | | | | | | | | The following (run as a script) used to cause a crash due to :sign using a special redraw (not updating nvim's specific highlight data structures) without proper redraw first, as split just flags for redraw later. set cursorline sign define piet text=>> texthl=Search split sign place 3 line=2 name=piet buffer=1
* screen.c: fix redrawing tabline when messages overflow screenBjörn Linse2018-07-24
|
* ui: use line-based rather than char-based updates in screen.cBjörn Linse2018-07-21
| | | | | | | | | | | | | Add ext_newgrid and ext_hlstate extensions. These use predefined highlights and line-segment based updates, for efficiency and simplicity.. The ext_hlstate extension in addition allows semantic identification of builtin and syntax highlights. Reimplement the old char-based updates in the remote UI layer, for compatibility. For the moment, this is still the default. The bulitin TUI uses the new line-based protocol. cmdline uses curwin cursor position when ext_cmdline is active.
* ui: add TODO for non-working terminal linewrapBjörn Linse2018-07-21
| | | | Note: this has not been working since the TUI reimplementation
* highlight: refactor to use stateful representationBjörn Linse2018-07-21
| | | | | This allows us to keep track of the source higlight groups, and not only the final combined highlights.
* highlight: extract low-level highlight logic from syntax, uiBjörn Linse2018-07-21
|
* screen: truncate showmode messagesBjörn Linse2018-07-12
| | | | | Before this, bottom of screen got messed up when modemsg (+ one extra space to not force terminal scroll) didn't fit on one line.
* vim-patch:8.0.0686: extra redraw when using CTRL-L in second windowJan Edmund Lazo2018-07-03
| | | | | | | Problem: When typing CTRL-L in a window that's not the first one, another redraw will happen later. (Christian Brabandt) Solution: Reset must_redraw after calling screenclear(). https://github.com/vim/vim/commit/9f5f7bf4d5f757ef885acf74ce03c25429a328aa
* highlight: high-priority CursorLine if fg is set. #8578Yichao Zhou2018-06-28
| | | | | | | | | | | | closes #7383 closes #7715 This implements the compromise described in #7383: * low-priority CursorLine if foreground is not set * high-priority ("same as Vim" priority) CursorLine if foreground is set ref d1874ab2821d076397290cc154d87ec2dc352c79 ref 56eda2aa17c80ba380b606f9466f288fb8162dd3
* Merge #8526 from janlazo/vim-8.0.0451Justin M. Keyes2018-06-16
|\
| * vim-patch:8.0.0451: some macros are in lower caseJan Edmund Lazo2018-06-12
| | | | | | | | | | | | | | Problem: Some macros are in lower case. Solution: Make a few more macros upper case. Avoid lower case macros use an argument twice. https://github.com/vim/vim/commit/91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f
* | Add ‘eob’ option to fillcharsJack Bracewell2018-06-13
| | | | | | | | | | This option allows configuring what character is shown on the empty lines at the end of a buffer, previously hardcoded to ‘~’
* | screen: use UTF-8 representationBjörn Linse2018-06-13
|/ | | | | | | | | | | | | | Store text in ScreenLines as UTF-8, so it can be sent as-is to the UI layer. `utfc_char2bytes(off,buf)` is removed, as `ScreenLines[off]` now already contains this representation. To recover the codepoints that the screen arrays previously contained, use utfc_ptr2char (or utf_ptr2char to ignore composing chars). NB: This commit does NOT change how screen.c processes incoming UTF-8 data from buffers, cmdline, messages etc. Any algorithm that operates on UCS-4 (like arabic shaping, treatment of non-printable chars) is left unchanged for now.
* vim-patch:8.0.0520: using a function pointer while the function is known (#8513)KunMing Xie2018-06-10
| | | | | | | Problem: Using a function pointer instead of the actual function, which we know. Solution: Change mb_ functions to utf_ functions when already checked for Unicode. (Dominique Pelle, closes vim/vim#1582) https://github.com/vim/vim/commit/ace95989ed81929a84e205b26d0972cb9d6b4b19
* vim-patch:8.0.0466: still macros that should be all-caps (#8510)Jan Edmund Lazo2018-06-10
| | | | | Problem: There are still a few macros that should be all-caps. Solution: Make a few more macros all-caps. https://github.com/vim/vim/commit/8820b48654b62472821d9b155fe03ab7ac13a05c
* vim-patch:8.0.0675: 'colorcolumn' has a higher priority than 'hlsearch' (#8483)Jan Edmund Lazo2018-06-05
| | | | | | Problem: 'colorcolumn' has a higher priority than 'hlsearch', it should be the other way around. (Nazri Ramliy) Solution: Change the priorities. (LemonBoy, closes vim/vim#1794) https://github.com/vim/vim/commit/774e5a9673260b1b8b88463669213a96637f72e8
* vim-patch:8.0.0454: compiler warnings for "always true" comparison (#8431)KunMing Xie2018-05-24
| | | | | | Problem: Compiler warnings for comparing unsigned char with 256 always being true. (Manuel Ortega) Solution: Add type cast. https://github.com/vim/vim/commit/977d03733601948ab334fec24d0da82bc18c57c3
* terminal: tickle statusline on entering #8323raichoo2018-05-18
|
* Merge pull request #8358 from mhinz/screenJames McCoy2018-05-04
|\ | | | | [RFC] screen: avoid artifacts
| * screen: avoid artifactsMarco Hinz2018-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Put back the condition that was accidentally removed in https://github.com/neovim/neovim/commit/d42f934bcb3e9e876e5e7ba0ab5cd824175fd10c - if (enc_utf8 && ScreenLinesUC[off] != 0) - bytes[utfc_char2bytes(off, bytes)] = NUL; - else if (enc_dbcs == DBCS_JPNU && ScreenLines[off] == 0x8e) { - bytes[0] = ScreenLines[off]; - bytes[1] = ScreenLines2[off]; - bytes[2] = NUL; - } else if (enc_dbcs && MB_BYTE2LEN(bytes[0]) > 1) { - bytes[1] = ScreenLines[off + 1]; - bytes[2] = NUL; - } + bytes[utfc_char2bytes(off, bytes)] = NUL; Fixes #8357
* | messages: redraw tabline if it was overdrawn by messagesBjörn Linse2018-05-04
|/ | | | | | | fixes #8354 Regression from #8088, where we try to avoid clearing the screen if not absolutely necessary
* Merge #8218 'Fix errors reported by PVS'Justin M. Keyes2018-04-27
|\ | | | | closes #4983
| * *: Fix clint errorsZyX2018-04-22
| |
| * screen: Fix PVS/V560: col never reassigned in this part of codeZyX2018-04-22
| |
| * screen: Fix PVS/V519: duplicate successive assignmentZyX2018-04-22
| |
| * screen: Fix PVS/V560: condition was checked in surrounding ifZyX2018-04-22
| |
| * screen: Get rid of ScreenLines2 as it is no longer usedZyX2018-04-22
| | | | | | Should also fix some PVS warnings in process.
| * charset,*: Refactor transstr()ZyX2018-04-09
| |