Skip to content

Navigation

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

Navigate instances inside an entity

The following functions are defined for instance navigation:

  • vhdl-ext-find-entity-instance-fwd: C-M-d
  • vhdl-ext-find-entity-instance-bwd: C-M-u

Jump to definition/references of entity at point

If point is inside an entity instantiation, it is possible to navigate to its definition or references:

  • C-c M-. vhdl-ext-jump-to-entity-at-point-def
  • C-c M-? vhdl-ext-jump-to-entity-at-point-ref

This functionality requires setting up a backend for xref and add it to xref-backend-functions. This can be done in three ways:

  • Configuring builtin xref backend (see link)
  • Configuring LSP (see link)
  • Configuring global and ggtags-mode
    • Requires installation of global, ctags (for definitions) and python/pygments (for references).
      # For Ubuntu/Debian systems
      sudo apt-get install global universal-ctags python3-pygments
    • Find complete installation and configuration information here

Jump to parent entity

Running vhdl-ext-jump-to-parent-entity (C-M-.) will run ag or ripgrep, depending on the value of vhdl-ext-jump-to-parent-entity-engine, and will try to find instantiations of current file entity definition on current project.

To install ag:

  • For Ubuntu/Debian:
sudo apt-get install silversearcher-ag

For ripgrep you need to install a version that supports PCRE2:

  • For Ubuntu/Debian the one available via apt-get on default PPAs might not have PCRE2 enabled. Therefore the command below is recommended:
$ curl -LO https://github.com/BurntSushi/ripgrep/releases/download/13.0.0/ripgrep_13.0.0_amd64.deb
$ sudo dpkg -i ripgrep_13.0.0_amd64.deb
Clone this wiki locally