BH2 is coming along nice. It can now match the basics like {}, ], (), <>, and tags. You can also define custom pairs. It can find like brackets such as “” or ‘’ if they are part of the same scope. You can also define custom pairs of these as well.
All matches are currently performed when the cursor is between the brackets. The old version would allow you to touch the outside of a bracket with the cursor; this functionality does not currently exist, and probably won’t on initial release (if at all; it would really depend if enough people called for it down the road).
In general, the search time for brackets matching is more flat with a given threshold in the new version. The old way, the bracket match was quick when the brackets were close, and much slower when they were further away. Increase the threshold, and really far brackets were really slow. The new search method is quicker for further away brackets, but it is more flat. Close brackets and far brackets search time is not so so drastic anymore. If you increase the threshold on the new version the whole range slows a little, but comparing a threshold of 4000 between old and new, the new is much faster on average than the old.
I know this might not make since, but in short, on average, BH2 matches brackets faster and it is more configurable for almost any “bracket” pair you want. Basically you will be able to increase your threshold and search further and it still feel like it did on lower thresholds in BH1.
I have also added functionality that will wrap a given selection with any bracket pair you want. You can even configure it to indent etc. So if I had some C code and I wanted to but an #if/#endif switch around it, BH2 would block it off and surround it with the brackets. If I had some Ruby code and wanted to put a if/end conditional around a selection, BH would wrap the selection and indent the content (if defined to do such). You would then have to define the actual condition, but the if/end would be wrapped around it. Its pretty basic, but useful.
I have most of the supplemental plugins ported over for use in BH2 (assuming I don’t change how plugins are defined again). So things like jumping between the two bracket ends, folding by brackets, swapping quotes, swapping brackets, etc. is working (some of the tag stuff not yet).
I still have some stuff to work out though. Currently I don’t have searching of brackets inside strings enabled yet, I have to figure out if I want to just allow basic bracket searching via an external plugin, or allow some kind of recursive bracket matching inside scope bracket matching. And other stuff. I am sure even after the beta, it will need some refining, but good progress has been made.