From c2d25575264e17e868c316c773dcce3ebba2f3f8 Mon Sep 17 00:00:00 2001 From: Jade Lovelace Date: Tue, 1 Feb 2022 23:13:01 -0800 Subject: 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 (...) ...` --- queries/verilog/highlights.scm | 52 +++++++++++++++++++++++++++++++----------- 1 file 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) -- cgit v1.2.3-70-g09d2