Merge pull request #296 from steelsojka/feat-is-predicate

feat(highlights): add is predicate
This commit is contained in:
Steven Sojka 2020-08-16 11:27:15 -05:00 committed by GitHub
commit 4a747aa30c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 102 additions and 39 deletions

View file

@ -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

View file

@ -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

View file

@ -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]"))

View file

@ -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)

View file

@ -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
;---------

View file

@ -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)

View file

@ -93,5 +93,8 @@
(number) @number
(label_statement) @label
((identifier) @parameter.reference
(#is? @parameter.reference parameter))
;; Error
(ERROR) @error

View file

@ -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

View file

@ -80,6 +80,8 @@
; Normal parameters
(parameters
(identifier) @parameter)
((identifier) @parameter.reference
(#is? @parameter.reference parameter))
; Lambda parameters
(lambda_parameters
(identifier) @parameter)

View file

@ -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!