From 9cb380d5004133b5921944303a5981a9d9b5108a Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sat, 18 May 2024 12:22:35 +0200 Subject: [PATCH 1/2] scala scope migration --- .../cursorless-engine/src/languages/scala.ts | 17 ---------- queries/scala.scm | 33 +++++++++++++++++++ 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/packages/cursorless-engine/src/languages/scala.ts b/packages/cursorless-engine/src/languages/scala.ts index a46d34022c..4a9f9d0f7d 100644 --- a/packages/cursorless-engine/src/languages/scala.ts +++ b/packages/cursorless-engine/src/languages/scala.ts @@ -13,19 +13,6 @@ import { childRangeSelector } from "../util/nodeSelectors"; const nodeMatchers: Partial< Record > = { - // treating classes = classlike - class: ["class_definition", "object_definition", "trait_definition"], - className: [ - "class_definition[name]", - "object_definition[name]", - "trait_definition[name]", - ], - - // list.size(), does not count foo.size (field_expression), or foo size (postfix_expression) - functionCall: "call_expression", - namedFunction: "function_definition", - anonymousFunction: "lambda_expression", - argumentOrParameter: argumentMatcher( "arguments", "parameters", @@ -39,10 +26,6 @@ const nodeMatchers: Partial< }), ), - ["private.switchStatementSubject"]: "match_expression[value]", - name: ["*[name]", "*[pattern]"], - functionName: "function_definition[name]", - // *[type] does not work here because while we want most of these we don't want "compound" types, // eg `generic_type[type]`, because that will grab just the inner generic (the String of List[String]) // and as a rule we want to grab entire type definitions. diff --git a/queries/scala.scm b/queries/scala.scm index 66ccc666df..0a064491ea 100644 --- a/queries/scala.scm +++ b/queries/scala.scm @@ -6,3 +6,36 @@ ] @string @textFragment (comment) @comment @textFragment + +;; treating classes = classlike +[ + (class_definition + name: (_) @className + ) + (object_definition + name: (_) @className + ) + (trait_definition + name: (_) @className + ) +] @_.domain @class + +;; list.size(), does not count foo.size (field_expression), or foo size (postfix_expression) +(call_expression) @functionCall + +(lambda_expression) @anonymousFunction + +(function_definition + name: (_) @functionName +) @_.domain @namedFunction + +(match_expression + value: (_) @private.switchStatementSubject +) @_.domain + +(_ + name: (_) @name +) @_.domain +(_ + pattern: (_) @name +) @_.domain From 6c2f7d77deb6bbb3e86af56208ced43484cf3525 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sun, 19 May 2024 19:26:16 +0200 Subject: [PATCH 2/2] Cleanup --- queries/scala.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/queries/scala.scm b/queries/scala.scm index 0a064491ea..1e86123c6f 100644 --- a/queries/scala.scm +++ b/queries/scala.scm @@ -18,7 +18,7 @@ (trait_definition name: (_) @className ) -] @_.domain @class +] @class @className.domain ;; list.size(), does not count foo.size (field_expression), or foo size (postfix_expression) (call_expression) @functionCall @@ -27,7 +27,7 @@ (function_definition name: (_) @functionName -) @_.domain @namedFunction +) @namedFunction @functionName.domain (match_expression value: (_) @private.switchStatementSubject