diff options
-rw-r--r-- | cmake/RunTests.cmake | 6 | ||||
-rw-r--r-- | man/nvim.1 | 2 | ||||
-rw-r--r-- | runtime/autoload/health/provider.vim | 12 | ||||
-rw-r--r-- | runtime/autoload/provider/node.vim | 32 | ||||
-rw-r--r-- | runtime/doc/intro.txt | 21 | ||||
-rw-r--r-- | runtime/doc/starting.txt | 14 | ||||
-rw-r--r-- | runtime/doc/vim_diff.txt | 7 | ||||
-rw-r--r-- | src/nvim/edit.c | 31 | ||||
-rw-r--r-- | src/nvim/eval.c | 5 | ||||
-rw-r--r-- | src/nvim/ex_docmd.c | 18 | ||||
-rw-r--r-- | src/nvim/generators/gen_events.lua | 15 | ||||
-rw-r--r-- | src/nvim/main.c | 10 | ||||
-rw-r--r-- | src/nvim/normal.c | 14 | ||||
-rw-r--r-- | src/nvim/testdir/test_edit.vim | 40 | ||||
-rw-r--r-- | src/nvim/testdir/test_functions.vim | 25 | ||||
-rw-r--r-- | src/nvim/testdir/test_gf.vim | 27 | ||||
-rw-r--r-- | test/functional/core/startup_spec.lua | 28 | ||||
-rw-r--r-- | test/functional/eval/system_spec.lua | 4 | ||||
-rw-r--r-- | test/functional/ui/cmdline_highlight_spec.lua | 2 |
19 files changed, 222 insertions, 91 deletions
diff --git a/cmake/RunTests.cmake b/cmake/RunTests.cmake index 5b62fd72c9..a51990e925 100644 --- a/cmake/RunTests.cmake +++ b/cmake/RunTests.cmake @@ -24,12 +24,12 @@ if(BUSTED_OUTPUT_TYPE STREQUAL junit) set(EXTRA_ARGS OUTPUT_FILE ${BUILD_DIR}/${TEST_TYPE}test-junit.xml) endif() -if(DEFINED ENV{TEST_TAG}) +if(DEFINED ENV{TEST_TAG} AND NOT "$ENV{TEST_TAG}" STREQUAL "") set(TEST_TAG "--tags=$ENV{TEST_TAG}") endif() -if(DEFINED ENV{TEST_FILTER}) - set(TEST_TAG "--filter=$ENV{TEST_FILTER}") +if(DEFINED ENV{TEST_FILTER} AND NOT "$ENV{TEST_FILTER}" STREQUAL "") + set(TEST_FILTER "--filter=$ENV{TEST_FILTER}") endif() execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${WORKING_DIR}/Xtest-tmpdir) diff --git a/man/nvim.1 b/man/nvim.1 index 28b699a07b..0040af2865 100644 --- a/man/nvim.1 +++ b/man/nvim.1 @@ -78,7 +78,7 @@ Ex mode. Reads stdin as Ex commands. See .Ic ":help Ex-mode" . .It Fl E -Ex mode, improved. Reads stdin as text. +Ex mode. Reads stdin as text. See .Ic :help gQ . .It Fl es diff --git a/runtime/autoload/health/provider.vim b/runtime/autoload/health/provider.vim index 69f0b711fc..55fa1ff65e 100644 --- a/runtime/autoload/health/provider.vim +++ b/runtime/autoload/health/provider.vim @@ -502,10 +502,10 @@ function! s:check_node() abort return endif - if !executable('node') || !executable('npm') + if !executable('node') || (!executable('npm') && !executable('yarn')) call health#report_warn( - \ '`node` and `npm` must be in $PATH.', - \ ['Install Node.js and verify that `node` and `npm` commands work.']) + \ '`node` and `npm` (or `yarn`) must be in $PATH.', + \ ['Install Node.js and verify that `node` and `npm` (or `yarn`) commands work.']) return endif let node_v = get(split(s:system('node -v'), "\n"), 0, '') @@ -521,9 +521,9 @@ function! s:check_node() abort let host = provider#node#Detect() if empty(host) - call health#report_warn('Missing "neovim" npm package.', + call health#report_warn('Missing "neovim" npm (or yarn) package.', \ ['Run in shell: npm install -g neovim', - \ 'Is the npm bin directory in $PATH?']) + \ 'Run in shell (if you use yarn): yarn global add neovim']) return endif call health#report_info('Neovim node.js host: '. host) @@ -559,7 +559,7 @@ function! s:check_node() abort \ current_npm, latest_npm), \ ['Run in shell: npm install -g neovim']) else - call health#report_ok('Latest "neovim" npm package is installed: '. current_npm) + call health#report_ok('Latest "neovim" npm/yarn package is installed: '. current_npm) endif endfunction diff --git a/runtime/autoload/provider/node.vim b/runtime/autoload/provider/node.vim index 39b5dc63b8..bdc21514da 100644 --- a/runtime/autoload/provider/node.vim +++ b/runtime/autoload/provider/node.vim @@ -22,6 +22,28 @@ function! s:is_minimum_version(version, min_major, min_minor) abort \ && str2nr(v_list[1]) >= str2nr(a:min_minor))) endfunction +function! s:find_node_client(package_manager) abort + if !executable(a:package_manager) + return '' + endif + let is_yarn = a:package_manager ==# 'yarn' + let cmd = is_yarn ? 'yarn global dir' : 'npm root -g' + let global_modules_dir = get(split(system(cmd), "\n"), 0, '') + if v:shell_error || !isdirectory(global_modules_dir) + return '' + endif + " `yarn global dir` returns the parent of '/node_modules'. + let global_modules_dir = is_yarn ? global_modules_dir . '/node_modules' : global_modules_dir + if !isdirectory(global_modules_dir) + return '' + endif + let entry_point = global_modules_dir . '/neovim/bin/cli.js' + if !filereadable(entry_point) + return '' + endif + return entry_point +endfunction + " Support for --inspect-brk requires node 6.12+ or 7.6+ or 8+ " Return 1 if it is supported " Return 0 otherwise @@ -41,17 +63,11 @@ function! provider#node#Detect() abort if exists('g:node_host_prog') return g:node_host_prog endif - let global_modules = get(split(system('npm root -g'), "\n"), 0, '') - if v:shell_error || !isdirectory(global_modules) - return '' - endif if !s:is_minimum_version(v:null, 6, 0) return '' endif - let entry_point = glob(global_modules . '/neovim/bin/cli.js') - if !filereadable(entry_point) - return '' - endif + let entry_point = s:find_node_client('npm') + let entry_point = !empty(entry_point) ? entry_point : s:find_node_client('yarn') return entry_point endfunction diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt index e7fb632de8..5c63d9e5e2 100644 --- a/runtime/doc/intro.txt +++ b/runtime/doc/intro.txt @@ -642,25 +642,12 @@ The command CTRL-\ CTRL-G or <C-\><C-G> can be used to go to Insert mode when make sure Vim is in the mode indicated by 'insertmode', without knowing in what mode Vim currently is. - *Q* *mode-Ex* *Ex-mode* *Ex* *EX* *E501* -Q Switch to "Ex" mode. This is a bit like typing ":" - commands one after another, except: + *gQ* *Q* *mode-Ex* *Ex-mode* *Ex* *EX* *E501* +Q or gQ Switch to Ex mode. This is like typing ":" commands + one after another, except: - You don't have to keep pressing ":". - The screen doesn't get updated after each command. - - There is no normal command-line editing. - - Mappings and abbreviations are not used. - In fact, you are editing the lines with the "standard" - line-input editing commands (<Del> or <BS> to erase, - CTRL-U to kill the whole line). - Vim will enter this mode by default if it's invoked as - "ex" on the command-line. - Use the ":vi" command |:visual| to exit "Ex" mode. - - *gQ* -gQ Switch to "Ex" mode like with "Q", but really behave - like typing ":" commands after another. All command - line editing, completion etc. is available. - Use the ":vi" command |:visual| to exit "Ex" mode. + Use the ":vi" command |:visual| to exit this mode. ============================================================================== 7. The window contents *window-contents* diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index e89d72bce3..ad1077bcab 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -185,11 +185,12 @@ argument. delete(), rename(), mkdir(), writefile(), libcall(), jobstart(), etc. - *-e* --e Start Vim in Ex mode |Q|. +-e *-e* *-E* +-E Start Nvim in Ex mode |gQ|. - *-E* --E Start Vim in improved Ex mode |gQ|. + If stdin is not a TTY: + -e reads stdin as Ex commands. + -E reads stdin as text (into buffer 1). *-es* *-Es* -es *-s-ex* *silent-mode* @@ -207,6 +208,11 @@ argument. < User |init.vim| is skipped (unless given with |-u|). |$TERM| is not used. + + If stdin is not a TTY: + -es reads stdin as Ex commands. + -Es reads stdin as text (into buffer 1). + Example: > printf "put ='foo'\n%%print\n" | nvim -es < diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt index 5394414947..0035e15be1 100644 --- a/runtime/doc/vim_diff.txt +++ b/runtime/doc/vim_diff.txt @@ -315,10 +315,15 @@ Macro/|recording| behavior macros and 'keymap' at the same time. This also means you can use |:imap| on the results of keys from 'keymap'. +Normal commands: + |Q| is the same as |gQ| + Options: 'ttimeout', 'ttimeoutlen' behavior was simplified Startup: + |-e| and |-es| invoke the same "improved Ex mode" as -E and -Es. + |-E| and |-Es| reads stdin as text (into buffer 1). |-s| reads Normal commands from stdin if the script name is "-". Reading text (instead of commands) from stdin |--|: - works by default: "-" file is optional @@ -465,4 +470,4 @@ TUI: always uses 7-bit control sequences. ============================================================================== - vim:tw=78:ts=8:noet:ft=help:norl: + vim:tw=78:ts=8:sw=2:noet:ft=help:norl: diff --git a/src/nvim/edit.c b/src/nvim/edit.c index c20758cb0b..1f18fc36fd 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -4132,7 +4132,6 @@ ins_compl_next ( ) { int num_matches = -1; - int i; int todo = count; compl_T *found_compl = NULL; int found_end = FALSE; @@ -4294,15 +4293,27 @@ ins_compl_next ( * Truncate the file name to avoid a wait for return. */ if (compl_shown_match->cp_fname != NULL) { - STRCPY(IObuff, "match in file "); - i = (vim_strsize(compl_shown_match->cp_fname) + 16) - sc_col; - if (i <= 0) - i = 0; - else - STRCAT(IObuff, "<"); - STRCAT(IObuff, compl_shown_match->cp_fname + i); - msg(IObuff); - redraw_cmdline = FALSE; /* don't overwrite! */ + char *lead = _("match in file"); + int space = sc_col - vim_strsize((char_u *)lead) - 2; + char_u *s; + char_u *e; + + if (space > 0) { + // We need the tail that fits. With double-byte encoding going + // back from the end is very slow, thus go from the start and keep + // the text that fits in "space" between "s" and "e". + for (s = e = compl_shown_match->cp_fname; *e != NUL; MB_PTR_ADV(e)) { + space -= ptr2cells(e); + while (space < 0) { + space += ptr2cells(s); + MB_PTR_ADV(s); + } + } + vim_snprintf((char *)IObuff, IOSIZE, "%s %s%s", lead, + s > compl_shown_match->cp_fname ? "<" : "", s); + msg(IObuff); + redraw_cmdline = false; // don't overwrite! + } } return num_matches; diff --git a/src/nvim/eval.c b/src/nvim/eval.c index eb437931d4..d8d785395c 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -15066,9 +15066,10 @@ static void f_sha256(typval_T *argvars, typval_T *rettv, FunPtr fptr) */ static void f_shellescape(typval_T *argvars, typval_T *rettv, FunPtr fptr) { + const bool do_special = non_zero_arg(&argvars[1]); + rettv->vval.v_string = vim_strsave_shellescape( - (const char_u *)tv_get_string(&argvars[0]), non_zero_arg(&argvars[1]), - true); + (const char_u *)tv_get_string(&argvars[0]), do_special, do_special); rettv->v_type = VAR_STRING; } diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 9590a3715e..2f41080a41 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -188,15 +188,8 @@ static void restore_dbg_stuff(struct dbg_stuff *dsp) current_exception = dsp->current_exception; } - -/* - * do_exmode(): Repeatedly get commands for the "Ex" mode, until the ":vi" - * command is given. - */ -void -do_exmode ( - int improved /* TRUE for "improved Ex" mode */ -) +/// Repeatedly get commands for Ex mode, until the ":vi" command is given. +void do_exmode(int improved) { int save_msg_scroll; int prev_msg_row; @@ -232,11 +225,8 @@ do_exmode ( changedtick = curbuf->b_changedtick; prev_msg_row = msg_row; prev_line = curwin->w_cursor.lnum; - if (improved) { - cmdline_row = msg_row; - do_cmdline(NULL, getexline, NULL, 0); - } else - do_cmdline(NULL, getexmodeline, NULL, DOCMD_NOWAIT); + cmdline_row = msg_row; + do_cmdline(NULL, getexline, NULL, 0); lines_left = Rows - 1; if ((prev_line != curwin->w_cursor.lnum diff --git a/src/nvim/generators/gen_events.lua b/src/nvim/generators/gen_events.lua index 75e0b3da3a..d03c787b2b 100644 --- a/src/nvim/generators/gen_events.lua +++ b/src/nvim/generators/gen_events.lua @@ -25,25 +25,22 @@ static const struct event_name { } event_names[] = {]]) for i, event in ipairs(events) do - if i > 1 then - comma = ',\n' - else - comma = '\n' + enum_tgt:write(('\n EVENT_%s = %u,'):format(event:upper(), i - 1)) + names_tgt:write(('\n {%u, "%s", EVENT_%s},'):format(#event, event, event:upper())) + if i == #events then -- Last item. + enum_tgt:write(('\n NUM_EVENTS = %u,'):format(i)) end - enum_tgt:write(('%s EVENT_%s = %u'):format(comma, event:upper(), i - 1)) - names_tgt:write(('%s {%u, "%s", EVENT_%s}'):format(comma, #event, event, event:upper())) end for alias, event in pairs(aliases) do - names_tgt:write((',\n {%u, "%s", EVENT_%s}'):format(#alias, alias, event:upper())) + names_tgt:write(('\n {%u, "%s", EVENT_%s},'):format(#alias, alias, event:upper())) end -names_tgt:write(',\n {0, NULL, (event_T)0}') +names_tgt:write('\n {0, NULL, (event_T)0},') enum_tgt:write('\n} event_T;\n') names_tgt:write('\n};\n') -enum_tgt:write(('\n#define NUM_EVENTS %u\n'):format(#events)) names_tgt:write('\nstatic AutoPat *first_autopat[NUM_EVENTS] = {\n ') line_len = 1 for i = 1,((#events) - 1) do diff --git a/src/nvim/main.c b/src/nvim/main.c index 8d98f9e915..ea43b93b30 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -301,9 +301,11 @@ int main(int argc, char **argv) // Read ex-commands if invoked with "-es". // bool reading_tty = !headless_mode + && !silent_mode && (params.input_isatty || params.output_isatty || params.err_isatty); - bool reading_excmds = !params.input_isatty && silent_mode + bool reading_excmds = !params.input_isatty + && silent_mode && exmode_active == EXMODE_NORMAL; if (reading_tty || reading_excmds) { // One of the startup commands (arguments, sourced scripts or plugins) may @@ -872,7 +874,7 @@ static void command_line_scan(mparm_T *parmp) exmode_active = EXMODE_NORMAL; break; } - case 'E': { // "-E" Improved Ex mode + case 'E': { // "-E" Ex mode exmode_active = EXMODE_VIM; break; } @@ -1896,8 +1898,8 @@ static void usage(void) mch_msg("\n"); mch_msg(_(" -b Binary mode\n")); mch_msg(_(" -d Diff mode\n")); - mch_msg(_(" -e, -E Ex mode, Improved Ex mode\n")); - mch_msg(_(" -es Silent (batch) mode\n")); + mch_msg(_(" -e, -E Ex mode\n")); + mch_msg(_(" -es, -Es Silent (batch) mode\n")); mch_msg(_(" -h, --help Print this help message\n")); mch_msg(_(" -i <shada> Use this shada file\n")); mch_msg(_(" -m Modifications (writing files) not allowed\n")); diff --git a/src/nvim/normal.c b/src/nvim/normal.c index a7c4c255b7..b959ea08f3 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -5234,9 +5234,9 @@ static void nv_gotofile(cmdarg_T *cap) (void)autowrite(curbuf, false); } setpcmark(); - (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LAST, - buf_hide(curbuf) ? ECMD_HIDE : 0, curwin); - if (cap->nchar == 'F' && lnum >= 0) { + if (do_ecmd(0, ptr, NULL, NULL, ECMD_LAST, + buf_hide(curbuf) ? ECMD_HIDE : 0, curwin) == OK + && cap->nchar == 'F' && lnum >= 0) { curwin->w_cursor.lnum = lnum; check_cursor_lnum(); beginline(BL_SOL | BL_FIX); @@ -7151,7 +7151,7 @@ static void set_op_var(int optype) assert(opchar0 >= 0 && opchar0 <= UCHAR_MAX); opchars[0] = (char) opchar0; - int opchar1 = get_extra_op_char(optype); + int opchar1 = get_extra_op_char(optype); assert(opchar1 >= 0 && opchar1 <= UCHAR_MAX); opchars[1] = (char) opchar1; @@ -7464,8 +7464,10 @@ static void nv_esc(cmdarg_T *cap) if (restart_edit == 0 && cmdwin_type == 0 && !VIsual_active - && no_reason) - MSG(_("Type :quit<Enter> to exit Nvim")); + && no_reason) { + MSG(_("Type :qa! and press <Enter> to abandon all changes" + " and exit Nvim")); + } /* Don't reset "restart_edit" when 'insertmode' is set, it won't be * set again below when halfway through a mapping. */ diff --git a/src/nvim/testdir/test_edit.vim b/src/nvim/testdir/test_edit.vim index 8f815478c2..d2474c06fe 100644 --- a/src/nvim/testdir/test_edit.vim +++ b/src/nvim/testdir/test_edit.vim @@ -1323,3 +1323,43 @@ func Test_edit_quit() only endfunc +func Test_edit_complete_very_long_name() + if !has('unix') + " Long directory names only work on Unix. + return + endif + + let dirname = getcwd() . "/Xdir" + let longdirname = dirname . repeat('/' . repeat('d', 255), 4) + try + call mkdir(longdirname, 'p') + catch /E739:/ + " Long directory name probably not supported. + call delete(dirname, 'rf') + return + endtry + + " Try to get the Vim window position before setting 'columns'. + let winposx = getwinposx() + let winposy = getwinposy() + let save_columns = &columns + " Need at least about 1100 columns to reproduce the problem. + set columns=2000 + call assert_equal(2000, &columns) + set noswapfile + + let longfilename = longdirname . '/' . repeat('a', 255) + call writefile(['Totum', 'Table'], longfilename) + new + exe "next Xfile " . longfilename + exe "normal iT\<C-N>" + + bwipe! + exe 'bwipe! ' . longfilename + call delete(dirname, 'rf') + let &columns = save_columns + if winposx >= 0 && winposy >= 0 + exe 'winpos ' . winposx . ' ' . winposy + endif + set swapfile& +endfunc diff --git a/src/nvim/testdir/test_functions.vim b/src/nvim/testdir/test_functions.vim index 8a82493ab6..8847653498 100644 --- a/src/nvim/testdir/test_functions.vim +++ b/src/nvim/testdir/test_functions.vim @@ -766,3 +766,28 @@ func Test_balloon_show() call balloon_show('hi!') endif endfunc + +func Test_shellescape() + let save_shell = &shell + set shell=bash + call assert_equal("'text'", shellescape('text')) + call assert_equal("'te\"xt'", shellescape('te"xt')) + call assert_equal("'te'\\''xt'", shellescape("te'xt")) + + call assert_equal("'te%xt'", shellescape("te%xt")) + call assert_equal("'te\\%xt'", shellescape("te%xt", 1)) + call assert_equal("'te#xt'", shellescape("te#xt")) + call assert_equal("'te\\#xt'", shellescape("te#xt", 1)) + call assert_equal("'te!xt'", shellescape("te!xt")) + call assert_equal("'te\\!xt'", shellescape("te!xt", 1)) + + call assert_equal("'te\nxt'", shellescape("te\nxt")) + call assert_equal("'te\\\nxt'", shellescape("te\nxt", 1)) + set shell=tcsh + call assert_equal("'te\\!xt'", shellescape("te!xt")) + call assert_equal("'te\\\\!xt'", shellescape("te!xt", 1)) + call assert_equal("'te\\\nxt'", shellescape("te\nxt")) + call assert_equal("'te\\\\\nxt'", shellescape("te\nxt", 1)) + + let &shell = save_shell +endfunc diff --git a/src/nvim/testdir/test_gf.vim b/src/nvim/testdir/test_gf.vim index c4aa6f9218..ef1bf1075b 100644 --- a/src/nvim/testdir/test_gf.vim +++ b/src/nvim/testdir/test_gf.vim @@ -1,7 +1,7 @@ " This is a test if a URL is recognized by "gf", with the cursor before and " after the "://". Also test ":\\". -function! Test_gf_url() +func Test_gf_url() enew! call append(0, [ \ "first test for URL://machine.name/tmp/vimtest2a and other text", @@ -30,4 +30,27 @@ function! Test_gf_url() set isf&vim enew! -endfunction +endfunc + +func Test_gF() + new + call setline(1, ['111', '222', '333', '444']) + w! Xfile + close + new + set isfname-=: + call setline(1, ['one', 'Xfile:3', 'three']) + 2 + call assert_fails('normal gF', 'E37:') + call assert_equal(2, getcurpos()[1]) + w! Xfile2 + normal gF + call assert_equal('Xfile', bufname('%')) + call assert_equal(3, getcurpos()[1]) + + set isfname& + call delete('Xfile') + call delete('Xfile2') + bwipe Xfile + bwipe Xfile2 +endfunc diff --git a/test/functional/core/startup_spec.lua b/test/functional/core/startup_spec.lua index f323056179..ae5e2b4115 100644 --- a/test/functional/core/startup_spec.lua +++ b/test/functional/core/startup_spec.lua @@ -123,9 +123,19 @@ describe('startup', function() end) it('-e/-E interactive #7679', function() - clear('-E') + clear('-e') local screen = Screen.new(25, 3) screen:attach() + feed("put ='from -e'<CR>") + screen:expect([[ + :put ='from -e' | + from -e | + :^ | + ]]) + + clear('-E') + screen = Screen.new(25, 3) + screen:attach() feed("put ='from -E'<CR>") screen:expect([[ :put ='from -E' | @@ -147,6 +157,14 @@ describe('startup', function() eq(inputstr, funcs.system({nvim_prog, '-i', 'NONE', '-Es', '+%print', '-' }, input)) + -- with `-u NORC` + eq('thepartycontinues\n', + funcs.system({nvim_prog, '-n', '-u', 'NORC', '-Es', '+.print' }, + { 'thepartycontinues', '' })) + -- without `-u` + eq('thepartycontinues\n', + funcs.system({nvim_prog, '-n', '-Es', '+.print' }, + { 'thepartycontinues', '' })) -- -- -es: read stdin as ex-commands @@ -157,6 +175,14 @@ describe('startup', function() eq('line1\nline2\n', funcs.system({nvim_prog, '-i', 'NONE', '-es', '-' }, input)) + -- with `-u NORC` + eq(' encoding=utf-8\n', + funcs.system({nvim_prog, '-n', '-u', 'NORC', '-es' }, + { 'set encoding', '' })) + -- without `-u` + eq(' encoding=utf-8\n', + funcs.system({nvim_prog, '-n', '-es' }, + { 'set encoding', '' })) end) end) diff --git a/test/functional/eval/system_spec.lua b/test/functional/eval/system_spec.lua index 23cea4c038..5e12b6a6a4 100644 --- a/test/functional/eval/system_spec.lua +++ b/test/functional/eval/system_spec.lua @@ -241,7 +241,7 @@ describe('system()', function() ~ | ~ | ~ | - Type :quit<Enter> to exit Nvim | + Type :qa! and press <E...all changes and exit Nvim | ]]) end) end) @@ -448,7 +448,7 @@ describe('systemlist()', function() ~ | ~ | ~ | - Type :quit<Enter> to exit Nvim | + Type :qa! and press <E...all changes and exit Nvim | ]]) end) end) diff --git a/test/functional/ui/cmdline_highlight_spec.lua b/test/functional/ui/cmdline_highlight_spec.lua index 3c316d1cfa..5d9fffdf23 100644 --- a/test/functional/ui/cmdline_highlight_spec.lua +++ b/test/functional/ui/cmdline_highlight_spec.lua @@ -494,7 +494,7 @@ describe('Command-line coloring', function() {EOB:~ }| {EOB:~ }| {EOB:~ }| - Type :quit<Enter> to exit Nvim | + Type :qa! and pr...nges and exit Nvim | ]]) end) it('works fine with NUL, NL, CR', function() |