|
|
@ -46,6 +46,19 @@ capture on the same line, the indent level isn't changed at all.
|
|
|
|
- `@outdent` (default scope `all`):
|
|
|
|
- `@outdent` (default scope `all`):
|
|
|
|
Decrease the indent level by 1. The same rules as for `@indent` apply.
|
|
|
|
Decrease the indent level by 1. The same rules as for `@indent` apply.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- `@extend-indented`:
|
|
|
|
|
|
|
|
Extend the range of this node to the end of the line and to lines that
|
|
|
|
|
|
|
|
are indented more than the line that this node starts on. This is useful
|
|
|
|
|
|
|
|
for languages like Python, where for the purpose of indentation some nodes
|
|
|
|
|
|
|
|
(like functions or classes) should also contain indented lines that follow them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- `@stop-extend`:
|
|
|
|
|
|
|
|
Prevents the first extension of an ancestor of this node. For example, in Python
|
|
|
|
|
|
|
|
a return expression always ends the block that it is in. Note that this only prevents
|
|
|
|
|
|
|
|
the next extension of one ancestor: If multiple ancestors can be extended (for example
|
|
|
|
|
|
|
|
multiple nested conditional blocks in python), only the extension of the innermost
|
|
|
|
|
|
|
|
ancestor is prevented.
|
|
|
|
|
|
|
|
|
|
|
|
## Predicates
|
|
|
|
## Predicates
|
|
|
|
|
|
|
|
|
|
|
|
In some cases, an S-expression cannot express exactly what pattern should be matched.
|
|
|
|
In some cases, an S-expression cannot express exactly what pattern should be matched.
|
|
|
|