diff options
author | h-east <h.east.727@gmail.com> | 2023-09-03 17:12:55 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2023-09-03 17:12:55 +0200 |
commit | 71ebf3bacaa22c841d9a8cb050c52fb21ac0970a (patch) | |
tree | 513a98d2fc72bdeb637cec71343c752cfe1ac6be /src | |
parent | db510ca8052884fd260f425025bacf44f6c92fa9 (diff) |
patch 9.0.1855: mode() doesn't indicate command line for terminalv9.0.1855
Problem: mode() doesn't indicate command line for terminal
Solution: make it return 'ct' for command-line from Terminal mode
closes: #6265
closes: #13017
closes: #13018
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: h-east <h.east.727@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/misc1.c | 4 | ||||
-rw-r--r-- | src/testdir/test_functions.vim | 10 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/misc1.c b/src/misc1.c index 72083504a3..5b008c614a 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -664,7 +664,11 @@ get_mode(char_u *buf) } #ifdef FEAT_TERMINAL else if (term_use_loop()) + { + if (State & MODE_CMDLINE) + buf[i++] = 'c'; buf[i++] = 't'; + } #endif else if (VIsual_active) { diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim index ab1dbf3b59..654d9125bf 100644 --- a/src/testdir/test_functions.vim +++ b/src/testdir/test_functions.vim @@ -935,9 +935,19 @@ func Test_mode() if has('terminal') term + " Terminal-Job mode + call assert_equal('t', mode()) + call assert_equal('t', mode(1)) + call feedkeys("\<C-W>:echo \<C-R>=Save_mode()\<C-U>\<CR>", 'xt') + call assert_equal("c-ct", g:current_modes) + call feedkeys("\<Esc>", 'xt') + + " Terminal-Normal mode call feedkeys("\<C-W>N", 'xt') call assert_equal('n', mode()) call assert_equal('nt', mode(1)) + call feedkeys(":echo \<C-R>=Save_mode()\<C-U>\<CR>", 'xt') + call assert_equal("c-c", g:current_modes) call feedkeys("aexit\<CR>", 'xt') endif diff --git a/src/version.c b/src/version.c index c1f72ff9d2..a07a2bf153 100644 --- a/src/version.c +++ b/src/version.c @@ -700,6 +700,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1855, +/**/ 1854, /**/ 1853, |