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

This project provides support under Emacs in terms of navigation of VHDL sources.

Source code, tar and zip.

Table of Contents

About

VHDL-tools originates as a collection of missing, necessary functionalities to my workflow. It provides an extra layer in the form of two minor modes, vhdl-tools-mode which completes the default emacs vhdl-mode and vhdl-tools-vorg-mode which lies on top of the powerful org-mode. It adds vhdl-specific functionality based on packages as ggtags, helm, imenu and outshine to ease navigating vhdl sources.

VHDL-tools expects a working setup of ggtags, completing it with

  • Jumping into instances
  • Jump to upper level
  • Searching for references
  • Link and headings management
  • Custom use of imenu
  • Org / vhdl coupling

Related utilities

Some additional emacs packages useful in this context

smart scan
Jumps between other symbols found at point in Emacs
beacon
A light that follows your cursor around so you don’t lose it
aggressive-indent-mode
Emacs minor mode that keeps your code always indented. More reliable than electric-indent-mode
VDHL capf
Emacs completion at point function (capf) backend for use with company
toc-org
Up-to-date table of contents in org files
helm navi
When using outshine
poporg
Tool for editing comments in any text mode
org-link
Display org-mode style bracket links in non-org-mode buffers

Coding

Sparse list of projects intended at improving coding

Example configurations

For a basic, example configuration see this; my personal setup is here. Basically, I just update the load path and declare vhd files to be open in vhdl-tools-mode. Then, when the libray is loaded, I customize its behaviour, including not only vhdl-tools related features but additional useful code.

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/gpl.html.

Clone this wiki locally