aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/state.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-07-30 22:07:58 +0200
committerbfredl <bjorn.linse@gmail.com>2022-08-02 13:54:41 +0200
commit9092540315bef8a685a06825073d05c394bf6575 (patch)
treef3c6ad62ae0ad2133818949a06cbd39269129190 /src/nvim/state.c
parent0a049c322fda5f2bb124429086c2713ff99c7142 (diff)
downloadrneovim-9092540315bef8a685a06825073d05c394bf6575.tar.gz
rneovim-9092540315bef8a685a06825073d05c394bf6575.tar.bz2
rneovim-9092540315bef8a685a06825073d05c394bf6575.zip
feat(terminal): implement <c-\><c-o> for terminal mode
this works similar to <c-o> or <c-\><c-o> in insert mode
Diffstat (limited to 'src/nvim/state.c')
-rw-r--r--src/nvim/state.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/nvim/state.c b/src/nvim/state.c
index be8017ea83..d6cca71ad8 100644
--- a/src/nvim/state.c
+++ b/src/nvim/state.c
@@ -211,12 +211,15 @@ void get_mode(char *buf)
buf[i++] = 'o';
// to be able to detect force-linewise/blockwise/charwise operations
buf[i++] = (char)motion_force;
+ } else if (curbuf->terminal) {
+ buf[i++] = 't';
+ if (restart_edit == 'I') {
+ buf[i++] = 'T';
+ }
} else if (restart_edit == 'I' || restart_edit == 'R'
|| restart_edit == 'V') {
buf[i++] = 'i';
buf[i++] = (char)restart_edit;
- } else if (curbuf->terminal) {
- buf[i++] = 't';
}
}