A VHDL parser for syntax highlighting.
- VHDL-2000
- VHDL-2008
- VHDL-2019
- VHDL Library Files (search for "1076")
- VSCode Modern VHDL
Neovim, using nvim-treesitter and a Catppuccin colour scheme:
Other colour schemes
Neovim, using nvim-treesitter and a Tokyo Night colour scheme:
Neovim, using nvim-treesitter and a One Dark colour scheme:
If you'd like your favourite colour scheme to be listed here, issue a PR with a new screenshot of the screenshot example in the same style and composition as the other screenshots.
This version started off as a fork of alemuller/tree-sitter-vhdl, but ended up as a complete rewrite of the parser and highlighting scripts. It has very little in common with the original.
This parser uses a simplified grammar, because the full formal grammar in the VHDL standard is highly ambiguous without compiling the entire code-base into a symbol table. In many cases, invalid syntax will parse into a valid tree.
For the same reason, there might be cases where valid syntax does not map to a valid tree. In this case, please log a bug report.
In addition, the following features are not implemented, and are considered outside the scope of this project.
- IEEE Property Specification Language
- VHDL Procedural Interface
This parser has been merged into the official nvim-treesitter, so it should work out of the box after adding it to the list of languages to install.
This parser has been merged into the official Helix repo, so it should work out of the box.
- Follow the instructions here to setup your development environment.
- Run
npm install --save-dev tree-sitter-cli
- Add
node_modules/.bin
to your environment path - Run
tree-sitter generate
- Run
tree-sitter test
Contributions are welcome. Read Contributing.md for more information.