So for little bit now tito has been bugging me about the way BracketHighlighter kicks off bracket matching
. He isn't the only one; there have been a number of people that expressed they wished it did more instant highlighting. There were issues with instant highlighting which is why by default I had set a bothersome delay.
I have been thinking about overhauling the match management code to allow for more responsive highlighting, but I have been lazy and been working on other things. Well, tito opened up dialog with me and we started talking about how we each thought it should be done. After a lengthy discussion and some swapping of code, we have kind of melded are methods into what I feel is a much more responsive highlighting.
I will currently be running it all day today with the experimental branch to ensure that it behaves like I expect it to. If you want to try it out, the experimental branch is here: https://github.com/facelessuser/Bracket ... provements
Basically when highlighting will be instant in most cases (considering process time due to threshold distance). But subsequent events in close succession will be noted but not processed until things slow down a bit. We will have a background thread that will take care of this. The code also throws out redundant match requests as well to only match as many times as must be done.
I am hoping in general this will be a very responsive and good compromise between the two approaches. With this new method, you will no longer specify a delay in your settings, this will all be managed internally now. You can still set your search distance threshold. On fast computers, you may increase it, on really slow computers, you may decrease it. Obviously if you crank it up way too high, you will suffer from performance issues, but this has always and will always be the case.
Hopefully this will pacify the masses.
So as long as I see no real issues in performance (which I haven't seen yet; at least on most modern machines), this will get pushed out tonight (as long as I don't make other plans for tonight
Anyways, if you try out the experimental, let me know how you like it (good or bad).
So if you like it, you can thank tito for the push to get this done. I probably would have sat around on this for a bit longer