aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui
Commit message (Collapse)AuthorAge
...
* test: api: Do not truncate errors <1 MB.Justin M. Keyes2017-04-23
|
* ui: use an array for mode stylesBjörn Linse2017-04-21
|
* ui: add tests for new cursor shape modesBjörn Linse2017-04-21
|
* test: Cursor after `:hi clear|syntax reset`Justin M. Keyes2017-04-17
| | | | Also enable tests on Windows.
* test: helpers.execute() => helpers.feed_command()Justin M. Keyes2017-04-11
|
* functests: Fix some ui/*_spec testsZyX2017-04-09
|
* functests: Fix ui/bufhl_specZyX2017-04-09
|
* functests: Fix ui/screen_basic_specZyX2017-04-09
|
* functests: Replace execute with either command or feed_commandZyX2017-04-09
| | | | | | | | | | Hope this will make people using feed_command less likely: this hides bugs. Already found at least two: 1. msgpackparse() will show internal error: hash_add() in case of duplicate keys, though it will still work correctly. Currently silenced. 2. ttimeoutlen was spelled incorrectly, resulting in option not being set when expected. Test was still functioning somehow though. Currently fixed.
* tests: short form `screen:except(func)` expects condition only. #6440Björn Linse2017-04-06
| | | | | | - Use this to properly test cursor shape events. - tests: update screen_basic_spec to use `screen:expect` short form. Clearer than using `screen:wait` directy.
* 'guicursor': Disable by default for unknown terminals.Justin M. Keyes2017-04-04
| | | | | | | User can still set guicursor explicitly in init.vim. Closes #5990 Closes #6403
* 'guicursor': enabled=false if 'guicursor' is emptyJustin M. Keyes2017-04-04
| | | | | Closes #6429 Closes #6430
* 'listchars': `Whitespace` highlight group #6367Yichao Zhou2017-04-03
|
* tests: Fix testlint errorsZyX2017-04-03
|
* api/cursor_style_set: mode descriptionsJustin M. Keyes2017-04-01
|
* 'guicursor': Empty means "block cursor in all modes".Justin M. Keyes2017-04-01
| | | | Also: update default 'guicursor' to match the documentation.
* tui: 'guicursor' shape #6044Matthieu Coudron2017-04-01
| | | | Closes #2583
* highlight: :match should override 'list' (#6343)Yichao Zhou2017-03-26
| | | Closes #4946
* defaults: 'showcmd', 'belloff', 'ruler'Justin M. Keyes2017-03-16
| | | | | | | | | | | - Vim "unix default" of 'noshowcmd' is serving few users. And it's inconsistent. - 'ruler' and 'belloff=all' improve the out-of-the-box experience. - Continue to use 'noshowcmd' and 'noruler' by default in the functional tests to keep them fast. TODO: Add a "disable slow stuff" command or mapping to address the use-case of a very slow terminal connection.
* vim-patch:7.4.2051James McCoy2017-03-06
| | | | | | | Problem: No proper testing of trunc_string(). Solution: Add a unittest for message.c. https://github.com/vim/vim/commit/502ae4ba63561c98ac69af26cd9883bfd18d225f
* terminal: Keep cursor position.Justin M. Keyes2017-03-01
| | | | | | Let the terminal dictate the normal-mode cursor position. This will be disorienting sometimes, but it is closer to what users expect vs always going to the last line.
* undo: :earlier, g-: Set b_u_seq_cur correctly. (#6016)Matthew Malcomson2017-01-31
| | | | | | | | | | | | | | | | | | | Previously alternate branches were not accounted for properly, with this change g- after an undo to a branch point works. The current sequence number b_u_seq_cur is used in undo_time(), in u_doit() this was calculated by subtracting one from the curhead sequence number. The curhead header entry represents the change that was just undone, so the sequence number we want is that of the change we have moved to. This is the sequence number of the undo head that is the uh_next element of this curhead. That sequence number is not always one less than the curhead sequence number -- there may have been an alternate branch at this point. Instead of subtracting one, we now directly find the sequence number of curhead->uh_next.
* test: Fix broken test.Justin M. Keyes2017-01-24
|
* ci: XXX: Disable "throttle" test on Travis macOS.Justin M. Keyes2017-01-23
|
* coverity/133845: Negative array index read. (FP)Justin M. Keyes2017-01-23
| | | | | | | | `find_command(s->ca.cmdchar) >= 0` was established near the start of normal_execute(). And `unshift_special(&s->ca);` "should" not ever result in s->ca.cmdchar containing a multibyte char. So only an assert() is needed here.
* tui: Enable mode-sensitive cursor by default.Justin M. Keyes2017-01-20
| | | | | | | | | | | | | | Also give NVIM_TUI_ENABLE_CURSOR_SHAPE more granularity: 0 = do not change cursor shape 1 = non-blinking ("steady") cursor with mode-sensitive shape 2 = blinking cursor with mode-sensitive shape Note: blink state is not changed for Konsole, instead user's terminal preference makes the decision. (Can't do that for xterm-likes, DECSCUSR forces us to choose blink-state.) This is a temporary step until the TUI respects 'guicursor' Ref: https://github.com/neovim/neovim/issues/2583#issuecomment-272988384
* ci: Disable "CTRL-C interrupts :global" testJustin M. Keyes2017-01-19
| | | | | This test is low-value, high-cost. It's slow, and sometimes crashes luajit. It's still enabled on local runs, that's good enough.
* Merge pull request #5963 from jamessan/screen-expect-clarityJames McCoy2017-01-18
|\ | | | | test: screen: Assert expected row count matches configured screen height
| * test: screen_basic: Re-enable min width/height testJames McCoy2017-01-18
| |
| * test: screen: Assert expected row count matches configured screen heightJames McCoy2017-01-18
| | | | | | | | | | | | | | | | | | | | When there is a difference in expected vs. actual row count, the user gets a confusing message about being unable to string concat a nil value from screen:expect. This assert makes it clear what the problem is rather than requiring people to dig through the code of screen:expect to determine what happened.
* | test: nvim_ui_attach() with huge dimensions. (#5974)Justin M. Keyes2017-01-18
|/ | | | | | | Also: - Attempt to constrain wall-of-text in screen.lua. - Windows: Enable screen_basic_spec.lua Closes #2180
* inccommand: Preview :sub commands only after the delimiter is presentJames McCoy2017-01-11
| | | | Closes #5888
* inccommand: Suppress error reporting when previewing commandsJames McCoy2017-01-11
| | | | Closes #5912
* test: skip_fragile(), TEST_SKIP_FRAGILEJustin M. Keyes2017-01-04
| | | | | | | Let build systems define TEST_SKIP_FRAGILE to skip tests that are known to be resource-intensive (unreliable on slow systems). References https://github.com/neovim/neovim/pull/5488#issuecomment-265622113
* os/shell: do_os_system(): Always show last chunk.Justin M. Keyes2016-12-10
| | | | | | | | | | | | | | | | | | | | | This ameliorates use-cases like: :!cat foo.txt :make where the user is interested in the last few lines of output. Try these shell-based ex-commands before/after this commit: :grep -r '' * :make :!yes :!grep -r '' * :!git grep '' :!cat foo :!echo foo :!while true; do date; done :!for i in `seq 1 20000`; do echo XXXXXXXXXX $i; done In all cases the last few lines of the command should always be shown, regardless of where throttling was triggered.
* os/shell: Throttle :! output, pulse "..." message.Justin M. Keyes2016-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | Periodically skip :! spam. This is a "cheat" that works for all UIs and greatly improves responsiveness when :! spams MB or GB of output: :!yes :!while true; do date; done :!git grep '' :grep -r '' * After ~10KB of data is seen from a single :! invocation, output will be skipped for ~1s and three dots "..." will pulse in the bottom-left. Thereafter the behavior alternates at every: * 10KB received * ~1s throttled This also avoids out-of-memory which could happen with large :! outputs. Note: This commit does not change the behavior of execute(':!foo'). execute(':!foo') returns the string ':!foo^M', it captures *only* Vim messages, *not* shell command output. Vim behaves the same way. Use system('foo') for capturing shell command output. Closes #1234 Helped-by: oni-link <knil.ino@gmail.com>
* test: Disable unreliable tests on travis+ASAN_UBSANJustin M. Keyes2016-12-07
|
* add cmdline mode to modechange of RPC and testschemzqm2016-11-30
| | | | | | | | use set_cursor_shape_bar for cmdline mode fix test of screen_basic_spec.lua & screen.lua comment fix
* ui: add tests for ui_mode_changeBjörn Linse2016-11-25
| | | | | Also fix snapshot_util() to work even if default_attr_ids is not a proper lua array.
* build: Target luacheck HEAD.Justin M. Keyes2016-11-17
| | | | | | | | | | | | https://github.com/mpeterv/luacheck/pull/81#issuecomment-261099606 > If you really want to use bleeding-edge version you should get the > rockspec from master branch, not a fixed commit ... > The correct way to install from a specific commit is cloning that > commit and running "luarocks make" from project directory. The reason > is that running "install" or "build" on an scm rockspec fetches > sources from master but uses build description from the rockspec > itself, which may be outdated.
* 'inccommand': Add tests.Justin M. Keyes2016-11-15
|
* inccommand=nosplit: Jump to first match.Justin M. Keyes2016-11-15
| | | | | | Call update_topline() to adjust the current viewport. Closes #5597
* 'inccommand': Simplify cursor placement logic.Justin M. Keyes2016-11-11
| | | | | Remove the inner for-loop; just use the column of the first in-line match.
* 'inccommand': Restore cursor/view if cancelled.Justin M. Keyes2016-11-10
| | | | | Restore cursor position and window "view", if command is cancelled. This is how 'incsearch' works.
* 'inccommand': buftype=nofile, restore cursor/viewJustin M. Keyes2016-11-10
| | | | | | | - Use a standard scratch buffer instead of a new 'buftype', functions like curbufIsChanged() already have special handling for scratch bufs. - Cleanup some stuff from the previous merge. - Add support for :smagic, :snomagic. Closes #5578
* 'inccommand': Preserve curbuf->b_u_newhead.Justin M. Keyes2016-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add tests for undotree(). Helped-by: Björn Linse <bjorn.linse@gmail.com> When "curhead" points to a valid head, the value of "newhead" is meaningless (and really should be set to null). The undo state for a buffer is _logically_ the enum: enum UndoState { CurrentHead(head), NewHead(head), EmptyTree } nvim _represents_ this as: whenever `curbuf->b_u_curhead` is nonnull it should be used as the current head, and `curbuf->b_u_newhead` is ignored. If the there is a current head, then this will be redoed on the next redo, and its parent will be undone on next undo. Only if `b_u_curhead` is NULL, `b_u_newhead` will be used as the head to undo (and it is not possible to redo). Also both can be NULL, to indicate an empty undotree. (To be fair, this only strictly true when calling undo.c from the outside, in some places _within_ a function in undo.c both values might be meaningful) Apparently `undotree()` breaks this non-abstraction, this _cosmetic_ issue can easily be fixed by `ex_substitute` also saving and restoring `b_u_newhead`, but is doesn't reflect any error really how `u_undo_and_forget` manipulates the _actual_ state of the undo tree.
* 'inccommand': preserve 'modified'Justin M. Keyes2016-11-08
| | | | | During the live preview, the buffer-local 'modified' flag should not be changed.
* 'inccommand': Do not trigger during scripts, feedkeys().Justin M. Keyes2016-11-08
|
* 'inccommand': test: scripts/feedkeys() should not trigger previewKillTheMule2016-11-08
|
* 'inccommand': rename 'incsubstitute'Justin M. Keyes2016-11-08
| | | | | | | | | 'inccommand' allows us to expand the feature to other commands, such as: :cdo :cfdo :global Also rename "IncSubstitute" highlight group to "Substitute".