aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUy Ha <hchanuy@gmail.com>2023-02-27 20:21:40 +0100
committerStephan Seitz <stephan.seitz@fau.de>2023-02-27 14:52:26 -0800
commit04b87c7b6e9a4cb81e5f21aba689811c8bed85dc (patch)
treefab3c3efcdfd9f782cd3cd0dd61e7d2909a671b5
parentadd highlighting for elseif (diff)
downloadnvim-treesitter-04b87c7b6e9a4cb81e5f21aba689811c8bed85dc.tar
nvim-treesitter-04b87c7b6e9a4cb81e5f21aba689811c8bed85dc.tar.gz
nvim-treesitter-04b87c7b6e9a4cb81e5f21aba689811c8bed85dc.tar.bz2
nvim-treesitter-04b87c7b6e9a4cb81e5f21aba689811c8bed85dc.tar.lz
nvim-treesitter-04b87c7b6e9a4cb81e5f21aba689811c8bed85dc.tar.xz
nvim-treesitter-04b87c7b6e9a4cb81e5f21aba689811c8bed85dc.tar.zst
nvim-treesitter-04b87c7b6e9a4cb81e5f21aba689811c8bed85dc.zip
move the catch uppercase query to the top to make it overridable, add back the more useful queries
-rw-r--r--queries/cmake/highlights.scm77
1 files changed, 73 insertions, 4 deletions
diff --git a/queries/cmake/highlights.scm b/queries/cmake/highlights.scm
index f528a04dc..8a471fd1c 100644
--- a/queries/cmake/highlights.scm
+++ b/queries/cmake/highlights.scm
@@ -1,3 +1,9 @@
+(normal_command
+ (identifier)
+ (argument (unquoted_argument)) @constant
+ (#match? @constant "^[A-Z][A-Z_]+$")
+)
+
[
(quoted_argument)
(bracket_argument)
@@ -103,15 +109,78 @@
)
(normal_command
- (identifier)
- (argument (unquoted_argument)) @constant
- (#match? @constant "^[A-Z][A-Z_]+$")
+ (identifier) @_function
+ . (argument) @variable
+ (#match? @_function "\\c^set$")
)
(normal_command
(identifier) @_function
- . (argument) @variable
(#match? @_function "\\c^set$")
+ . (argument)
+ (
+ (argument) @_cache @storageclass
+ .
+ (argument) @_type @type
+ (#any-of? @_cache "CACHE")
+ (#any-of? @_type "BOOL" "FILEPATH" "PATH" "STRING" "INTERNAL")
+ )
+)
+
+(normal_command
+ (identifier) @_function
+ (#match? @_function "\\c^unset$")
+ . (argument)
+ (argument) @storageclass
+ (#any-of? @storageclass "CACHE" "PARENT_SCOPE")
+)
+
+(normal_command
+ (identifier) @_function
+ (#match? @_function "\\c^list$")
+ . (argument) @constant
+ (#any-of? @constant "LENGTH" "GET" "JOIN" "SUBLIST" "FIND")
+ . (argument) @variable
+ (argument) @variable .
+)
+(normal_command
+ (identifier) @_function
+ (#match? @_function "\\c^list$")
+ . (argument) @constant
+ . (argument) @variable
+ (#any-of? @constant "APPEND" "FILTER" "INSERT"
+ "POP_BACK" "POP_FRONT" "PREPEND"
+ "REMOVE_ITEM" "REMOVE_AT" "REMOVE_DUPLICATES"
+ "REVERSE" "SORT")
+)
+(normal_command
+ (identifier) @_function
+ (#match? @_function "\\c^list$")
+ . (argument) @_transform @constant
+ . (argument) @variable
+ . (argument) @_action @constant
+ (#match? @_transform "TRANSFORM")
+ (#any-of? @_action "APPEND" "PREPEND" "TOUPPER" "TOLOWER" "STRIP" "GENEX_STRIP" "REPLACE")
+)
+(normal_command
+ (identifier) @_function
+ (#match? @_function "\\c^list$")
+ . (argument) @_transform @constant
+ . (argument) @variable
+ . (argument) @_action @constant
+ . (argument)? @_selector @constant
+ (#match? @_transform "TRANSFORM")
+ (#any-of? @_action "APPEND" "PREPEND" "TOUPPER" "TOLOWER" "STRIP" "GENEX_STRIP" "REPLACE")
+ (#any-of? @_selector "AT" "FOR" "REGEX")
+)
+(normal_command
+ (identifier) @_function
+ (#match? @_function "\\c^list$")
+ . (argument) @_transform @constant
+ (argument) @constant .
+ (argument) @variable
+ (#match? @_transform "TRANSFORM")
+ (#match? @constant "OUTPUT_VARIABLE")
)
(escape_sequence) @string.escape