aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/screen.c
Commit message (Collapse)AuthorAge
...
* | screen: winhl=Normal:Background should not override syntax (#8093)Björn Linse2018-04-02
|/ | | fixes #7375
* msg: do not scroll entire screen (#8088)Björn Linse2018-03-31
|
* getchar: implement <Cmd> key to invoke command in any modeBjörn Linse2018-03-23
|
* screen.c: define column width by function (#5802)Matthieu Coudron2018-03-18
| | | | | | | This does not change the behavior but centralizes column size for future use (like dynamic signcolumn width depending on the maximum number of signs on a line). The returned value is limited by the size of the `extra` tab in win_line (currently allows for 18 ASCII characters).
* screen.c: make negative 'writedelay' show all redrawsBjörn Linse2018-02-24
| | | | | | | | | | | | | | | | | | | | Currently writedelay shows the sequence of characters that are sent to the UI/TUI module. Here nvim has already applied an optimization: when attempting to put a char in a screen cell, if the same char already was there with the same attributes, UI output is disabled. When debugging redrawing it it sometimes more useful to inspect the redraw stream one step earlier, what region of the screen nvim actually is recomputing from buffer contents (win_line) and from evaluating statusline expressions. Take the popupmenu as an example. When closing the popupmenu (in the TUI), currently 'writedelay' looks like vim only is redrawing the region which the pum covered. This is not what happens internally: vim redraws the entire screen, even if only outputs the changed region. This commit allows negative values of 'writedelay', which causes a delay for all redrawn characters, even if the character already was displayed by the UI before.
* 'fillchars': fix defaults logic; handle ambiwidth=double #7986Matthieu Coudron2018-02-23
| | | | Update tests.
* defaults: 'fillchars'Justin M. Keyes2018-02-23
| | | | | | | | | | | Most fonts should have these by now. Both are a significant visual improvement. - Vertical connecting bar `│` is used by tmux, pstree, Windows 7 cmd.exe and nvim-qt.exe. - Middle dot `·` works on Windows 7 cmd.exe, nvim-qt.exe. For reference: tmux uses these chars to draw lines: │ ├ ─
* screen: win_del_lines/win_ins_lines cleanupBjörn Linse2018-02-21
|
* screen: remove dead code emulating terminals without scroll regionsBjörn Linse2018-02-21
| | | | This logic is now in tui/tui.c
* Merge #7939 "fix crash: 'spell' and long lines"Justin M. Keyes2018-02-11
|\
| * screen.c: resolve neovim issue #7937Michael Brailsford2018-02-07
| |
* | ui/tui: highlighting refactorBjörn Linse2018-02-11
|/ | | | | | | | Make HlAttr contain highlighting state for both color modes (cterm and rgb). This allows us to implement termguicolors completely in the TUI. Simplify some logic duplicated between ui.c and screen.c. Also avoid some superfluous highlighting reset events.
* vim-patch:8.0.0380: with 'linebreak' double wide char wraps badlyckelsel2018-01-14
| | | | | | | | | Problem: With 'linebreak' set and 'breakat' includes ">" a double-wide character results in "<<" displayed. Solution: Check for the character not to be replaced. (Ozaki Kiichi, closes vim/vim#1456) https://github.com/vim/vim/commit/38632faf635f6434441827e136bceb5a930c59ad
* :terminal : fix crash on resize (#7547)Justin M. Keyes2017-11-13
| | | | | | closes #7538 Fix wrong window references from #7440 Remove some eager resizing. Still mostly doesn't address #4997.
* Merge #7173 'api/ui: externalize cmdline'Justin M. Keyes2017-10-29
|\ | | | | | | closes #6162
| * ext_cmdline: implement redraw!Björn Linse2017-10-26
| |
* | test: :terminal + numberwidth=9Justin M. Keyes2017-10-28
| |
* | terminal: Account for number column (#5310)Sam Wilson2017-10-27
|/
* syntax: 'cursorline': revert priority change (#7400)Justin M. Keyes2017-10-16
| | | | | ref #7383 reverts d1874ab2821d076397290cc154d87ec2dc352c79 ref #6380
* syntax: 'cursorline': low priority #6380Justin M. Keyes2017-10-07
|
* syntax: 'cursorcolumn', 'colorcolumn': low priority #6380Justin M. Keyes2017-10-07
|
* terminal.c: need maketitle() in terminal-modeJustin M. Keyes2017-09-09
| | | | | | | | | | | normal_redraw() usually takes care of this, but that doesn't happen during terminal-mode. regression by c484323dc67f steps to reproduce: nvim -u NORC --cmd 'execute("set titlestring=" . $NVIM_LISTEN_ADDRESS) | set title | startinsert | !sleep 1' term://sh closes #7248
* doc: screen_resize(): remove mention of "mustset"Justin M. Keyes2017-08-14
| | | | | "mustset" is from Vim term.c:set_shellsize(), not relevant here: we behave as if mustset=true always.
* ui: disable 'lazyredraw' during ui_refresh.Justin M. Keyes2017-08-14
| | | | | | | | | | | | Could also try `do_redraw = true` instead of save/restore `p_lz`, but the nice thing about save/restore of `p_lz` is that it is "atomic". The semantics of `do_redraw` are not clear to me. Closes #4884 References #6202 References https://github.com/neovim/neovim/pull/6202#issuecomment-284379503 References #3929 #5692 #6157 References #5866
* vim-patch:8.0.0235Justin M. Keyes2017-08-12
| | | | | | | Problem: Memory leak detected when running tests for diff mode. Solution: Free p_extra_free. https://github.com/vim/vim/commit/b031c4ea04eb1e37a873fbb85e90d835aa1e2b1c
* vim-patch:8.0.0524Justin M. Keyes2017-08-12
| | | | | | | Problem: Folds are messed up when 'encodin' is "utf-8". Solution: Also set the fold character when it's not multi-byte. https://github.com/vim/vim/commit/8da1e6cedf839902e15987a98733ebd31b5f1b81
* vim-patch:8.0.0518Justin M. Keyes2017-08-12
| | | | | | | | | | | Closes #7086 Problem: Storing a zero byte from a multi-byte character causes fold text to show up wrong. Solution: Avoid putting zero in ScreenLines. (Christian Brabandt, closes vim/vim#1567) https://github.com/vim/vim/commit/c6cd8409c2993b1476e123fba11cb4b8d743b896
* vim-patch:8.0.0290 vim-patch:8.0.0394Justin M. Keyes2017-08-12
| | | | | | | | | | | | | | | | | vim-patch:8.0.0290: cursor positioning wrong if wide character wraps Problem: If a wide character doesn't fit at the end of the screen line, and the line doesn't fit on the screen, then the cursor position may be wrong. (anliting) Solution: Don't skip over wide character. (Christian Brabandt, closes vim/1408) vim-patch:8.0.0394 Problem: Tabs are not aligned when scrolling horizontally and a Tab doesn't fit. (Axel Bender) Solution: Handle a Tab as a not fitting character. (Christian Brabandt) Also fix that ":redraw" does not scroll horizontally to show the cursor. And fix the test that depended on the old behavior. https://github.com/vim/vim/commit/abc39ab642791ae3d22a524516eeedb673a95d9d
* vim-patch:8.0.0126Justin M. Keyes2017-08-12
| | | | | | | | | Problem: Display problem with 'foldcolumn' and a wide character. (esiegerman) Solution: Don't use "extra" but an allocated buffer. (Christian Brabandt, closes vim/vim#1310) https://github.com/vim/vim/commit/6270660611a151c5d0f614a5f0248ccdc80ed971
* vim-patch:8.0.0090 fix breakindent bugJustin M. Keyes2017-08-12
| | | | | | (original Vim commit-message is bogus) https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
* win_redr_status(): skip if wildmenu is showingJustin M. Keyes2017-08-05
| | | | | | | | | | | | This might be too coarse, but it passes all tests ... A more nuanced approach might be: only skip the windows whose statuslines are overwritten by the wildmenu. Closes #2255 Closes #7108 vim-patch:8.0.0710 N/A because of the changes in this commit.
* vim-patch:8.0.0069ckelsel2017-07-23
| | | | | | | Problem: Compiler warning for self-comparison. Solution: Define ONE_WINDOW and add vim/vim#ifdef. https://github.com/vim/vim/commit/a1f4cb93ba50ea9e40cd4b1f5592b8a6d1398660
* Merge #6816 'TUI improvements'Justin M. Keyes2017-07-07
|\ | | | | | | | | | | | | Removed these commits (test-suite changes): e2fba01910e0 7c809c4bc708 18e7cd9e9727
| * lintJustin M. Keyes2017-07-07
| |
| * tui: Remove the iTerm2 corner case.Jonathan de Boyne Pollard2017-06-04
| |
| * screen: Correct commentary.Jonathan de Boyne Pollard2017-06-03
| | | | | | | | This "trick" is not conditional upon the type of UI.
* | bufhl: some style cleanupBjörn Linse2017-06-24
| |
* | screen.c: fix lintBjörn Linse2017-06-14
| |
* | screen.c: make more highlights window specificBjörn Linse2017-06-14
|/
* ui: cleanup UI_CALL wrappersBjörn Linse2017-05-10
| | | | remove pointless control chars in the text stream
* api: use generated events for popupmenu and tablineBjörn Linse2017-05-10
|
* options: allow different highlights in windowsBjörn Linse2017-05-08
|
* api/ext_tabline: `curtab` should be a Tabpage handle.Justin M. Keyes2017-04-28
|
* api/ext_tabline: List of Dicts.Justin M. Keyes2017-04-26
|
* api/ui: externalize tablineJustin M. Keyes2017-04-26
| | | | | | - Work with a bool[] array parallel to the UIWidget enum. - Rename some functions. - Documentation.
* api/ui: externalize tablineDongdong Zhou2017-04-26
|
* Merge #6550 from ZyX-I/pvs-check-commentJustin M. Keyes2017-04-20
|\
| * *: Add comment to all C filesZyX2017-04-19
| |
* | vim-patch:7.4.2152James McCoy2017-04-19
|/ | | | | | | Problem: No proper translation of messages with a count. Solution: Use ngettext(). (Sergey Alyoshin) https://github.com/vim/vim/commit/ee695f787ade7fd88fc5f5497553d95c0c3645b5
* *: Fix linter errorsZyX2017-04-16
|