File tree Expand file tree Collapse file tree 2 files changed +34
-1
lines changed Expand file tree Collapse file tree 2 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -42,6 +42,7 @@ export async function map(
42
42
}
43
43
44
44
export type UnmapOptions = {
45
+ buffer ?: boolean ;
45
46
mode ?: Mode | Mode [ ] ;
46
47
} ;
47
48
@@ -53,10 +54,11 @@ export async function unmap(
53
54
lhs : string ,
54
55
options : UnmapOptions = { } ,
55
56
) : Promise < void > {
57
+ const buffer = options . buffer ? "<buffer>" : "" ;
56
58
const modes = forceArray ( options . mode ?? "" ) ;
57
59
await batch . batch ( denops , async ( denops ) => {
58
60
for ( const mode of modes ) {
59
- await denops . cmd ( `${ mode } unmap ${ lhs } ` ) ;
61
+ await denops . cmd ( `${ mode } unmap ${ buffer } ${ lhs } ` ) ;
60
62
}
61
63
} ) ;
62
64
}
Original file line number Diff line number Diff line change @@ -311,6 +311,37 @@ test({
311
311
prelude : [ "let g:denops#enable_workaround_vim_before_8_2_3081 = 1" ] ,
312
312
} ) ;
313
313
314
+ for ( const mode of modes ) {
315
+ test ( {
316
+ mode : "all" ,
317
+ name : `unmap() removes buffer local mapping (${ mode } unmap)` ,
318
+ fn : async ( denops ) => {
319
+ await mapping . map ( denops , "<Plug>(test-denops-std)" , "Hello" , {
320
+ mode,
321
+ } ) ;
322
+ await mapping . map ( denops , "<Plug>(test-denops-std)" , "Hello" , {
323
+ buffer : true ,
324
+ mode,
325
+ } ) ;
326
+ assertEquals (
327
+ ( await mapping . read ( denops , "<Plug>(test-denops-std)" , { mode } ) )
328
+ . buffer ,
329
+ true ,
330
+ ) ;
331
+ await mapping . unmap ( denops , "<Plug>(test-denops-std)" , {
332
+ buffer : true ,
333
+ mode,
334
+ } ) ;
335
+ assertEquals (
336
+ ( await mapping . read ( denops , "<Plug>(test-denops-std)" , { mode } ) )
337
+ . buffer ,
338
+ false ,
339
+ ) ;
340
+ } ,
341
+ prelude : [ "let g:denops#enable_workaround_vim_before_8_2_3081 = 1" ] ,
342
+ } ) ;
343
+ }
344
+
314
345
for ( const mode of modes ) {
315
346
test ( {
316
347
mode : "all" ,
You can’t perform that action at this time.
0 commit comments