Closed ChausseBenjamin closed 2 years ago
I think this makes a lot of sense, even as the default.
Sadly, I haven't found a way to tell when something is executed as a part of a macro. According to the docs (@
): "The register is executed like a mapping", but there's also no way to figure out we are inside macro either.
If you find something let me know.
In lightspeed you can handle it like this: https://github.com/ggandor/lightspeed.nvim/issues/7#issuecomment-869013183
Maybe this would be applicable here as well?
I'm not enough of a vim ninja to know if this is possible but perhaps a timer could do the trick.
When vim-bling is called, it start a timer (say 100ms). This timer should be asynchronous so that it doesn't stall vim while waiting for it to end. Then if vim-bling is called withing that 100ms threshold, it disables itself until it gets called with a human sensible delay. This would probably also disable vim-bling when a user holds down the n
key and when it's used along a motion (like typing12n
or 12N
). What do you guys think?
The plugin is really great. The only thing I currently find lacking is a simple way to have Bling automatically disable itself when running macros... If I run a macro multiple times, It's a lot longer to run if every times it finds a pattern (with
N
orn
), it blinks. A flag (saylet g:BlingDisableOnMacro=1
) would be great implementation for this!