Add textobjects.scm for Java #111
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a
textobjects.scmfile to enable Tree-sitter-based text objects for Java. Currently, Zed only supports this functionality in Vim mode. With this addition, you'll be able to treat several Java constructs as text objects and target them with any Vim operator liked(delete),c(change) ory(copy) or select them withv, as well as navigate code semantically. Here are the details:ic/acto work inside or around aclass,interface,enum,recordandannotationif/afto work inside or around amethod,lambdaandconstructorigc/agcto work inside or around asingle-line comment,multi-line commentandjavadoc comment]m/[mto go the next or previousmethodorconstructor]]/[[to go the next or previous class-like construct (aclass,interface, etc.).]//[/to go to the next or previouscomment.If you are interested in knowing more about these features, you can find more information in the official Zed documentation for Tree-sitter and for Text Objects. The Default Vim Bindings file in Zed is also a good resource. There are good built-in text objects like
ifor indentation,bfor blocks or[x/]xfor selecting greater or smaller syntax nodes.