aboutsummaryrefslogtreecommitdiff
path: root/test/functional
Commit message (Collapse)AuthorAge
* Merge pull request #8660 from ↵Björn Linse2018-08-02
|\ | | | | | | | | phodge/7688-nvim-buf-lines-should-return-empty-list-for-unloaded-buffer handle unloaded buffers in nvim_buf_*() functions
| * functests: tests related to operations on unloaded buffers #7688Peter Hodge2018-07-25
| |
* | system(): handle profiling and 'verbose' #8730Marcos Almeida2018-07-29
| | | | | | | | | | | | | | | | | | | | | | | | closes #8362 Vim's code calls `call_shell` directly from `get_system_output_as_rettv` whereas in Nvim this function has been rewritten to not call `call_shell` but to call `os_system` via `do_os_system`, losing the support for profiling and verbose. Changing the code to call `call_shell` from `get_system_output_as_rettv` seems to be too complicated to be worth it on the current version of the code. So this commit duplicates the relevant code.
* | screen.c: add update_window_hl to special redrawing entrypointsBjörn Linse2018-07-27
|/ | | | | | | | | | | The following (run as a script) used to cause a crash due to :sign using a special redraw (not updating nvim's specific highlight data structures) without proper redraw first, as split just flags for redraw later. set cursorline sign define piet text=>> texthl=Search split sign place 3 line=2 name=piet buffer=1
* tests: add test for switching tabpage right after scrollBjörn Linse2018-07-24
|
* test: assert scroll region state for clearBjörn Linse2018-07-24
| | | | some clients assume this, so tests should check it
* tests: test for redrawing tabline when msgsep marker goes outside screenBjörn Linse2018-07-24
|
* Merge #8589 'VimL: Remove legacy v:xx aliases'Justin M. Keyes2018-07-23
|\
| * Make "v:errmsg", "v:shell_error" and "v:this_session" distinctShougo Matsushita2018-07-23
| |
* | vim-patch:8.0.1398: :packadd does not load packages from the "start" ↵Jan Edmund Lazo2018-07-23
|/ | | | | | | | | directory (#8762) Problem: :packadd does not load packages from the "start" directory. (Alejandro Hernandez) Solution: Make :packadd look in the "start" directory if those packages were not loaded on startup. https://github.com/vim/vim/commit/9e1d399e63903c6f84d7888ad8d84ebf4e29d8a1
* ui: add tests for hlstate extensionBjörn Linse2018-07-21
|
* ui: use line-based rather than char-based updates in screen.cBjörn Linse2018-07-21
| | | | | | | | | | | | | Add ext_newgrid and ext_hlstate extensions. These use predefined highlights and line-segment based updates, for efficiency and simplicity.. The ext_hlstate extension in addition allows semantic identification of builtin and syntax highlights. Reimplement the old char-based updates in the remote UI layer, for compatibility. For the moment, this is still the default. The bulitin TUI uses the new line-based protocol. cmdline uses curwin cursor position when ext_cmdline is active.
* highlight: refactor to use stateful representationBjörn Linse2018-07-21
| | | | | This allows us to keep track of the source higlight groups, and not only the final combined highlights.
* startup: fix ":if 0|syntax on|endif" bug (#8731)Justin M. Keyes2018-07-18
| | | | | | | Problem: ":if 0|syntax {on,off}|endif" skips the default of "syntax on" because the executor was setting the `did_syntax_onoff` flag even though "syntax {on,off}" is not actually executed. closes #8728
* Merge #8736 'vim-patch:8.0.0697: stable keymap.h'Justin M. Keyes2018-07-13
|\
| * tests: <SNR> is represented as 'R' (ASCII)Jan Edmund Lazo2018-07-12
| |
* | terminal: handle &confirm and :confirm on unloading (#8726)Marco Hinz2018-07-12
| | | | | | | | | | | | Show a proper confirmation dialog when trying to unload a terminal buffer while the confirm option is set or when :confirm is used. Fixes https://github.com/neovim/neovim/issues/4651
* | Merge pull request #8721 from bfredl/quickresizeBjörn Linse2018-07-12
|\ \ | |/ |/| Fix redrawing issues with narrow screen and remove extra wait in resize tests
| * screen: truncate showmode messagesBjörn Linse2018-07-12
| | | | | | | | | | Before this, bottom of screen got messed up when modemsg (+ one extra space to not force terminal scroll) didn't fit on one line.
| * tests/screen.lua: treat "resize" like any other eventBjörn Linse2018-07-11
| | | | | | | | Saves ~10 seconds in UI tests
* | transstr_buf: fix length comparison #8681Michael Hoffmann2018-07-10
|/ | | | | | | | | | | | | | | closes #8466 closes #8664 Regression by 0d7daaad98d5. - Fix length comparison. - Fix loop(s) which iterated over all fields of array `pcc` even if it was not filled up (try unicode 0x9f as statusline character). Note about the tests: - To input unicode with more than two hex digits you can use <C-v>U...: a + U+fe20: a︠ a + U+fe20 + U+fe21: a︠︡
* tests: endfunc allows uncommented barJan Edmund Lazo2018-07-07
|
* test: nvim_buf_attach: reduce delayJustin M. Keyes2018-07-02
| | | | | | This test is mostly a demo/reference for: https://github.com/neovim/neovim/issues/8634#issuecomment-400940467 so let's not pay a 1s penalty.
* test: nvim_buf_attach response after initial delayJustin M. Keyes2018-07-01
| | | | ref #8634
* test: buffer_updates: 10s timeoutJustin M. Keyes2018-07-01
|
* coverity/108274: tty-test.c: Insecure data handling (#8666)Justin M. Keyes2018-07-01
|
* API: emit nvim_buf_lines_event from :terminal #8616KillTheMule2018-07-01
| | | | closes #8575
* highlight: high-priority CursorLine if fg is set. #8578Yichao Zhou2018-06-28
| | | | | | | | | | | | closes #7383 closes #7715 This implements the compromise described in #7383: * low-priority CursorLine if foreground is not set * high-priority ("same as Vim" priority) CursorLine if foreground is set ref d1874ab2821d076397290cc154d87ec2dc352c79 ref 56eda2aa17c80ba380b606f9466f288fb8162dd3
* API: nvim_win_set_cursor: set curswant #8613David Hotham2018-06-25
| | | Fixes #8591
* test: update writefile test for invalid list itemsJan Edmund Lazo2018-06-24
| | | | | | It validates list items with tv_check_str_on_nr() to catch invalid types (ex. E745, E805). If there is an invalid item, it does not write to the file.
* defaults: shortmess+=F (#8619)Justin M. Keyes2018-06-22
| | | | | | Because we default to laststatus=2 (statusline is always visible), the :edit message is not useful. ref #6289
* startup: delete empty stdin buffer if other files were openedJustin M. Keyes2018-06-18
| | | | | | | | | DWIM: avoid empty buffer 1 when stdin was empty. If other files were specified at startup, we assume that stdin is only accidentally not-a-TTY: user did not intend to send text from it. ref #8560 ref #8561
* startup: go to buffer 2 if stdin is emptyJustin M. Keyes2018-06-18
| | | | | | | | | | | | If stdin is not a TTY we read it into buffer 1, as text. But if the stdin pipe is empty, Nvim was most likely invoked for some other reason. DWIM: select buffer 2 (if it exists). Example: echo file1 | xargs nvim closes #8560 closes #8561 ref https://github.com/equalsraf/neovim-qt/issues/417
* startup: fix -E/-Es without `-u NONE`Justin M. Keyes2018-06-17
| | | | | | | | | | Before this change, -E/-Es without `-u NONE` reads stdin as Ex commands. It should always read stdin as text (into buffer 1), like this: echo foo | nvim -Es +'%p' foo echo foo | nvim -Es -u NORC +'%p' foo
* Ex mode: use getexline() instead of getexmodeline()Justin M. Keyes2018-06-17
| | | | | | | | | | | | | | | | | | | | | This changes Ex mode (Q, -e) to work like Vim's "improved Ex mode" (gQ, -E). That brings some small behavior differences, but should not impact most Ex scripts (unless, for example, they depend on mappings being disabled--but that can be solved for -e by skipping user config). Before this change: * the screen test hangs. After this change: * Q acts like gQ. * -e/-es differs from -E/-Es only in its treatment of stdin. This moves towards potentially removing getexmodeline(). (HINT: That does NOT mean "removing Ex mode", it means removing the Vi-compatible Ex mode, which differs from Vim's "improved Ex mode" only in some minor details (e.g. mappings are disabled).) ref #1089 :-)~
* vim-patch:8.0.0609: some people still don't know how to quit (#8571)Jan Edmund Lazo2018-06-17
| | | | | | | | Problem: For some people the hint about quitting is not sufficient. Solution: Put <Enter> separately. Also use ":qa!" to get out even when there are changes. https://github.com/vim/vim/commit/28a8193e3113f676f89fb6312b099d849df881d3
* Merge pull request #8546 from bfredl/eobBjörn Linse2018-06-14
|\ | | | | Add fillchar for EndOfBuffer and check for invalid UTF-8
| * fillchars: make checks more strict and improve testsBjörn Linse2018-06-14
| |
| * Add ‘eob’ option to fillcharsJack Bracewell2018-06-13
| | | | | | | | | | This option allows configuring what character is shown on the empty lines at the end of a buffer, previously hardcoded to ‘~’
* | functionaltest: Use octal escapes for printfJames McCoy2018-06-13
|/ | | | | | | | According to POSIX[0], only octal escapes are supported by the printf command. GNU coreutils' printf and some shells' builtin printf versions which support hex escapes, but dash and non-GNU printf do not. [0]: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/printf.html
* options: remove 'maxcombine` option (always use 6)Björn Linse2018-06-13
|
* test/ui: doublewidth rendering. multibyte and cmdwin chars in folded lines ↵Björn Linse2018-06-12
| | | | (#8534)
* NVIM v0.3.0v0.3.0Justin M. Keyes2018-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FEATURES: 3cc7ebf8107b #7234 built-in VimL expression parser 6a7c90464882 #4419 implement <Cmd> key to invoke command in any mode b8363283faac #7679 'startup: treat stdin as text instead of commands' 58b210e1146f :digraphs : highlight with hl-SpecialKey #2690 7a13611ba203 #8276 'startup: Let `-s -` read from stdin' 1e71978cf032 events: VimSuspend, VimResume #8280 1e7d5e8cdf98 #6272 'stdpath()' f96d99ad1118 #8247 server: introduce --listen e8c39f72fdf1 #8226 insert-mode: interpret unmapped META as ESC 98e71123900f msg: do not scroll entire screen (#8088) f72630b78429 #8055 let negative 'writedelay' show all redraws 5d2dd2ebe28c win: has("wsl") on Windows Subsystem for Linux #7330 a4f6cec7a31f cmdline: CmdlineEnter and CmdlineLeave autocommands (#7422) 207b7ca4bc16 #6844 channels: support buffered output and bytes sockets/stdio API: f85cbea725b4 #7917 API: buffer updates 418abfc9d069 #6743 API: list information about all channels/jobs. 36b2e3f743aa #8375 API: nvim_get_commands 273d2cd5d5cf #8329 API: Make nvim_set_option() update `:verbose set …` 8d40b3617c8b #8371 API: more reliable/descriptive VimL errors ebb1acb3c083 #8353 API: nvim_call_dict_function 9f994bb69925 #8004 API: nvim_list_uis 34057045beca #7520 API/UI: forward option updates to UIs 911b1e49abb8 #7821 API: improve nvim_command_output WINDOWS OS: 9cefd83cc7b9 #8084, #8516 build/win: support MSVC ee4e1fd8ecf1 win: Fix reading content from stdin (#8267) TUI: ffb89049131a #8309 TUI: add support for mouse release events in urxvt 8d5a46e77b1e #8081 TUI: implement "standout" attribute 60716371e97d TUI: support TERM=konsole-256color 67848c0b916c #7653 TUI: report TUI info with -V3 ('verbose' >= 3) 3d0ee17c916e TUI/rxvt: enable focus-reporting d109f5645bac #7640 TUI: 'term' option: reflect effective terminal behavior FIXES: ed6a113804a2 #8273 'job-control: avoid kill-timer race' 4e02f1ab871f #8107 'jobs: separate process-group' 451c48a09265 terminal: flush vterm output buffer on pty output #8486 5d6732ff094a :checkhealth fixes #8335 53f11dcfc713 #8218 'Fix errors reported by PVS' d05712fbe7b5 inccommand: pause :terminal redraws (#8307) 51af911a271e inccommand: do not execute trailing commands #8256 84359a467f21 terminal: resize to the max dimensions (#8249) d49c1dda8bf5 #8228 Make vim_fgets() return the same values as in Vim 60e96a45b4f4 screen: winhl=Normal:Background should not override syntax (#8093) 0c59ac1a2c7e #5908 'shada: Also save numbered marks' ba87a2cde779 cscope: ignore EINTR while reading the prompt (#8079) b1412dc412e1 #7971 ':terminal Enter/Leave should not increment jumplist' 3a5721e91ba8 TUI: libtermkey: force CSI driver for mouse input #7948 6ff13d78b7eb #7720 TUI: faster startup 1c6e95607958 #7862 TUI: fix resize-related segfaults a58c9094db0e #7676 TUI: always hide cursor when flushing, never flush buffers during unibilium output 303e1df13f4f #7624 TUI: disable BCE almost always 249bdb07dd3a #7761 mark: Make sure that jumplist item will not have zero lnum 6f41ce026005 #7704 macOS: Set $LANG based on the system locale a043899ba255 #7633 'Retry fgets on EINTR' CHANGES: ad60927d0925 #8304 default to 'nofsync' f3f197059721 #8035 defaults: 'fillchars' a6052c730741 #7984 defaults: sidescroll=1 b69fa866db5b #7888 defaults: enable cscopeverbose 7c4bb23ff38a defaults: do :filetype stuff unless explicitly "off" 2aa308c6852b #5658 'Apply :lmap in macros' 8ce63930484f terminal: Leave 'relativenumber' alone (#8360) e46534b42302 #4486 refactor: Remove maxmem, maxmemtot options 131aad953c00 win: defaults: 'shellcmdflag', 'shellxquote' #7343 c57d31596370 #8031 jobwait(): return -2 on interrupt also with timeout 6452831cf985 clipboard: macOS: fallback to tmux if pbcopy is broken #7940 300d3651e295 #7919 Make 'langnoremap' apply directly after a map ada1956206be #7880 'lua/executor: Remove lightuserdata' INTERNAL: de0a9548f7bf #7806 internal statistics for list impl dee78a4095a2 #7708 rewrite internal list impl
* test: fix startup_specJustin M. Keyes2018-06-10
| | | | | This behavior was changed (improved) by 5861dc596687 which actually makes -E more faithful to Vim's behavior.
* Merge #7679 'startup: treat stdin as text instead of commands'Justin M. Keyes2018-06-10
|\
| * cleanup, test interactive -EJustin M. Keyes2018-06-04
| |
| * win/startup: remove --literalJustin M. Keyes2018-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes 2 failing tests in startup_spec.lua. The Windows-only `--literal` option complicates support of "stdin-as-text + file-args" (#7679). Could work around it, but it's not worth the trouble: - users have a reasonable (and englightening) alternative: nvim +"n *" - "always literal" is more consistent/predictable - avoids platform-specific special-case Unrelated changes: - Replace fileno(stdxx) with STDXX_FILENO for consistency (not motivated by any observed technical reason).
| * startup: allow explicit "-" file arg with --headlessJustin M. Keyes2018-06-04
| |
| * startup: fix -es/-Es so they are actually silentJustin M. Keyes2018-06-04
| | | | | | | | | | | | silent-mode (-es/-Es) has been broken for years. The workaround up to now was to include --headless. But --headless is not equivalent because it prints all messages, not the limited subset defined by silent-mode.
| * startup: stdin as text instead of commandsJustin M. Keyes2018-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Treat stdin as text by default (so the "-" file is not needed): echo foo | nvim It works with file args (implemented in next commit), too: echo foo | nvim file1.txt file2.txt Why? Because: - Execution of input is (1) almost always unintentional/confusing, and (2) potentially destructive. - Avoids the need for time-delayed warning. #7659 - The _common_ case is to open text in a buffer, not send commands. Note: - Not for Ex-mode (-es) because it is used by scripts. But maybe `-Es`? - Not for --headless, because stdio may be a protocol stream and may be used for any purpose by stdioopen(). To treat stdin as Normal-mode commands, use `-s -` instead: echo ifoo | nvim -s - Other alternatives: - Replay a register. E.g. the following mostly works, except @q aborts on any "beep" (e.g. if the cursor can't move). nvim -c '%d q|norm @q' - - Future: Let `:%source` work with unsaved buffer contents? closes #2087 closes #7659