mirror of
https://github.com/neovim/neovim.git
synced 2025-10-09 11:26:37 +00:00
vim-patch:8.1.0225: mode() does not indicate using CTRL-O from Insert mode (#9644)
Problem: Mode() does not indicate using CTRL-O from Insert mode.
Solution: Add "niI", "niR" and "niV" to mode() result. (closes vim/vim#3000)
612cc3888b
This commit is contained in:
@@ -162,6 +162,10 @@ char *get_mode(void)
|
||||
buf[1] = 'o';
|
||||
// to be able to detect force-linewise/blockwise/characterwise operations
|
||||
buf[2] = (char)motion_force;
|
||||
} else if (restart_edit == 'I' || restart_edit == 'R'
|
||||
|| restart_edit == 'V') {
|
||||
buf[1] = 'i';
|
||||
buf[2] = (char)restart_edit;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -556,6 +556,18 @@ func Test_mode()
|
||||
call assert_equal('n', mode(0))
|
||||
call assert_equal('n', mode(1))
|
||||
|
||||
" i_CTRL-O
|
||||
exe "normal i\<C-O>:call Save_mode()\<Cr>\<Esc>"
|
||||
call assert_equal("n-niI", g:current_modes)
|
||||
|
||||
" R_CTRL-O
|
||||
exe "normal R\<C-O>:call Save_mode()\<Cr>\<Esc>"
|
||||
call assert_equal("n-niR", g:current_modes)
|
||||
|
||||
" gR_CTRL-O
|
||||
exe "normal gR\<C-O>:call Save_mode()\<Cr>\<Esc>"
|
||||
call assert_equal("n-niV", g:current_modes)
|
||||
|
||||
" How to test operator-pending mode?
|
||||
|
||||
call feedkeys("v", 'xt')
|
||||
|
Reference in New Issue
Block a user