diff options
author | Jaakko Paju | 2024-02-04 01:09:42 +0000 |
---|---|---|
committer | GitHub | 2024-02-04 01:09:42 +0000 |
commit | 75d61d8149d1e55d25f0bc34d95f01d6a3f1f526 (patch) | |
tree | df8b06c2c61e693a225efb469642cff9ad566140 /runtime/queries/scala | |
parent | d1054de3ced44903c7bdcf5886d8481eb40a948f (diff) |
Improve tree-sitter queries for Scala (#9475)
- Simplify function highlighting
- Highlight extension methods
- Textobject query (mia/maa) for class/trait constructor parameters/arguments
- Textobject query (mif/maf) for Scala 3 braceless lambdas
Diffstat (limited to 'runtime/queries/scala')
-rw-r--r-- | runtime/queries/scala/highlights.scm | 27 | ||||
-rw-r--r-- | runtime/queries/scala/textobjects.scm | 10 |
2 files changed, 14 insertions, 23 deletions
diff --git a/runtime/queries/scala/highlights.scm b/runtime/queries/scala/highlights.scm index 4f90bfda..e21a3909 100644 --- a/runtime/queries/scala/highlights.scm +++ b/runtime/queries/scala/highlights.scm @@ -53,28 +53,13 @@ (var_declaration name: (identifier) @variable) -; method definition +; function definitions/declarations -(class_definition - body: (template_body - [ - (function_definition - name: (identifier) @function.method) - (function_declaration - name: (identifier) @function.method) - ])) -(trait_definition - body: (template_body - [ - (function_definition - name: (identifier) @function.method) - (function_declaration - name: (identifier) @function.method) - ])) -(object_definition - body: (template_body - (function_definition - name: (identifier) @function.method))) +(function_declaration + name: (identifier) @function.method) + +(function_definition + name: (identifier) @function.method) ; imports/exports diff --git a/runtime/queries/scala/textobjects.scm b/runtime/queries/scala/textobjects.scm index 6e551c41..21286b3e 100644 --- a/runtime/queries/scala/textobjects.scm +++ b/runtime/queries/scala/textobjects.scm @@ -1,12 +1,15 @@ ; Function queries (function_definition - body: (_) @function.inside) @function.around + body: (_) @function.inside) @function.around ; Does not include end marker -; Does not match block lambdas or Scala 3 braceless lambdas (lambda_expression (_) @function.inside) @function.around +; Scala 3 braceless lambda +(colon_argument + (_) @function.inside) @function.around + ; Class queries @@ -32,6 +35,9 @@ (parameters ((_) @parameter.inside . ","? @parameter.around) @parameter.around) +(class_parameters + ((_) @parameter.inside . ","? @parameter.around) @parameter.around) + (parameter_types ((_) @parameter.inside . ","? @parameter.around) @parameter.around) |