From 8f19956218ebb561a7e4de86b67df130a5ed997b Mon Sep 17 00:00:00 2001 From: Triton171 Date: Wed, 10 Aug 2022 14:11:15 +0200 Subject: [PATCH] Add python indentation support to docs. Document @extend-indented and @stop-extend captures for indent queries. --- book/src/generated/lang-support.md | 2 +- book/src/guides/indent.md | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index 5c64d0977..deeef34fb 100644 --- a/book/src/generated/lang-support.md +++ b/book/src/generated/lang-support.md @@ -86,7 +86,7 @@ | prisma | ✓ | | | `prisma-language-server` | | prolog | | | | `swipl` | | protobuf | ✓ | | ✓ | | -| python | ✓ | ✓ | | `pylsp` | +| python | ✓ | ✓ | ✓ | `pylsp` | | r | ✓ | | | `R` | | racket | | | | `racket` | | regex | ✓ | | | | diff --git a/book/src/guides/indent.md b/book/src/guides/indent.md index f4d916b21..c9306a101 100644 --- a/book/src/guides/indent.md +++ b/book/src/guides/indent.md @@ -46,6 +46,19 @@ capture on the same line, the indent level isn't changed at all. - `@outdent` (default scope `all`): 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 In some cases, an S-expression cannot express exactly what pattern should be matched.