Skip to content

LSP Features

Standard Language Server Protocol features. None of these need configuration except where noted.

FeatureWhat it does
HoverKind, type, and documentation of the symbol under the cursor
Go to definitionJumps to the declaration
Find referencesAll uses of a symbol, including macros (`WIDTH at its `define or any use)
RenameRenames a symbol across all references. Keywords cannot be renamed
CompletionContext-aware suggestions; see Completion
Signature helpParameters while typing a call or a #(...) list; triggers on ( and ,
Workspace symbolsCase-insensitive substring search over modules and classes. Needs [design].vcode
Inlay hintsSee below
Folding rangesSee Folding

Cross-file features need the project indexed through a filelist. See Design & filelist.

Inlay hints

Inside each module instantiation, LazyVerilog shows the direction and type of every connected port, and an N/M count of connected ports at the opening parenthesis. Instances of modules from the filelist show hints once the background index is ready, so a file opened at startup may briefly show none.

toml
[inlay_hint]
enable = true

Folding ranges

toml
[folding]
enable = true

Neovim asks for folds and inlay hints on every edit. With enable = false the server answers with nothing. To stop the requests altogether, also set folding = false or inlay_hints = false in the Neovim setup().

Released under the MIT License. Themed with Catppuccin.