Skip to content
Cayetano Santos edited this page Jul 7, 2019 · 22 revisions

Table of Contents

Headings

Following the status of the vhdl-tools-use-outshine flag (off by default), when the mode is enabled, VHDL-tools will activate outshine-mode, setting locally vhdl-tools-outline-regexp as the regexp used to locate headings.

This enables using this kind of headings to delimit code blocks.

-- * Header Level 1

  -- ** Header Level 2

  MyInstance : MyComponent
  port map ( ...

In order to outshine to deal correctly with indented headings, it is necessary to comment out line 989, and uncomment line 991 in outshine.el. This may be done instead with help of this piece of advice

(defadvice outshine-calc-outline-level (around titi activate)
  (flet ((outshine-calc-outline-regexp () outline-regexp))
    ad-do-it))

Setting vhdl-tools-manage-folding (off by default) to true will allow auto folding upon jumping. Then, call outshine-speed-command-help to get an overview over the available functionality and the keybindings.

More generally, check relevant section of the the provided example configuration file for a more advanced configuration of outshine.

Finally, to browse all headings use imenu as shown in next section.

Custom Imenu

The following keybinds are made available to browse current buffer contents

C-x c i m   - standard imenu
C-x c i i   - instances
C-x c i c   - components
C-x c i p   - processes
C-x c i h   - headings (with a prefix argument use ido instead)
C-x c i a   - all items

Jumping around

The following keybinds are available only when vhdl-tools--ggtags-available is auto set, that’s to say, when required packages are installed and available.

vhdl-tools-goto-type-def (C-c M-D) - jumps to the definition of symbol at point

vhdl-tools-jump-into-module (C-c M-.) - jumps into the instance at point and move point to current signal

vhdl-tools-jump-upper (C-c M-u) - jumps to upper hierarchy level

Cursor will jump to the target if there is one, searching packages too. The ring mark is push after jumping, so to get back, press C-c C-p or M-, (default binds under ggtags ) if corresponding definition has been found. Works better for files with correct syntax: think vhdl-beautify-buffer before using VHDL-tools.

Links

C-c M-w - store a link
C-c M-y - paste a link
C-c M-j - follows the link at point

Misc

vhdl-tools-beautify-region (C-c M-b) - beautify current block (module, etc.)
vhdl-tools-getto-first (C-c M-a) - moves point to first appearance of symbol at point

Clone this wiki locally