aboutsummaryrefslogtreecommitdiff
path: root/test/functional/terminal
Commit message (Collapse)AuthorAge
...
* Rewrite hexadecimal escape sequences as decimal in lua stringsThiago de Arruda2016-03-07
| | | | | | | The hexadecimal notation is a Luajit extension which is not compatible with Lua 5.1. While Lua 5.2 does support hexadecimal sequences, it is better to target Lua 5.1 for maximum compatibility with Luajit(which has fully compatible with 5.1 API/ABI).
* Tests: fix according to lualintMarco Hinz2016-02-29
|
* functests: Make test more robustZyX2016-02-28
|
* functests: Make sure that setting scrollback size works from TermOpenZyX2016-02-28
|
* main: Make using :edit term:// run TermOpen eventZyX2016-02-28
| | | | Ref #4306
* input: Do not set high-bit; preserve ALT modifier.Justin M. Keyes2016-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Background: Vim internally prefers to represent ALT/META chords as single-byte keys, by setting the high bit of the key byte. extract_modifiers() _discards_ the meta/alt modifier, but we need it for libvterm and libtermkey. Closes #2440 Closes #3727 Closes #2017 References #2277 References #2254 https://github.com/neovim/neovim/issues/2017#issuecomment-140423557 > We [not libtermkey] are setting the high bit for some reason https://github.com/neovim/neovim/issues/176#issuecomment-77834715 > libvtermkey requires the leading esc to parse alt/meta https://github.com/neovim/neovim/pull/3246#issuecomment-136328450 > A program could do better than the current logic on some terminals, by > asking for pure 8bit mode (S8C1T) and then immediately querying the > mode again. If the result comes back as an 8bit single-byte CSI, then > it can presume the mode setting was successful, and now the ESC prefix > byte won't be seen in multibyte sequences; only as an Alt- prefix or > a real Escape key. On such a terminal, it could therefore avoid > needing to use that waiting timeout.
* test/functional: clean up according to luacheck (part 2)Marco Hinz2015-11-23
|
* test/functional: clean up according to luacheck (part 1)Marco Hinz2015-11-23
|
* Reorganize focus events test into individual testsJoe Hermaszewski2015-11-23
| | | | | The focus event tests now live in their own `describe` block with each test testing the handling of focus events in a single mode.
* Enable focus events in cmdline and terminal modesJoe Hermaszewski2015-11-23
| | | | | | | | | | | | | This change adds switch cases for K_FOCUSGAINED and K_FOCUSLOST to the input handling functions in ex_getln.c and terminal.c. The handling is identical to what's found in edit.c (just calling apply_autocmds). If one enters cmdline-mode by feeding `:` and sends a focuslost event (by leaving the window for example) the text `<FocusLost>` will be inserted into the command line. There is similar behaviour in terminal mode. This patch corrects this behavior to fire the apropriate autocmd instead. Fixes #3714
* Add tests for focus eventsJoe Hermaszewski2015-11-17
|
* Add TermClose eventMarco Hinz2015-11-15
| | | | | | | | A terminal buffer now exits with: [Process exited <return value>] You can hook into it. E.g. :au TermClose * call feedkeys('<cr>') Closes #2293.
* tui: Fix abort when stdout and stderr are not tty.Thiago de Arruda2015-10-29
| | | | | The abort came from using libuv tty handle on non-tty fd. Use uv_pipe_t in these cases. Also add simple test for this case.
* test: Add more TUI tests and increase timeoutThiago de Arruda2015-10-26
|
* functests: Do not forget about -i argumentZyX2015-10-23
| | | | Target: make all tests run with chmod -x ~/.config/nvim ~/.local/share/nvim.
* test: Add basic tests for the TUIThiago de Arruda2015-10-01
| | | | The tests use `termopen` to spawn nvim and verify the TUI.
* terminal: Run screen refresh timer in a deferred queueThiago de Arruda2015-09-18
| | | | Close #3332
* terminal: Fix use after freeThiago de Arruda2015-08-22
| | | | | Since close_cb may free the terminal structure, save the "wipe" flag before calling it.
* Test: synIDattr(): true color awarenessMarco Hinz2015-07-18
|
* terminal : don't set vterm size to 0 (workaround #2732)Frederik Van Slycken2015-05-31
|
* test/terminal: fix indeterminism in colorcolumn screen testBjörn Linse2015-05-10
| | | | | | | | Previously, the screen test was expecting the screen state to be identical to the previous screen test in `thelpers.screen_setup()`, which is indeterministic. (The later screen test can accidentally still see the previous identical state). The solution is to add a test for a intermediate different state.
* term: use an argument vector for termopen().Scott Prager2015-05-02
| | | | | | | | | | | | | | | | | | | | | | Old behaviour: termopen('cmd') would run `&shell &shcf "cmd"`, which caused the functional tests to fail on some systems due to the process not "owning" the terminal. Also, it is inconsistent with jobstart(). Modify termopen() so that &shell is not invoked, but maintain the old behaviour with :terminal. Factor the common code for building the argument vector from jobstart() and modify the functional tests to call termopen() instead of :terminal (fixes #2354). Also: * Add a 'name' option for termopen() so that `:terminal {cmd}` produces a buffer named "term//{cwd}/{cmd}" and termopen() users can customize the name. * Update the documentation. * Add functional tests for `:terminal` sinse its behaviour now differs from termopen(). Add "test/functional/fixtures/shell-test.c" and move "test/functional/job/tty-test.c" there, too. Helped-by: Justin M. Keyes <@justinmk>
* Add new highlight groups TermCursor/TermCursorNCMarco Hinz2015-04-09
| | | | | | | These highlight groups replace the old mechanism of setting: - {g,b}:terminal_focused_cursor_highlight - {g,b}:terminal_unfocused_cursor_highlight
* term: after <C-\>, resume normal input loopScott Prager2015-04-05
| | | | | | | | Pressing <C-\> and then a mouse click will insert the click into the terminal as if a keyboard button had been pressed. Keep track of whether the last input was <C-\> and only call terminal_send_key() if the next input is a key press.
* terminal: Handle loss of focus in event loop.Scott Prager2015-04-05
| | | | | | | | | | | | While in a terminal and insert mode, if an event caused loss of focus, nvim would stay in the terminal event loop causing an inconsistent view of internal state and/or segfault. Remove the "term" argument from terminal_enter() as it only makes sense to call it with curbuf->terminal. Terminate the loop when switched to a different buffer. fixes #2301
* test: Add terminal testsThiago de Arruda2015-03-25
- Modify tty-test to allow easier control over the terminal - Add a new directory with various terminal tests/specifications - Remove a pending job/pty test. - Flush stdout in Screen:snapshot_util() (avoid waiting for the test to finish) - Replace libuv sigwinch watcher by a sigaction handler. libuv randomly fails to deliver signals on OSX. Might be related to the problem fixed by @bbcddc55ee1e5605657592644be0102ed3a5f104 (under the hoods, libuv uses a pipe to deliver signals to the main thread, which might be blocking in some situations)