kana/vim-arpeggio

:Arpeggiounmap with '|

BertrandSim opened this issue · 0 comments

Currently, chaining :Arpeggiounmap statements with | is not supported.

For example, if I have the following mappings,

Arpeggioinoremap jk ()<Left>
Arpeggioinoremap df {}<Left>

then if I attempt to remove them with

Arpeggioiunmap jk | Arpeggioiunmap df

The mapping for jk has been removed, while the mapping for df still exists.

I have also tried

Arpeggioiunmap jk| Arpeggioiunmap df

(without the trailing space), but that produces errors:

Error detected while processing function arpeggio#_unmap[2]..arpeggio#unmap[4]..<SNR>80_do_unmap:
line    8:
E474: Invalid argument
Error detected while processing function arpeggio#_unmap[2]..arpeggio#unmap[4]..<SNR>80_do_unmap:
line   13:
E31: No such mapping
Error detected while processing function arpeggio#_unmap[2]..arpeggio#unmap[4]..<SNR>80_do_unmap:
line   13:
E471: Argument required
Error detected while processing function arpeggio#_unmap[2]..arpeggio#unmap[4]..<SNR>80_do_unmap:
line   13:
E31: No such mapping
Error detected while processing function arpeggio#_unmap[2]..arpeggio#unmap[4]..<SNR>80_do_unmap:
line   13:
E31: No such mapping
Error detected while processing function arpeggio#_unmap[2]..arpeggio#unmap[4]..<SNR>80_do_unmap:
line   13:
E492: Not an editor command: jk
Error detected while processing function arpeggio#_unmap[2]..arpeggio#unmap[4]..<SNR>80_do_unmap:
line   13:
E31: No such mapping
Error detected while processing function arpeggio#_unmap[2]..arpeggio#unmap:
line    8:
E31: No such mapping

In the second example, I suspect that the command has been read as though jk| was the entire lhs.
The outcome is the same as the first example. The mapping for jk has been removed, while the mapping for df still exists.

I hope this could be supported. If so, filetype specific arpeggio mappings can then be undone via b:undo_ftplugin with a chain of Arpeggiounmap statements