ctags-lang-verilog(7)
| CTAGS-LANG-VERILOG(7) | Universal-ctags | CTAGS-LANG-VERILOG(7) |
NAME
ctags-lang-verilog -
SYNOPSIS
ctags ... [--fields-Verilog=+{parameter}] ...
ctags ... [--kinds-systemverilog=+Q] [--fields-SystemVerilog=+{parameter}] ...
ctags --list-kinds-full={Verilog|SystemVerilog}
ctags --list-fields={Verilog|SystemVerilog}
| Language | Language ID | File Mapping |
| Verilog | Verilog | .v |
| SystemVerilog | SystemVerilog | .sv, .svh, svi |
DESCRIPTION
This man page describes about the Verilog/SystemVerilog parser for Universal-ctags.
It assumes the input file is written in the correct grammer. Otherwise output of ctags is undefined.
parameter field
If the field parameter is enabled, a tagfield parameter: is added on a parameter whose value can be overridden on an instantiated module, interface, or program. This is useful for a editor plugin or extension to enable auto-instatiation of modules with parameters which can be overridden.
$ ctags ... --fields-Verilog=+{parameter} ...
$ ctags ... --fields-SystemVerilog=+{parameter} ...
On the following source code tagfields parameter: are added on parameter P*, not on L*. Note that L4 and L6 is declared by parameter statement, but tagfields parameter: are not added, because they cannot be overridden.
"input.sv"
// compilation unit scope parameter L1 = "synonym for the localparam"; module with_parameter_port_list #(
P1,
localparam L2 = P1+1,
parameter P2)
( /*port list...*/ );
parameter L3 = "synonym for the localparam";
localparam L4 = "localparam";
// ... endmodule module with_empty_parameter_port_list #()
( /*port list...*/ );
parameter L5 = "synonym for the localparam";
localparam L6 = "localparam";
// ... endmodule module no_parameter_port_list
( /*port list...*/ );
parameter P3 = "parameter";
localparam L7 = "localparam";
// ... endmodule
"output.tags" with "--options=NONE --sort=no -o - --fields-SystemVerilog=+{parameter} input.sv"
L1 foo.sv /^parameter L1 = "synonym for the localparam";$/;" c parameter: with_parameter_port_list foo.sv /^module with_parameter_port_list #($/;" m P1 foo.sv /^ P1, $/;" c module:with_parameter_port_list parameter: L2 foo.sv /^ localparam L2 = P1+1,$/;" c module:with_parameter_port_list P2 foo.sv /^ parameter P2)$/;" c module:with_parameter_port_list parameter: L3 foo.sv /^ parameter L3 = "synonym for the localparam";$/;" c module:with_parameter_port_list L4 foo.sv /^ localparam L4 = "localparam";$/;" c module:with_parameter_port_list with_empty_parameter_port_list foo.sv /^module with_empty_parameter_port_list #()$/;" m L5 foo.sv /^ parameter L5 = "synonym for the localparam";$/;" c module:with_empty_parameter_port_list L6 foo.sv /^ localparam L6 = "localparam";$/;" c module:with_empty_parameter_port_list no_parameter_port_list foo.sv /^module no_parameter_port_list$/;" m P3 foo.sv /^ parameter P3 = "parameter";$/;" c module:no_parameter_port_list parameter: L7 foo.sv /^ localparam L7 = "localparam";$/;" c module:no_parameter_port_list
KNOWN ISSUES
See https://github.com/universal-ctags/ctags/issues/TBD.
SEE ALSO
ctags(1), ctags-client-tools(7)
| 5.9.0 |
