mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge #10628 from notomo/vim-8.1.1759
This commit is contained in:
commit
b5c44b66eb
@ -3288,29 +3288,36 @@ char *map_mode_to_chars(int mode)
|
||||
|
||||
ga_init(&mapmode, 1, 7);
|
||||
|
||||
if ((mode & (INSERT + CMDLINE)) == INSERT + CMDLINE)
|
||||
ga_append(&mapmode, '!'); /* :map! */
|
||||
else if (mode & INSERT)
|
||||
ga_append(&mapmode, 'i'); /* :imap */
|
||||
else if (mode & LANGMAP)
|
||||
ga_append(&mapmode, 'l'); /* :lmap */
|
||||
else if (mode & CMDLINE)
|
||||
ga_append(&mapmode, 'c'); /* :cmap */
|
||||
else if ((mode & (NORMAL + VISUAL + SELECTMODE + OP_PENDING))
|
||||
== NORMAL + VISUAL + SELECTMODE + OP_PENDING)
|
||||
ga_append(&mapmode, ' '); /* :map */
|
||||
else {
|
||||
if (mode & NORMAL)
|
||||
ga_append(&mapmode, 'n'); /* :nmap */
|
||||
if (mode & OP_PENDING)
|
||||
ga_append(&mapmode, 'o'); /* :omap */
|
||||
if ((mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE)
|
||||
ga_append(&mapmode, 'v'); /* :vmap */
|
||||
else {
|
||||
if (mode & VISUAL)
|
||||
ga_append(&mapmode, 'x'); /* :xmap */
|
||||
if (mode & SELECTMODE)
|
||||
ga_append(&mapmode, 's'); /* :smap */
|
||||
if ((mode & (INSERT + CMDLINE)) == INSERT + CMDLINE) {
|
||||
ga_append(&mapmode, '!'); // :map!
|
||||
} else if (mode & INSERT) {
|
||||
ga_append(&mapmode, 'i'); // :imap
|
||||
} else if (mode & LANGMAP) {
|
||||
ga_append(&mapmode, 'l'); // :lmap
|
||||
} else if (mode & CMDLINE) {
|
||||
ga_append(&mapmode, 'c'); // :cmap
|
||||
} else if ((mode & (NORMAL + VISUAL + SELECTMODE + OP_PENDING))
|
||||
== NORMAL + VISUAL + SELECTMODE + OP_PENDING) {
|
||||
ga_append(&mapmode, ' '); // :map
|
||||
} else {
|
||||
if (mode & NORMAL) {
|
||||
ga_append(&mapmode, 'n'); // :nmap
|
||||
}
|
||||
if (mode & OP_PENDING) {
|
||||
ga_append(&mapmode, 'o'); // :omap
|
||||
}
|
||||
if (mode & TERM_FOCUS) {
|
||||
ga_append(&mapmode, 't'); // :tmap
|
||||
}
|
||||
if ((mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE) {
|
||||
ga_append(&mapmode, 'v'); // :vmap
|
||||
} else {
|
||||
if (mode & VISUAL) {
|
||||
ga_append(&mapmode, 'x'); // :xmap
|
||||
}
|
||||
if (mode & SELECTMODE) {
|
||||
ga_append(&mapmode, 's'); // :smap
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -27,6 +27,10 @@ function Test_maparg()
|
||||
call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ',
|
||||
\ 'nowait': 1, 'expr': 0, 'sid': sid, 'rhs': 'bar', 'buffer': 1},
|
||||
\ maparg('foo', '', 0, 1))
|
||||
tmap baz foo
|
||||
call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'baz', 'mode': 't',
|
||||
\ 'nowait': 0, 'expr': 0, 'sid': sid, 'rhs': 'foo', 'buffer': 0},
|
||||
\ maparg('baz', 't', 0, 1))
|
||||
|
||||
map abc x<char-114>x
|
||||
call assert_equal("xrx", maparg('abc'))
|
||||
|
@ -346,11 +346,6 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
to_return.sid = not opts.sid and 0 or opts.sid
|
||||
to_return.buffer = not opts.buffer and 0 or opts.buffer
|
||||
|
||||
-- mode 't' doesn't print when calling maparg
|
||||
if mode == 't' then
|
||||
to_return.mode = ''
|
||||
end
|
||||
|
||||
return to_return
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user