Merge #10628 from notomo/vim-8.1.1759

This commit is contained in:
Justin M. Keyes 2019-07-28 11:15:30 +02:00 committed by GitHub
commit b5c44b66eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 28 deletions

View File

@ -3288,29 +3288,36 @@ char *map_mode_to_chars(int mode)
ga_init(&mapmode, 1, 7); ga_init(&mapmode, 1, 7);
if ((mode & (INSERT + CMDLINE)) == INSERT + CMDLINE) if ((mode & (INSERT + CMDLINE)) == INSERT + CMDLINE) {
ga_append(&mapmode, '!'); /* :map! */ ga_append(&mapmode, '!'); // :map!
else if (mode & INSERT) } else if (mode & INSERT) {
ga_append(&mapmode, 'i'); /* :imap */ ga_append(&mapmode, 'i'); // :imap
else if (mode & LANGMAP) } else if (mode & LANGMAP) {
ga_append(&mapmode, 'l'); /* :lmap */ ga_append(&mapmode, 'l'); // :lmap
else if (mode & CMDLINE) } else if (mode & CMDLINE) {
ga_append(&mapmode, 'c'); /* :cmap */ ga_append(&mapmode, 'c'); // :cmap
else if ((mode & (NORMAL + VISUAL + SELECTMODE + OP_PENDING)) } else if ((mode & (NORMAL + VISUAL + SELECTMODE + OP_PENDING))
== NORMAL + VISUAL + SELECTMODE + OP_PENDING) == NORMAL + VISUAL + SELECTMODE + OP_PENDING) {
ga_append(&mapmode, ' '); /* :map */ ga_append(&mapmode, ' '); // :map
else { } else {
if (mode & NORMAL) if (mode & NORMAL) {
ga_append(&mapmode, 'n'); /* :nmap */ ga_append(&mapmode, 'n'); // :nmap
if (mode & OP_PENDING) }
ga_append(&mapmode, 'o'); /* :omap */ if (mode & OP_PENDING) {
if ((mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE) ga_append(&mapmode, 'o'); // :omap
ga_append(&mapmode, 'v'); /* :vmap */ }
else { if (mode & TERM_FOCUS) {
if (mode & VISUAL) ga_append(&mapmode, 't'); // :tmap
ga_append(&mapmode, 'x'); /* :xmap */ }
if (mode & SELECTMODE) if ((mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE) {
ga_append(&mapmode, 's'); /* :smap */ ga_append(&mapmode, 'v'); // :vmap
} else {
if (mode & VISUAL) {
ga_append(&mapmode, 'x'); // :xmap
}
if (mode & SELECTMODE) {
ga_append(&mapmode, 's'); // :smap
}
} }
} }

View File

@ -27,6 +27,10 @@ function Test_maparg()
call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ',
\ 'nowait': 1, 'expr': 0, 'sid': sid, 'rhs': 'bar', 'buffer': 1}, \ 'nowait': 1, 'expr': 0, 'sid': sid, 'rhs': 'bar', 'buffer': 1},
\ maparg('foo', '', 0, 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 map abc x<char-114>x
call assert_equal("xrx", maparg('abc')) call assert_equal("xrx", maparg('abc'))

View File

@ -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.sid = not opts.sid and 0 or opts.sid
to_return.buffer = not opts.buffer and 0 or opts.buffer 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 return to_return
end end