aboutsummaryrefslogtreecommitdiffstats
path: root/queries
diff options
context:
space:
mode:
authorSteven Sojka <steelsojka@users.noreply.github.com>2020-08-16 11:27:15 -0500
committerGitHub <noreply@github.com>2020-08-16 11:27:15 -0500
commit4a747aa30cc7d1ac73ebe5ac5cee97bf5fccc6d6 (patch)
tree4ef42a5f7c195784f46f1153547d8d0ec3075589 /queries
parentMerge pull request #295 from steelsojka/feature/set-scopes-for-definitions (diff)
parentfeat(highlights): add is predicate (diff)
downloadnvim-treesitter-4a747aa30cc7d1ac73ebe5ac5cee97bf5fccc6d6.tar
nvim-treesitter-4a747aa30cc7d1ac73ebe5ac5cee97bf5fccc6d6.tar.gz
nvim-treesitter-4a747aa30cc7d1ac73ebe5ac5cee97bf5fccc6d6.tar.bz2
nvim-treesitter-4a747aa30cc7d1ac73ebe5ac5cee97bf5fccc6d6.tar.lz
nvim-treesitter-4a747aa30cc7d1ac73ebe5ac5cee97bf5fccc6d6.tar.xz
nvim-treesitter-4a747aa30cc7d1ac73ebe5ac5cee97bf5fccc6d6.tar.zst
nvim-treesitter-4a747aa30cc7d1ac73ebe5ac5cee97bf5fccc6d6.zip
Merge pull request #296 from steelsojka/feat-is-predicate
feat(highlights): add is predicate
Diffstat (limited to 'queries')
-rw-r--r--queries/c/highlights.scm8
-rw-r--r--queries/c/locals.scm2
-rw-r--r--queries/cpp/highlights.scm15
-rw-r--r--queries/cpp/locals.scm12
-rw-r--r--queries/javascript/highlights.scm21
-rw-r--r--queries/javascript/locals.scm12
-rw-r--r--queries/lua/highlights.scm3
-rw-r--r--queries/lua/locals.scm2
-rw-r--r--queries/python/highlights.scm2
-rw-r--r--queries/python/locals.scm16
10 files changed, 59 insertions, 34 deletions
diff --git a/queries/c/highlights.scm b/queries/c/highlights.scm
index 7f3e4a5bc..ffd6bcad1 100644
--- a/queries/c/highlights.scm
+++ b/queries/c/highlights.scm
@@ -1,4 +1,4 @@
-[
+[
"const"
"default"
"enum"
@@ -131,8 +131,10 @@
(comment) @comment
;; Parameters
-(parameter_list
- (parameter_declaration) @parameter)
+(parameter_declaration
+ declarator: (identifier) @parameter)
+((identifier) @parameter.reference
+ (#is? @parameter.reference parameter))
(preproc_params
(identifier)) @parameter
diff --git a/queries/c/locals.scm b/queries/c/locals.scm
index 89fc684e2..fe6e9408c 100644
--- a/queries/c/locals.scm
+++ b/queries/c/locals.scm
@@ -9,7 +9,7 @@
(pointer_declarator
declarator: (identifier) @definition.var)
(parameter_declaration
- declarator: (identifier) @definition.var)
+ declarator: (identifier) @definition.parameter)
(init_declarator
declarator: (identifier) @definition.var)
(array_declarator
diff --git a/queries/cpp/highlights.scm b/queries/cpp/highlights.scm
index 0eb541269..fe7283136 100644
--- a/queries/cpp/highlights.scm
+++ b/queries/cpp/highlights.scm
@@ -8,7 +8,12 @@
(#match? @field "_$"))
; function(Foo ...foo)
-(variadic_parameter_declaration) @parameter
+(variadic_parameter_declaration
+ declarator: (variadic_declarator
+ (identifier) @parameter))
+; int foo = 0
+(optional_parameter_declaration
+ declarator: (identifier) @parameter)
;(field_expression) @parameter ;; How to highlight this?
(template_function
@@ -42,20 +47,20 @@
(#match? @constructor "^[A-Z]"))
(call_expression
- function: (scoped_identifier
+ function: (scoped_identifier
name: (identifier) @function))
(call_expression
- function: (field_expression
+ function: (field_expression
field: (field_identifier) @function))
((call_expression
- function: (scoped_identifier
+ function: (scoped_identifier
name: (identifier) @constructor))
(#match? @constructor "^[A-Z]"))
((call_expression
- function: (field_expression
+ function: (field_expression
field: (field_identifier) @constructor))
(#match? @constructor "^[A-Z]"))
diff --git a/queries/cpp/locals.scm b/queries/cpp/locals.scm
index c625e9ce3..2108f7caf 100644
--- a/queries/cpp/locals.scm
+++ b/queries/cpp/locals.scm
@@ -1,3 +1,9 @@
+;; Parameters
+(variadic_parameter_declaration
+ declarator: (variadic_declarator
+ (identifier) @definition.parameter))
+(optional_parameter_declaration
+ declarator: (identifier) @definition.parameter)
;; Class / struct defintions
(class_specifier) @scope
@@ -10,14 +16,14 @@
(identifier) @definition.var)
(struct_specifier
- name: (type_identifier) @definition.type)
+ name: (type_identifier) @definition.type)
(struct_specifier
name: (scoped_type_identifier
name: (type_identifier) @definition.type))
(class_specifier
- name: (type_identifier) @definition.type)
+ name: (type_identifier) @definition.type)
(class_specifier
name: (scoped_type_identifier
@@ -32,7 +38,7 @@
(template_declaration) @scope
;; Namespaces
-(namespace_definition
+(namespace_definition
name: (identifier) @definition.namespace
body: (_) @scope)
diff --git a/queries/javascript/highlights.scm b/queries/javascript/highlights.scm
index fe373e617..6cc7ab43d 100644
--- a/queries/javascript/highlights.scm
+++ b/queries/javascript/highlights.scm
@@ -1,9 +1,17 @@
; Types
; Javascript
+
+; Properties
+;-----------
+
+(property_identifier) @property
+
; Special identifiers
;--------------------
+(identifier) @variable
+
((identifier) @constant
(#match? @constant "^[A-Z_][A-Z\\d_]+$"))
@@ -14,11 +22,17 @@
(#match? @constructor "^[A-Z]"))
((identifier) @variable.builtin
+ (#not-is? @variable.builtin import var parameter)
(#match? @variable.builtin "^(arguments|module|console|window|document)$"))
((identifier) @function.builtin
+ (#not-is? @function.builtin import var parameter)
(#eq? @function.builtin "require"))
+((identifier) @parameter.reference
+ (#is? @parameter.reference parameter))
+
+
; Function and method definitions
;--------------------------------
@@ -78,13 +92,6 @@
(rest_parameter
(identifier) @parameter))
-(identifier) @variable
-
-; Properties
-;-----------
-
-(property_identifier) @property
-
; Literals
;---------
diff --git a/queries/javascript/locals.scm b/queries/javascript/locals.scm
index ee4915929..1bcf3003a 100644
--- a/queries/javascript/locals.scm
+++ b/queries/javascript/locals.scm
@@ -14,28 +14,28 @@
;------------
(formal_parameters
- (identifier) @definition.var)
+ (identifier) @definition.parameter)
(formal_parameters
(object_pattern
- (identifier) @definition.var))
+ (identifier) @definition.parameter))
; function(arg = []) {
(formal_parameters
(assignment_pattern
- (shorthand_property_identifier) @definition.var))
+ (shorthand_property_identifier) @definition.parameter))
(formal_parameters
(object_pattern
- (shorthand_property_identifier) @definition.var))
+ (shorthand_property_identifier) @definition.parameter))
(formal_parameters
(array_pattern
- (identifier) @definition.var))
+ (identifier) @definition.parameter))
(formal_parameters
(rest_parameter
- (identifier) @definition.var))
+ (identifier) @definition.parameter))
(variable_declarator
name: (identifier) @definition.var)
diff --git a/queries/lua/highlights.scm b/queries/lua/highlights.scm
index 0ea6f6355..514d004eb 100644
--- a/queries/lua/highlights.scm
+++ b/queries/lua/highlights.scm
@@ -93,5 +93,8 @@
(number) @number
(label_statement) @label
+((identifier) @parameter.reference
+ (#is? @parameter.reference parameter))
+
;; Error
(ERROR) @error
diff --git a/queries/lua/locals.scm b/queries/lua/locals.scm
index d26575471..f27eca1b6 100644
--- a/queries/lua/locals.scm
+++ b/queries/lua/locals.scm
@@ -8,7 +8,7 @@
(field_expression object:(*) @definition.associated (property_identifier) @definition.var)))
;; Parameters
-(parameters (identifier) @definition.var)
+(parameters (identifier) @definition.parameter)
;; Loops
((loop_expression
diff --git a/queries/python/highlights.scm b/queries/python/highlights.scm
index d8dcf0266..e65a58aee 100644
--- a/queries/python/highlights.scm
+++ b/queries/python/highlights.scm
@@ -80,6 +80,8 @@
; Normal parameters
(parameters
(identifier) @parameter)
+((identifier) @parameter.reference
+ (#is? @parameter.reference parameter))
; Lambda parameters
(lambda_parameters
(identifier) @parameter)
diff --git a/queries/python/locals.scm b/queries/python/locals.scm
index 7ff07957c..156b9036f 100644
--- a/queries/python/locals.scm
+++ b/queries/python/locals.scm
@@ -18,16 +18,16 @@
; Function with parameters, defines parameters
(parameters
- (identifier) @definition.var)
+ (identifier) @definition.parameter)
(default_parameter
- (identifier) @definition.var)
+ (identifier) @definition.parameter)
(typed_parameter
- (identifier) @definition.var)
+ (identifier) @definition.parameter)
(typed_default_parameter
- (identifier) @definition.var)
+ (identifier) @definition.parameter)
(with_statement
(with_item
@@ -36,12 +36,12 @@
; *args parameter
(parameters
(list_splat
- (identifier) @definition.var))
+ (identifier) @definition.parameter))
; **kwargs parameter
(parameters
(dictionary_splat
- (identifier) @definition.var))
+ (identifier) @definition.parameter))
; Function defines function and scope
(function_definition
@@ -52,10 +52,10 @@
(class_definition
name: (identifier) @definition.type) @scope
-(class_definition
+(class_definition
body: (block
(function_definition
- name: (identifier) @definition.method)))
+ name: (identifier) @definition.method)))
;;; Loops
; not a scope!