aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/python/locals.scm
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/python/locals.scm')
-rw-r--r--runtime/queries/python/locals.scm44
1 files changed, 44 insertions, 0 deletions
diff --git a/runtime/queries/python/locals.scm b/runtime/queries/python/locals.scm
new file mode 100644
index 00000000..f7d5937e
--- /dev/null
+++ b/runtime/queries/python/locals.scm
@@ -0,0 +1,44 @@
+;; Scopes
+
+[
+ (module)
+ (function_definition)
+ (lambda)
+] @local.scope
+
+;; Definitions
+
+; Parameters
+(parameters
+ (identifier) @local.definition)
+(parameters
+ (typed_parameter
+ (identifier) @local.definition))
+(parameters
+ (default_parameter
+ name: (identifier) @local.definition))
+(parameters
+ (typed_default_parameter
+ name: (identifier) @local.definition))
+(parameters
+ (list_splat_pattern ; *args
+ (identifier) @local.definition))
+(parameters
+ (dictionary_splat_pattern ; **kwargs
+ (identifier) @local.definition))
+
+(lambda_parameters
+ (identifier) @local.definition)
+
+; Imports
+(import_statement
+ name: (dotted_name
+ (identifier) @local.definition))
+
+(aliased_import
+ alias: (identifier) @local.definition)
+
+;; References
+
+(identifier) @local.reference
+