diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2017-11-19 13:47:37 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2017-11-19 13:47:37 +0100 |
commit | de8b1fd1dee5a91b2893fccc53cfd11631ccba38 (patch) | |
tree | b45fb8696b9372f34507a34847cbdccbea37dac0 /src/nvim/state.c | |
parent | d6f9d1df04cfae3d73496b2cd99408d5344d0ad4 (diff) | |
parent | 540ed646358f9e3910681add39aa96a937074668 (diff) | |
download | rneovim-de8b1fd1dee5a91b2893fccc53cfd11631ccba38.tar.gz rneovim-de8b1fd1dee5a91b2893fccc53cfd11631ccba38.tar.bz2 rneovim-de8b1fd1dee5a91b2893fccc53cfd11631ccba38.zip |
Merge #7587 'vim-patch:8.0.0283'
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 { |