diff options
| author | Jade Lovelace <software@lfcode.ca> | 2022-02-01 23:13:01 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-02 08:13:01 +0100 |
| commit | c2d25575264e17e868c316c773dcce3ebba2f3f8 (patch) | |
| tree | ada78a6adddd060154ec50e198a73e04100dcb48 /queries | |
| parent | Update lockfile.json (#2433) (diff) | |
| download | nvim-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.scm | 52 |
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) |
