aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui
Commit message (Collapse)AuthorAge
...
* ui: implement ext_messagesBjörn Linse2019-02-10
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* UI: implement 'pumblend' option for semi-transparent popupmenuBjörn Linse2019-02-07
| | | | | | | | | | | | | Why? - Because we can. - Because the TUI is just another GUI™ - Because it looks kinda nice, and provides useful context like 1 out of 100 times Complies with "don't pay for what you don't use". Some crashes for resizing were unfolded, add tests for those.
* UI: always use contrete colors for default_colors_setBjörn Linse2019-02-05
| | | | | But add an escape hatch needed for external TUI, so it still can use terminal emulator defaults.
* popupmenu: fix alignment of kind and extra after #9530Björn Linse2019-02-03
|
* Merge pull request #9530 from bfredl/pum_floatBjörn Linse2019-02-02
|\ | | | | Implement popupmenu as a floating grid internally to reduce flicker
| * tests/ui: add test for popupmenu redrawing in various situationsBjörn Linse2019-02-02
| | | | | | | | | | Many of these are handled by the compositor. Check that it causes no glitches.
* | inccommand: auto-disable if folding is slow #9568KillTheMule2019-02-01
|/ | | | | Fixes #9557
* tests: fix mouse tests that use lcs=eol:$Marco Hinz2019-01-26
| | | | | | | Previously the mouse tests set 'listchars', but not 'list'. Funnily enough, the space, where the `$` would normally appear, would still use new highlight group. Set 'list' for good and fix the tests accordingly.
* ui: multigrid mouse supportBjörn Linse2019-01-20
|
* screen: don't unconditionally clear messages on window scrollBjörn Linse2019-01-15
| | | | | | | | | | | | | | | In vim, scrolling a window might mess up the cmdline. To keep it simple, cmdline was always cleared for any window scroll. In nvim, where safe scrolling is implemented in the TUI layer, this problem doesn't exist. Clearing the message on scrolling, when we not do it e.g when switching tabs is a bit weird, as the former is a much smaller context change. A vim patch introduced the possibility to avoid the cmdlline clear for redraws caused by async events. This case will now trivially be covered, as the redraw is always avoided. vim-patch:8.0.0592: if a job writes to a buffer screen is not updated
* test: add tests for conceal cursor movementBjörn Linse2019-01-13
|
* vim-patch:8.1.0449: fix display of 'rnu' with folded lines #9481Michael Vilim2019-01-11
| | | | | | | | | | | | | | | | | | | | | | | | Problem: When 'rnu' is set folded lines are not displayed correctly. (Vitaly Yashin) Solution: When only redrawing line numbers do draw folded lines. (closes vim/vim#3484) https://github.com/vim/vim/commit/7701f308565fdc7b5096a6597d9c3b63de0bbcec --- Explanation: Before this patch, relative line numbers would update on a cursor movement and overwrite fold highlighting in the line number columns. Other operations can cause the fold highlighting to overwrite the line number styles. Together, this causes the highlighting in the line number columns to flicker back and forth while editing. Test case: create `t.vim` with these contents: set fdm=marker rnu foldcolumn=2 call setline(1, ["{{{1", "nline 1", "{{{1", "line 2"]) and then call `nvim -u NORC -S t.vim` and press `j`; observe that the fold highlighting disappears.
* api: select items in popupmenuBjörn Linse2019-01-09
|
* Visual: highlight char-at-cursorJustin M. Keyes2019-01-04
| | | | | | | | | | | | | | | Decide whether to highlight the visual-selected character under the cursor, depending on 'guicursor' style: - Highlight if cursor is blinking or non-block (vertical, horiz). - Do NOT highlight if cursor is non-blinking block. Traditionally Vim's visual selection does "reverse mode", which perhaps conflicts with the non-blinking block cursor. But 'guicursor' defaults to a vertical bar for selection=exclusive, and this confuses users who expect to see the text highlighted. closes #8983
* Merge pull request #9434 from bfredl/multigrid_fixesBjörn Linse2019-01-01
|\ | | | | Multigrid: fix popupmenu position + some cleanup
| * popupmenu: fix positioning with vsplitsBjörn Linse2019-01-01
| |
* | Merge pull request #9436 from jamessan/more-fragile-testsJames McCoy2019-01-01
|\ \ | |/ |/| Mark a few more functionaltests as fragile
| * Mark "shell command :! throttles shell-command output greater than ~10KB" ↵James McCoy2019-01-01
| | | | | | | | fragile
| * Mark "feeding large chunks of input with <Paste>" fragileJames McCoy2019-01-01
| |
| * Mark ":substitute with inccommand during :terminal activity" fragileJames McCoy2019-01-01
| |
* | multigrid: simplify testsBjörn Linse2018-12-31
| |
* | multigrid: add tests for multiline messages and tabsBjörn Linse2018-12-31
| |
* | multigrid: test refactorBjörn Linse2018-12-31
| |
* | multigrid: rename event to win_pos, make grid firstBjörn Linse2018-12-31
| |
* | multigrid: add msg_scroll_start and msg_scroll_reset eventsBjörn Linse2018-12-31
| |
* | multigrid: add multigrid screen testsUtkarsh Maheshwari2018-12-31
| |
* | multigrid: add multigrid support to test infrastructureBjörn Linse2018-12-31
|/ | | | make Screen explicitly tied to its session
* strings: make vim_snprintf handle %d correctly againBjörn Linse2018-12-24
| | | | This was broken in #9369 (4680ca2)
* vim-patch:8.1.0562: parsing of 'diffopt' is slightly wrongAnatolii Sakhnik2018-12-09
| | | | | | | | Problem: Parsing of 'diffopt' is slightly wrong. Solution: Fix the parsing and add a test. (Jason Franklin, Christian Brabandt) https://github.com/vim/vim/commit/b6fc72851c45a36a370f9516c68508e47b41c4c1
* vim-patch:8.1.0393: not all white space difference options availableAnatolii Sakhnik2018-12-09
| | | | | | | Problem: Not all white space difference options available. Solution: Add "iblank", "iwhiteall" and "iwhiteeol" to 'diffopt'. https://github.com/vim/vim/commit/785fc6567f572b8caefbc89ec29bbd8b801464ae
* vim-patch:8.1.0360: using an external diff program is slow and inflexibleAnatolii Sakhnik2018-12-09
| | | | | | | | | | | | | | | | | | Problem: Using an external diff program is slow and inflexible. Solution: Include the xdiff library. (Christian Brabandt) Use it by default. https://github.com/vim/vim/commit/e828b7621cf9065a3582be0c4dd1e0e846e335bf vim-patch:8.1.0360 vim-patch:8.1.0364 vim-patch:8.1.0366 vim-patch:8.1.0370 vim-patch:8.1.0377 vim-patch:8.1.0378 vim-patch:8.1.0381 vim-patch:8.1.0396 vim-patch:8.1.0432
* api: make nvim_buf_set_virtual_text use correct namespace counterBjörn Linse2018-12-07
|
* screen: add missing status redraw when redraw_later(CLEAR) was usedBjörn Linse2018-12-05
|
* fixup: 35 col resize to scroll screenJan Edmund Lazo2018-12-01
|
* functionaltests: vim-patch:8.1.{550,551} fixJan Edmund Lazo2018-11-30
|
* highlight: Fix missing .rgb_sp_color in initializers (#9287)Justin M. Keyes2018-11-30
| | | | | | | terminal_get_line_attributes() had this bug for a long time, though it likely had no effect visible to users. ref #9028 ref 60f845ca55a1
* API: rename nvim_buf_clear_highlight to nvim_buf_clear_namespaceBjörn Linse2018-11-29
| | | | | We want a single function to clear all namespaced buffer objects. This will later include extmarks.
* Merge #9221 from justinmk/docJustin M. Keyes2018-11-28
|\
| * docJustin M. Keyes2018-11-28
| | | | | | | | | | | | | | | | | | | | - develop.txt is for design/guidelines; architecture/concepts should live elsewhere (currently src/nvim/README.md) - move dev-jargon to intro.txt - replace https://neovim.io/community (deprecated) with https://neovim.io/#chat - <Cmd> avoids CmdlineEnter/Leave https://github.com/vim/vim/issues/2889
* | diff/highlight: Fix GUI highlight for low-priority CursorLine (#9281)Justin M. Keyes2018-11-28
|/ | | | ref #9028 ref 0653ed63a508
* diff/highlight: Show underline for low-priority CursorLineJustin M. Keyes2018-11-27
|
* defaults: background=dark #2894 (#9205)Justin M. Keyes2018-11-20
| | | | | | | | | | | | | By historical accident, Nvim defaults to background=light. So on a dark background, `:colorscheme default` looks completely wrong. The "smart" logic that Vim uses is confusing for anyone who uses Vim on multiple platforms, so rather than mimic that, pick the (hopefully) most common default. - Since Neovim is dark-powered, we assume most users have dark backgrounds. - Most of the GUIs tend to have a dark background by default. ref #6289
* test: adjust time-sensitive tests (#9220)Justin M. Keyes2018-11-10
| | | | | | | | | | | | | - window_split_tab_spec.lua: Put cursor at bottom of :terminal buffer so that it follows output. - inccommand_spec.lua: Increase timeout to allow 2nd retry. - Timer tests are less reliable on Travis CI macOS 10.12/10.13. ref #6829 ref e39dade80b02 ref de13113dc16e ref https://github.com/neovim/neovim/pull/9095#issuecomment-429603452 > We don't guarantee that a X ms timer is triggered during Y ms sleep > for any X<Y, though I would expect the load to be really bad for this > to happen with X=10ms, Y=40ms.
* ui_options: also send when starting or from OptionSetBjörn Linse2018-11-08
| | | | needed after #9024 to receive options from init.vim
* Merge pull request #9149 from bfredl/virt_culBjörn Linse2018-10-25
|\ | | | | screen: show virt_text when 'cursorline' is set
| * screen: fix glitches with nvim_buf_set_virtual_textBjörn Linse2018-10-25
| | | | | | | | | | - virtual text disappeared when 'cursorline' was set - virtual text was shifted when emtpy line was visually selected.
* | UI: add missing redraw after enter_tabpageBjörn Linse2018-10-25
|/ | | | | | | redraw_all_later() isn't guaranteed to update must_redraw after switching tab, we must do it ourselves. fixes #9152
* ui: disable clearing almost everywhereBjörn Linse2018-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid clearing the screen in most situations. NOT_VALID should be equivalent to CLEAR unless some external force messed up the terminal, for these situations <c-l> and :mode will still clear the screen. Also eliminate some obsolete code in screen.c, that dealt with that in vim drawing window 1 can mess up window 2, but this never happens in nvim. But what about slow terminals? There is two common meanings in which a terminal is said to be "slow": Most commonly (and in the sense of vim:s nottyfast) it means low bandwidth for sending bytes from nvim to the terminal. If the screen is very similar before and after the update_screen(CLEAR) this change should reduce bandwidth. If the screen is quite different, but there is no new regions of contiguous whitespace, clearing doesn't reduce bandwidth significantly. If the new screen contains a lot of whitespace, it will depend of if vsplits are used or not: as long as there is no vsplits, ce is used to cheaply clear the rest of the line, so full-screen clear is not needed to reduce bandwith. However a left vsplit currently needs to be padded with whitespace all the way to the separator. It is possible ec (clear N chars) can be used to reduce bandwidth here if this is a problem. (All of this assumes that one doesn't set Normal guibg=... on a non-BCE terminal, if you do you are doomed regardless of this change). Slow can also mean that drawing pixels on the screen is slow. E-ink screens is a recent example. Avoiding clearing and redrawing the unchanged part of the screen will always improve performance in these cases.
* Merge #9086 'vim-patch:8.1.0448'Justin M. Keyes2018-10-18
|\
| * vim-patch:8.1.0448: cursorline not removed when using 'cursorbind'Justin M. Keyes2018-10-16
| | | | | | | | | | | | Problem: Cursorline not removed when using 'cursorbind'. (Justin Keyes) Solution: Store the last cursor line per window. (closes vim/vim#3488) https://github.com/vim/vim/commit/4a5abbd6138240d109278fe1f0b45489d22f712d