From 45397ebbd9fb2bb13b14824e917158d2e02f960a Mon Sep 17 00:00:00 2001 From: Stephan Seitz Date: Tue, 22 Sep 2020 23:01:19 +0200 Subject: 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 --- queries/cpp/highlights.scm | 4 +++- queries/javascript/highlights.scm | 5 +++++ queries/ocaml/highlights.scm | 2 +- queries/rust/highlights.scm | 36 +++++++++++++++++++++++++++++++----- 4 files changed, 40 insertions(+), 7 deletions(-) (limited to 'queries') 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,11 +13,15 @@ (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 @@ -99,6 +122,11 @@ (self) @variable.builtin +[ + "use" + "mod" +] @include + [ "break" "const" @@ -111,7 +139,6 @@ "let" "macro_rules!" "match" -"mod" "move" "pub" "ref" @@ -124,7 +151,6 @@ "unsafe" "async" "await" -"use" "where" (mutable_specifier) (super) -- cgit v1.2.3-70-g09d2