aboutsummaryrefslogtreecommitdiffstats
path: root/queries
diff options
context:
space:
mode:
authorJade Lovelace <software@lfcode.ca>2022-02-01 23:13:01 -0800
committerGitHub <noreply@github.com>2022-02-02 08:13:01 +0100
commitc2d25575264e17e868c316c773dcce3ebba2f3f8 (patch)
treeada78a6adddd060154ec50e198a73e04100dcb48 /queries
parentUpdate lockfile.json (#2433) (diff)
downloadnvim-treesitter-c2d25575264e17e868c316c773dcce3ebba2f3f8.tar
nvim-treesitter-c2d25575264e17e868c316c773dcce3ebba2f3f8.tar.gz
nvim-treesitter-c2d25575264e17e868c316c773dcce3ebba2f3f8.tar.bz2
nvim-treesitter-c2d25575264e17e868c316c773dcce3ebba2f3f8.tar.lz
nvim-treesitter-c2d25575264e17e868c316c773dcce3ebba2f3f8.tar.xz
nvim-treesitter-c2d25575264e17e868c316c773dcce3ebba2f3f8.tar.zst
nvim-treesitter-c2d25575264e17e868c316c773dcce3ebba2f3f8.zip
verilog highlight: add some keywords, tidy keywords (#2432)
* Add a bunch of the OO keywords and some of the more unusual block delimiter types * Highlight macromodule like module is. * Highlight new as seen in constructor declarations like `class blah; function new(...); ... endfunction endclass` * Make endfunction a @keyword.function. This matches how lua does it. * Make tasks @keyword.function: tasks in SystemVerilog are more or less just impure functions * Highlight casex/casez like case is currently highlighted (previously these were not highlighted at all) * Highlight unique, unique0, priority for constructs like `unique case (...) ... endcase` and `priority if (...) ...`
Diffstat (limited to 'queries')
-rw-r--r--queries/verilog/highlights.scm52
1 files changed, 39 insertions, 13 deletions
diff --git a/queries/verilog/highlights.scm b/queries/verilog/highlights.scm
index 044e83f46..ba282aa07 100644
--- a/queries/verilog/highlights.scm
+++ b/queries/verilog/highlights.scm
@@ -1,32 +1,55 @@
; Keywords
[
- "module"
+ ; block delimeters
+ (module_keyword)
"endmodule"
- "endfunction"
- "task"
- "endtask"
- "parameter"
- "localparam"
- "assign"
- "typedef"
+ "program"
+ "endprogram"
"class"
"endclass"
- "default"
- "break"
"interface"
"endinterface"
- "modport"
"package"
"endpackage"
+ "checker"
+ "endchecker"
+ "config"
+ "endconfig"
+
+ "pure"
+ "virtual"
+ "extends"
+ "implements"
+ "super"
+ (class_item_qualifier)
+
+ "parameter"
+ "localparam"
+ "defparam"
+ "assign"
+ "typedef"
+ "modport"
"fork"
"join"
"join_none"
"join_any"
+ "default"
+ "break"
"assert"
+ (unique_priority)
+ "tagged"
+ "extern"
] @keyword
-"function" @keyword.function
+[
+ "function"
+ "endfunction"
+
+ "task"
+ "endtask"
+] @keyword.function
+
"return" @keyword.return
[
@@ -48,7 +71,7 @@
[
"if"
"else"
- "case"
+ (case_keyword)
"endcase"
] @conditional
@@ -181,6 +204,9 @@
(module_header
(simple_identifier) @constructor))
+(class_constructor_declaration
+ "new" @constructor)
+
(parameter_identifier
(simple_identifier) @parameter)