aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/python
diff options
context:
space:
mode:
authorTriton1712022-03-30 15:08:07 +0000
committerGitHub2022-03-30 15:08:07 +0000
commit58758fee610a3808dfaeafddd1b4b4242a7e42cd (patch)
tree1ca1bc05978270080693c56d6cfb3beb6dd86e1a /runtime/queries/python
parentc18de0e8f001041e234b2b9bb0f8fea122858ad3 (diff)
Indentation rework (#1562)
* WIP: Rework indentation system * Add ComplexNode for context-aware indentation (including a proof of concept for assignment statements in rust) * Add switch statements to Go indents.toml (fixes the second half of issue #1523) Remove commented-out code * Migrate all existing indentation queries. Add more options to ComplexNode and use them to improve C/C++ indentation. * Add comments & replace Option<Vec<_>> with Vec<_> * Add more detailed documentation for tree-sitter indentation * Improve code style in indent.rs * Use tree-sitter queries for indentation instead of TOML config. Migrate existing indent queries. * Add documentation for the new indent queries. Change xtask docgen to look for indents.scm instead of indents.toml * Improve code style in indent.rs. Fix an issue with the rust indent query. * Move indentation test sources to separate files. Add `#not-kind-eq?`, `#same-line?` and `#not-same-line` custom predicates. Improve the rust and c indent queries. * Fix indent test. Improve rust indent queries. * Move indentation tests to integration test folder. * Improve code style in indent.rs. Reuse tree-sitter cursors for indentation queries. * Migrate HCL indent query * Replace custom loading in indent tests with a designated languages.toml * Update indent query file name for --health command. * Fix single-space formatting in indent queries. * Add explanation for unwrapping. Co-authored-by: Triton171 <triton0171@gmail.com>
Diffstat (limited to 'runtime/queries/python')
-rw-r--r--runtime/queries/python/indents.scm38
-rw-r--r--runtime/queries/python/indents.toml39
2 files changed, 38 insertions, 39 deletions
diff --git a/runtime/queries/python/indents.scm b/runtime/queries/python/indents.scm
new file mode 100644
index 00000000..810ff52f
--- /dev/null
+++ b/runtime/queries/python/indents.scm
@@ -0,0 +1,38 @@
+[
+ (list)
+ (tuple)
+ (dictionary)
+ (set)
+
+ (if_statement)
+ (for_statement)
+ (while_statement)
+ (with_statement)
+ (try_statement)
+ (import_from_statement)
+
+ (parenthesized_expression)
+ (generator_expression)
+ (list_comprehension)
+ (set_comprehension)
+ (dictionary_comprehension)
+
+ (tuple_pattern)
+ (list_pattern)
+ (argument_list)
+ (parameters)
+ (binary_operator)
+
+ (function_definition)
+ (class_definition)
+] @indent
+
+[
+ ")"
+ "]"
+ "}"
+ (return_statement)
+ (pass_statement)
+ (raise_statement)
+] @outdent
+
diff --git a/runtime/queries/python/indents.toml b/runtime/queries/python/indents.toml
deleted file mode 100644
index 6bc68486..00000000
--- a/runtime/queries/python/indents.toml
+++ /dev/null
@@ -1,39 +0,0 @@
-indent = [
- "list",
- "tuple",
- "dictionary",
- "set",
-
- "if_statement",
- "for_statement",
- "while_statement",
- "with_statement",
- "try_statement",
- "import_from_statement",
-
- "parenthesized_expression",
- "generator_expression",
- "list_comprehension",
- "set_comprehension",
- "dictionary_comprehension",
-
- "tuple_pattern",
- "list_pattern",
- "argument_list",
- "parameters",
- "binary_operator",
-
- "function_definition",
- "class_definition",
-]
-
-outdent = [
- ")",
- "]",
- "}",
- "return_statement",
- "pass_statement",
- "raise_statement",
-]
-
-ignore = ["string"]