diff --git a/languages.toml b/languages.toml index 49b168db43cb..fe468185282a 100644 --- a/languages.toml +++ b/languages.toml @@ -431,6 +431,7 @@ roots = [] indent = { tab-width = 2, unit = " " } +[[language]] name = "dart" scope = "source.dart" file-types = ["dart"] diff --git a/runtime/queries/dart/highlights.scm b/runtime/queries/dart/highlights.scm index 96f327c821f7..9f667d6be992 100644 --- a/runtime/queries/dart/highlights.scm +++ b/runtime/queries/dart/highlights.scm @@ -228,6 +228,10 @@ "with" ] @keyword +; when used as an identifier: +((identifier) @variable.builtin + (#match? @variable.builtin "^(abstract|as|covariant|deferred|dynamic|export|external|factory|Function|get|implements|import|interface|library|operator|mixin|part|set|static|typedef)$")) + ; Error (ERROR) @error diff --git a/runtime/queries/dart/locals.scm b/runtime/queries/dart/locals.scm index 1013d4a92621..629838e52e9b 100644 --- a/runtime/queries/dart/locals.scm +++ b/runtime/queries/dart/locals.scm @@ -1,8 +1,20 @@ +; Scopes +;------- + +[ + (block) + (try_statement) + (catch_clause) + (finally_clause) +] @local.scope + +; Definitions +;------------ + (class_definition - body: (_) @scope) + body: (_) @local.definition) - (block) @scope +; References +;------------ - (try_statement) @scope - (catch_clause) @scope - (finally_clause) @scope +(identifier) @local.reference