summaryrefslogtreecommitdiff
path: root/queries/ecma/locals.scm
diff options
context:
space:
mode:
authorkiyan <yazdani.kiyan@protonmail.com>2021-03-09 23:14:27 +0100
committerKiyan <yazdani.kiyan@protonmail.com>2021-03-10 17:34:11 +0100
commit3b8c2ea492917fcb3c0e88ad6682dbd355cc0644 (patch)
treede412f14c476f809c6e60f06e57136384b99e616 /queries/ecma/locals.scm
parentec41db9511309966f6ab816d0139fad30ef50be6 (diff)
chore: create ecma base for use in js and ts which fixes jsx issues
Diffstat (limited to 'queries/ecma/locals.scm')
-rw-r--r--queries/ecma/locals.scm61
1 files changed, 61 insertions, 0 deletions
diff --git a/queries/ecma/locals.scm b/queries/ecma/locals.scm
new file mode 100644
index 00000000..2f501f3a
--- /dev/null
+++ b/queries/ecma/locals.scm
@@ -0,0 +1,61 @@
+; Scopes
+;-------
+
+(statement_block) @scope
+(function) @scope
+(arrow_function) @scope
+(function_declaration) @scope
+(method_definition) @scope
+(for_statement) @scope
+(for_in_statement) @scope
+(catch_clause) @scope
+
+; Definitions
+;------------
+
+(formal_parameters
+ (identifier) @definition.parameter)
+
+(formal_parameters
+ (object_pattern
+ (identifier) @definition.parameter))
+
+; function(arg = []) {
+(formal_parameters
+ (assignment_pattern
+ (shorthand_property_identifier) @definition.parameter))
+
+; x => x
+(arrow_function
+ parameter: (identifier) @definition.parameter)
+
+(formal_parameters
+ (object_pattern
+ (shorthand_property_identifier) @definition.parameter))
+
+(formal_parameters
+ (array_pattern
+ (identifier) @definition.parameter))
+
+(formal_parameters
+ (rest_parameter
+ (identifier) @definition.parameter))
+
+(variable_declarator
+ name: (identifier) @definition.var)
+
+(import_specifier
+ (identifier) @definition.import)
+
+(namespace_import
+ (identifier) @definition.import)
+
+(function_declaration
+ ((identifier) @definition.var)
+ (#set! definition.var.scope parent))
+
+; References
+;------------
+
+(identifier) @reference
+(shorthand_property_identifier) @reference