aboutsummaryrefslogtreecommitdiffstats
path: root/queries/commonlisp/locals.scm
diff options
context:
space:
mode:
Diffstat (limited to 'queries/commonlisp/locals.scm')
-rw-r--r--queries/commonlisp/locals.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/queries/commonlisp/locals.scm b/queries/commonlisp/locals.scm
new file mode 100644
index 000000000..859b9c701
--- /dev/null
+++ b/queries/commonlisp/locals.scm
@@ -0,0 +1,48 @@
+
+(defun_header
+ function_name: (sym_lit) @definition.function (#set! definition.function.scope "parent"))
+(defun_header
+ lambda_list: (list_lit (sym_lit) @definition.parameter))
+
+(defun_header
+ keyword: (defun_keyword "defmethod")
+ lambda_list: (list_lit (list_lit . (sym_lit) . (sym_lit) @definition.type)))
+(defun_header
+ lambda_list: (list_lit (list_lit . (sym_lit) @definition.parameter . (_))))
+
+(sym_lit) @reference
+
+(defun) @scope
+
+((list_lit . (sym_lit) @_defvar . (sym_lit) @definition.var)
+(#match? @_defvar "^(cl:)?(defvar|defparameter)$"))
+
+(list_lit
+ .
+ (sym_lit) @_deftest
+ .
+ (sym_lit) @definition.function
+ (#match? @_deftest "^(deftest)$")) @scope
+
+(list_lit
+ .
+ (sym_lit) @_deftest
+ .
+ (sym_lit) @definition.function
+ (#match? @_deftest "^(deftest)$")) @scope
+
+(for_clause . (sym_lit) @definition.var)
+(with_clause . (sym_lit) @definition.var)
+(loop_macro) @scope
+
+(list_lit
+ .
+ (sym_lit) @_let (#match? @_let "(cl:|cffi:)?(with-accessors|with-foreign-objects|let[*]?)")
+ .
+ (list_lit (list_lit . (sym_lit) @definition.var))) @scope
+
+(list_lit
+ .
+ (sym_lit) @_let (#match? @_let "(cl:|alexandria)?(with-gensyms|dotimes|with-foreign-object)")
+ .
+ (list_lit . (sym_lit) @definition.var)) @scope