aboutsummaryrefslogtreecommitdiffstats
path: root/queries
diff options
context:
space:
mode:
authorStephan Seitz <stephan.seitz@fau.de>2020-09-22 23:01:19 +0200
committerStephan Seitz <stephan.lauf@yahoo.de>2020-10-10 15:31:51 +0200
commit45397ebbd9fb2bb13b14824e917158d2e02f960a (patch)
tree38b9057059289edf861f6e80d15f24de084ea7a3 /queries
parentShorten module reference shell_command_selectors to shell. (diff)
downloadnvim-treesitter-45397ebbd9fb2bb13b14824e917158d2e02f960a.tar
nvim-treesitter-45397ebbd9fb2bb13b14824e917158d2e02f960a.tar.gz
nvim-treesitter-45397ebbd9fb2bb13b14824e917158d2e02f960a.tar.bz2
nvim-treesitter-45397ebbd9fb2bb13b14824e917158d2e02f960a.tar.lz
nvim-treesitter-45397ebbd9fb2bb13b14824e917158d2e02f960a.tar.xz
nvim-treesitter-45397ebbd9fb2bb13b14824e917158d2e02f960a.tar.zst
nvim-treesitter-45397ebbd9fb2bb13b14824e917158d2e02f960a.zip
fix(highlights): Add TSNamespace highlight
Start adding highlights for - C++ - Rust (including other scoped_identifier/scoped_type_identifier fixes) - JS (only namespace_import) Addresses #516
Diffstat (limited to 'queries')
-rw-r--r--queries/cpp/highlights.scm4
-rw-r--r--queries/javascript/highlights.scm5
-rw-r--r--queries/ocaml/highlights.scm2
-rw-r--r--queries/rust/highlights.scm36
4 files changed, 40 insertions, 7 deletions
diff --git a/queries/cpp/highlights.scm b/queries/cpp/highlights.scm
index c026d54bf..30c4b75d2 100644
--- a/queries/cpp/highlights.scm
+++ b/queries/cpp/highlights.scm
@@ -28,14 +28,16 @@
name: (scoped_identifier
name: (identifier) @function))
-(namespace_identifier) @constant
((identifier) @type (#match? @type "^[A-Z]"))
+(namespace_identifier) @namespace
((namespace_identifier) @type
(#match? @type "^[A-Z]"))
((namespace_identifier) @constant
(#match? @constant "^[A-Z][A-Z_0-9]*$"))
+(namespace_definition
+ name: (identifier) @namespace)
(destructor_name
name: (_) @function)
diff --git a/queries/javascript/highlights.scm b/queries/javascript/highlights.scm
index d83228c37..de505366a 100644
--- a/queries/javascript/highlights.scm
+++ b/queries/javascript/highlights.scm
@@ -90,6 +90,11 @@
(rest_parameter
(identifier) @parameter))
+; Variables
+;----------
+(namespace_import
+ (identifier) @namespace)
+
; Literals
;---------
diff --git a/queries/ocaml/highlights.scm b/queries/ocaml/highlights.scm
index 4e44c6dc1..3d43aabf6 100644
--- a/queries/ocaml/highlights.scm
+++ b/queries/ocaml/highlights.scm
@@ -1,7 +1,7 @@
; Modules
;--------
-[(module_name) (module_type_name)] @structure
+[(module_name) (module_type_name)] @namespace
; Types
;------
diff --git a/queries/rust/highlights.scm b/queries/rust/highlights.scm
index 01994555f..fa81ffbc7 100644
--- a/queries/rust/highlights.scm
+++ b/queries/rust/highlights.scm
@@ -13,12 +13,16 @@
(type_identifier) @type
(primitive_type) @type.builtin
(field_identifier) @field
-
+(mod_item
+ name: (identifier) @namespace)
; Function calls
(call_expression
function: (identifier) @function)
(call_expression
+ function: (scoped_identifier
+ (identifier) @function .))
+(call_expression
function: (field_expression
field: (field_identifier) @function))
@@ -36,6 +40,16 @@
(#match? @constant "^[A-Z]"))
; Assume that uppercase names in paths are types
+(scoped_identifier
+ path: (identifier) @namespace)
+(scoped_identifier
+ (scoped_identifier
+ name: (identifier) @namespace))
+(scoped_type_identifier
+ path: (identifier) @namespace)
+(scoped_type_identifier
+ (scoped_identifier
+ name: (identifier) @namespace))
((scoped_identifier
path: (identifier) @type)
(#match? @type "^[A-Z]"))
@@ -43,6 +57,13 @@
name: (identifier) @type)
(#match? @type "^[A-Z]"))
+(crate) @namespace
+(scoped_use_list
+ path: (identifier) @namespace)
+(scoped_use_list
+ path: (scoped_identifier
+ (identifier) @namespace))
+(use_list (scoped_identifier (identifier) @namespace . (_)))
(use_list (identifier) @type (#match? @type "^[A-Z]"))
(use_as_clause alias: (identifier) @type (#match? @type "^[A-Z]"))
@@ -60,8 +81,10 @@
(#eq? @type "derive"))
(macro_invocation
- macro: (identifier) @function.macro
- "!" @function.macro)
+ macro: (identifier) @function.macro)
+(macro_invocation
+ macro: (scoped_identifier
+ (identifier) @function.macro .))
; Function definitions
@@ -100,6 +123,11 @@
(self) @variable.builtin
[
+ "use"
+ "mod"
+] @include
+
+[
"break"
"const"
"default"
@@ -111,7 +139,6 @@
"let"
"macro_rules!"
"match"
-"mod"
"move"
"pub"
"ref"
@@ -124,7 +151,6 @@
"unsafe"
"async"
"await"
-"use"
"where"
(mutable_specifier)
(super)