aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbrian m. carlson <sandals@crustytoothpaste.net>2022-01-08 02:13:11 +0000
committerbrian m. carlson <sandals@crustytoothpaste.net>2022-01-08 03:11:50 +0000
commit600e7e3b32345d71842b6b167359f4f72093e9b0 (patch)
tree3e7e1d855c6f1fa85c304b8593a5cf8ae9f43776 /src
parentb4fbb9dcf2752d95b9be335d99b0c55efb5f17de (diff)
downloadrneovim-600e7e3b32345d71842b6b167359f4f72093e9b0.tar.gz
rneovim-600e7e3b32345d71842b6b167359f4f72093e9b0.tar.bz2
rneovim-600e7e3b32345d71842b6b167359f4f72093e9b0.zip
fix: make mode() return correct value in ex mode
When the user is in ex mode, a call to mode(1) is documented to return "cv". However, it does not currently do so, because the check which checks for ex mode is nested inside a conditional which is never reached in ex mode. Vim uses an explicit check for exmode_active, so let's do the same thing here. Add some tests for this case both with a TTY and in silent mode.
Diffstat (limited to 'src')
-rw-r--r--src/nvim/state.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nvim/state.c b/src/nvim/state.c
index 68bc76660d..1fe8bb671d 100644
--- a/src/nvim/state.c
+++ b/src/nvim/state.c
@@ -180,7 +180,7 @@ char *get_mode(void)
buf[1] = 'x';
}
}
- } else if (State & CMDLINE) {
+ } else if ((State & CMDLINE) || exmode_active) {
buf[0] = 'c';
if (exmode_active) {
buf[1] = 'v';