featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.
featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
Based on the new variable `+tree-sitter-hl-enabled-modes`
This allows for people to use tree sitters tools without having
to use it for highlighting.
Useful because some modes (such as web-mode and its derivatives) do a
better job than the tree sitter alternative in this respect.
use-package's :after keyword introduces some load order behavior that
complicates the user's ability to target it with either after! or
with-eval-after-load. Best to avoid it.
Ref: jwiegley/use-package#829
Move the conditional bindings from `i` to `v` this is
to reflect the text object, the thinking being if users have to learn
one anti mnemonic then it should reflect all cases to make it easier to
swallow.
- move map definition and binding into
evil-textobj-tree-sitter :config body
- replace +tree-sitter-keys-mode with
tree-sitter-mode as bind site
- remove +tree-sitter-keys-mode from tree-sitter! autodef
BREAKING CHANGE: rebind the text objects parameter and conditional to
'A' and 'v' respectively, this is to make the defaults a little more
intuitive and not clobber existing text objects that are useful to
people
before today all text objects were bound in all modes, now they have
been properly gatekept and only appear when `+tree-sitter-keys-mode` is
enabled / hooked, this allows for more flexibility and the ability to
arbitrarily disable / enable tree sitter text objects (which is nice)
Some how for some reason tree-sitter-langs managed to load. If if put
its require in the block of a lazy loaded package. it would load.
If i were to set its use-package call to load it after a lazy loaded
package. it would load.
a hook (and disabling it) were the only reliable ways to get it to lazy
load
Move tree-sitter-langs into its own use-package call
This is to reflect an accepted code pattern seen in the rest of doom's
code.
This does not cause any user facing changes
Changes:
- Bind `F` to the function call text object
- Add the text object to the table
- Realign table so it looks right to people who don't hide emphasis
markers
where ts stands for tree sitter
Only install 'evil-textobj-treesitter' if :editor evil +everywhere is
enabled
Also Comment which text objs are not currently not working
This module installs 'tree-sitter' and 'tree-sitter-langs' as well as
the 'evil-textobj-treesitter' and configures them.
This module is based on the prototype module that @hlissner has started
and I am just fleshing out that work.
It also comes with a README file
Fix: #4151