To install this package from Emacs, use
This is just like expand-region, but (1) we generate all regions at once, and (2) should be easier to debug, and (3) we out-source language-specific expansions to tree-sitter. Bind ‘expreg-expand’ and ‘expreg-contract’ and start using it. Note that if point is in between two possible regions, we only keep the region after point. In the example below, only region B is kept (“|” represents point): (region A)|(region B) Expreg also recognizes subwords if ‘subword-mode’ is on. By default, the sentence expander ‘expreg--sentence’ is not enabled. I suggest enabling it (by adding it to ‘expreg-functions’) in text modes only.