diff options
author | ZyX <kp-pav@yandex.ru> | 2017-11-19 22:05:22 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2017-11-19 22:05:22 +0300 |
commit | 03a129aacf7e4b77ceaccc71251ecb5bf41d2a8f (patch) | |
tree | a3a05c99fe20de98aafbdea9314aa0d76f71aee9 /src/nvim/state.c | |
parent | 6ea3a08fdbb276fe64dda60c5fb934360327ed39 (diff) | |
parent | de8b1fd1dee5a91b2893fccc53cfd11631ccba38 (diff) | |
download | rneovim-03a129aacf7e4b77ceaccc71251ecb5bf41d2a8f.tar.gz rneovim-03a129aacf7e4b77ceaccc71251ecb5bf41d2a8f.tar.bz2 rneovim-03a129aacf7e4b77ceaccc71251ecb5bf41d2a8f.zip |
Merge branch 'master' into expression-parser
Diffstat (limited to 'src/nvim/state.c')
-rw-r--r-- | src/nvim/state.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/nvim/state.c b/src/nvim/state.c index 4d9032b7a5..a4b394c9e4 100644 --- a/src/nvim/state.c +++ b/src/nvim/state.c @@ -14,6 +14,8 @@ #include "nvim/option_defs.h" #include "nvim/ui.h" #include "nvim/os/input.h" +#include "nvim/ex_docmd.h" +#include "nvim/edit.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "state.c.generated.h" @@ -127,19 +129,25 @@ char *get_mode(void) if (State & VREPLACE_FLAG) { buf[0] = 'R'; buf[1] = 'v'; - } else if (State & REPLACE_FLAG) { - buf[0] = 'R'; } else { - buf[0] = 'i'; + if (State & REPLACE_FLAG) { + buf[0] = 'R'; + } else { + buf[0] = 'i'; + } + if (ins_compl_active()) { + buf[1] = 'c'; + } else if (ctrl_x_mode == 1) { + buf[1] = 'x'; + } } - } else if (State & CMDLINE) { + } else if ((State & CMDLINE) || exmode_active) { buf[0] = 'c'; - if (exmode_active) { + if (exmode_active == EXMODE_VIM) { buf[1] = 'v'; + } else if (exmode_active == EXMODE_NORMAL) { + buf[1] = 'e'; } - } else if (exmode_active) { - buf[0] = 'c'; - buf[1] = 'e'; } else if (State & TERM_FOCUS) { buf[0] = 't'; } else { |