diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-03-31 15:47:53 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-04-29 15:51:03 +0800 |
commit | dde4f09f51ffaf8df5cc2a81eed935e31e1f94ba (patch) | |
tree | 392ec276e38a6a980d5610060795eea730b73311 /src/nvim/viml/parser/expressions.c | |
parent | 188537efb32d02081c1821cb5b48fbcf59230732 (diff) | |
download | rneovim-dde4f09f51ffaf8df5cc2a81eed935e31e1f94ba.tar.gz rneovim-dde4f09f51ffaf8df5cc2a81eed935e31e1f94ba.tar.bz2 rneovim-dde4f09f51ffaf8df5cc2a81eed935e31e1f94ba.zip |
vim-patch:8.1.2145: cannot map <C-H> when modifyOtherKeys is enabled
Problem: Cannot map <C-H> when modifyOtherKeys is enabled.
Solution: Add the <C-H> mapping twice, both with modifier and as 0x08. Use
only the first one when modifyOtherKeys has been detected.
https://github.com/vim/vim/commit/459fd785e4a8d044147a3f83a5fca8748528aa84
Add REPTERM_NO_SPECIAL instead of REPTERM_SPECIAL because the meaning of
"special" is different between Vim and Nvim.
Omit seenModifyOtherKeys as Nvim supports attaching multiple UIs.
Omit tests as they send terminal codes.
Keep the behavior of API functions.
Diffstat (limited to 'src/nvim/viml/parser/expressions.c')
-rw-r--r-- | src/nvim/viml/parser/expressions.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/nvim/viml/parser/expressions.c b/src/nvim/viml/parser/expressions.c index b8b0a38f44..ec747d56d4 100644 --- a/src/nvim/viml/parser/expressions.c +++ b/src/nvim/viml/parser/expressions.c @@ -1817,9 +1817,8 @@ static void parse_quoted_string(ParserState *const pstate, ExprASTNode *const no } // Special key, e.g.: "\<C-W>" case '<': { - const size_t special_len = ( - trans_special((const char_u **)&p, (size_t)(e - p), - (char_u *)v_p, true, true)); + const size_t special_len = trans_special((const char_u **)&p, (size_t)(e - p), + (char_u *)v_p, true, true, true, NULL); if (special_len != 0) { v_p += special_len; } else { |