diff options
-rw-r--r-- | src/nvim/ex_getln.c | 1 | ||||
-rw-r--r-- | test/functional/core/startup_spec.lua | 22 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index 61e11636ae..84e527b08c 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -2633,6 +2633,7 @@ static int command_line_changed(CommandLineState *s) if (s->firstc == ':' && current_sctx.sc_sid == 0 // only if interactive && *p_icm != NUL // 'inccommand' is set + && !exmode_active // not in ex mode && curbuf->b_p_ma // buffer is modifiable && cmdline_star == 0 // not typing a password && !vpeekc_any() diff --git a/test/functional/core/startup_spec.lua b/test/functional/core/startup_spec.lua index 44e71c4946..f6f7711c0a 100644 --- a/test/functional/core/startup_spec.lua +++ b/test/functional/core/startup_spec.lua @@ -1097,3 +1097,25 @@ describe('user session', function() eq(1, eval('g:lua_session')) end) end) + +describe('inccommand on ex mode', function() + it('should not preview', function() + clear() + local screen + screen = Screen.new(60, 10) + screen:attach() + local id = funcs.termopen({ nvim_prog, '-u', 'NONE', '-c', 'set termguicolors', '-E', 'test/README.md' }, { + env = { VIMRUNTIME = os.getenv('VIMRUNTIME') } + }) + funcs.chansend(id, '%s/N') + screen:expect{grid=[[ + {1:^ }| + {1: }|*6 + {1:Entering Ex mode. Type "visual" to go to Normal mode. }| + {1::%s/N }| + | + ]], attr_ids={ + [1] = {background = Screen.colors.NvimDarkGrey2, foreground = Screen.colors.NvimLightGrey2}; + }} + end) +end) |