Skip to content
Gonzalo Larumbe edited this page Sep 14, 2023 · 4 revisions

How it works

verilog-ext-mode sets the Imenu index creation function to verilog-ext-imenu-index:

(setq-local imenu-create-index-function #'verilog-ext-imenu-index)

This function is able to differentiate between RTL and class-based environments (see variable verilog-ext-file-allows-instances). For RTL environments it will find instances and functions/tasks. For class-based environments it will find classes and internal/external methods.

Frameworks

The enhanced Imenu index extracted by verilog-ext can be used by any completion framework, such as counsel-imenu, consult-imenu or helm-imenu.

imenu-list is a recommended package to visualize some level of nesting in verification environments (e.g. methods within classes).

verilog-ts-mode

verilog-ts-mode ignores the imenu function provided by verilog-ext and uses its own.

Known issues/limitations

For large files it could take a long time for verilog-ext to parse it completely and find instances, resulting in long load times.

verilog-ts-mode solves this issue since parsing is much faster and efficient.

Clone this wiki locally