Skip to content

Requirements

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

Binaries

vhdl-ext makes use of several binaries as backend engines to support IDE-like functionality.

List of required binaries:

  • Definitions and references navigation: global, gtags, universal-ctags, python, pygments
  • Jump to parent entity: ag, ripgrep
  • Linting: ghdl, vhdl_lang, vhdl-tool
  • LSP: vhdl_ls, ghdl-ls, vhdl-tool, hdl_checker

For information on how to install/configure some of these binaries refer to the corresponding feature wiki page.

You can also check Bash script test-hdl/vhdl/scripts/setup-env.sh used in ERT regressions.

vhdl-ts-mode

Installing vhdl-ext through package.el or straight will install automatically vhdl-ts-mode since it is a dependency.

It will still be needed to install tree-sitter and VHDL grammar to use tree-sitter as a backend for some vhdl-ext features.

vhdl-ts-mode has instructions about how to set up tree-sitter:

Packages

These should be handled automatically by straight or package.el.

If you want more information about these packages to change customization or extend functionality refer to their respective websites:

  • vhdl-ts-mode: VHDL tree-sitter major-mode
  • eglot: language server protocol client, bundled with Emacs 29
  • lsp-mode: language server protocol client
  • ag: frontend for the silversearcher, used to find parent entity
  • ripgrep: frontend for ripgrep, used to find parent entity
  • hydra: tie related commands into a family of short bindings with a common prefix, used for templates
  • flycheck: syntax checker for linters
  • outshine: extension of outline-minor-mode used to navigate design hierarchy
  • async: module for doing asynchronous processing in Emacs
Clone this wiki locally