I couldn’t figure out a way of doing this automatically.
I thought the following hooks would be enough but it seems the the ModeChange
hook doesn’t work with with user-declared modes
hook global ModeChange push:.*:mirror %{
auto-pairs-disable
}
hook global ModeChange pop:mirror:.* %{
auto-pairs-enable
}
Figuring out the values to filter ModeChange
with is not trivial. I usually use the following hook to figure out what I should be filtering on, then watch the *debug*
buffer:
hook global ModeChange .* %{ echo -debug %val{hook_param} }
Using above, it looks like user modes appear in the form push:normal:next-key[user.mode]
, so something like below should work for you:
hook global ModeChange 'push:.*:next-key\[user\.mirror\]' %{ auto-pairs-disable %}
hook global ModeChange 'pop:next-key\[user\.mirror\]:.*' %{ auto-pairs-enable %}
Thanks.
I’ll try to see if this does what I expect
Also this is very handy
Wild. I filed an issue about that years ago, I didn’t realise it was fixed almost a year later to the day. Thanks for pointing that out!
1 Like