aboutsummaryrefslogtreecommitdiff
path: root/test/functional/terminal
Commit message (Collapse)AuthorAge
...
* 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)