Tree-sitter-vhdl
A VHDL parser for syntax highlighting.
References
- VHDL-2000
- VHDL-2008
- VHDL-2019
- VHDL Packages
- VHDL Library Files (search for "1076")
- VSCode Modern VHDL
Screenshots
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.
History
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.
Limitations
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
Neovim Setup Process
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.
You can also use tree-sitter-manager instead, in which case it is recommended to configure as follows:
require("tree-sitter-manager").setup({
ensure_installed = {
-- ...
'vhdl',
-- ...
},
languages = {
vhdl = {
install_info = {
url = 'https://github.com/jpt13653903/tree-sitter-vhdl',
revision = 'master',
queries = 'queries/Neovim',
use_repo_queries = true,
},
},
},
})
Helix Setup Process
This parser has been merged into the official Helix repo, so it should work out of the box.
Building
- Follow the instructions here to setup your development environment.
- Run
npm install --save-dev tree-sitter-cli - Add
node_modules/.binto your environment path - From within the
autogendirectory, runpy gen_token_trie.py(only required after updating the token lists withinautogen) - Run
tree-sitter generate - Run
tree-sitter test
Contributing
Contributions are welcome. Read Contributing.md for more information.
Metadata
Release files for tree-sitter-vhdl 1.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tree_sitter_vhdl-1.5.1.tar.gz | 396.9 kB | Details |
Built distributions (wheels)
Total release size: 3.0 MB
Release files / tree_sitter_vhdl-1.5.1.tar.gz
| Download URL | tree_sitter_vhdl-1.5.1.tar.gz |
|---|---|
| Size | 396.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
93ea79bb4edfe42cfb567395cc15d0c7535fcbd3d81b890053b1bb302ad3a72a
|
|
BLAKE2b-256 checksum How to use checksums |
83f1e1dcf3d5f9ba761c6699ef4c7a731096e3315ec667b9591ad45f7c72853c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_vhdl-1.5.1-cp310-abi3-win_arm64.whl
| Download URL | tree_sitter_vhdl-1.5.1-cp310-abi3-win_arm64.whl |
|---|---|
| Size | 200.7 kB |
| Tags | CPython 3.10 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
9a9038633ed29611f0103f6859ab5825cc8f581052d97aa1c08a1390556dac4f
|
|
BLAKE2b-256 checksum How to use checksums |
fb743b45d2a62081e39d546567e9b59d6c6a1ba457094434ab5bb345064369c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_vhdl-1.5.1-cp310-abi3-win_amd64.whl
| Download URL | tree_sitter_vhdl-1.5.1-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 201.4 kB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
bfb6d053d4b5d1a82895f79f77f8e5694bed4fe6da404ba176875cee60dff50f
|
|
BLAKE2b-256 checksum How to use checksums |
744165a157b09b688f8e49f45021a9b8af1a9d568c04a9e17717c43b85f4f334
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_vhdl-1.5.1-cp310-abi3-musllinux_1_2_x86_64.whl
| Download URL | tree_sitter_vhdl-1.5.1-cp310-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 432.9 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
e2bb1da827e7fb5aab0c2d1dc189cb5e73f5ab3d5589da1cd8966000049b3b35
|
|
BLAKE2b-256 checksum How to use checksums |
0342cebb6c7553a5fb711680c7d31dd3c0de4a8e435825b76c77641238722d0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_vhdl-1.5.1-cp310-abi3-musllinux_1_2_aarch64.whl
| Download URL | tree_sitter_vhdl-1.5.1-cp310-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 450.8 kB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
e07fcdcad6ff9af48e42754bd7eaedafb366eda304a5356a3ddd2606b98c970a
|
|
BLAKE2b-256 checksum How to use checksums |
043d0cfb8fb7ca3adb5a4d438a0a853a2bd076c435e25cfaa60856205d2d80fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_vhdl-1.5.1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tree_sitter_vhdl-1.5.1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 451.9 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
bb7c507d4a2a6f228b8ccc449cd5bbc2ec4b948f198809c8b5be1b45f4950a82
|
|
BLAKE2b-256 checksum How to use checksums |
d1504945d06788da7cac7f26bea60660a16eb9a1d17dc1611d7f4416a2bd647f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_vhdl-1.5.1-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | tree_sitter_vhdl-1.5.1-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 435.1 kB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
af7ade01b03d08037b954a32ead8f230a80376cd3255fabe9d7a0a33a3f2baae
|
|
BLAKE2b-256 checksum How to use checksums |
b89a29462fd3a3789cb5a47543a4c4154e2afb69e6aa84eb399db35b5b3a4541
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_vhdl-1.5.1-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | tree_sitter_vhdl-1.5.1-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 217.1 kB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7672aeedbef2436954063ea86d7848842cf73743ecaaa9ee52ab417a45cad542
|
|
BLAKE2b-256 checksum How to use checksums |
5fbec4998ff697da1bcb16a1db281cefd637388b0a3da2132b6b14a7d8978cbb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tree_sitter_vhdl-1.5.1-cp310-abi3-macosx_10_9_x86_64.whl
| Download URL | tree_sitter_vhdl-1.5.1-cp310-abi3-macosx_10_9_x86_64.whl |
|---|---|
| Size | 203.6 kB |
| Tags | CPython 3.10 abi3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
3b140db7ad56bf3780da7126410c9c908101e67c432e18f26f2cf3188ce582ae
|
|
BLAKE2b-256 checksum How to use checksums |
3257e5cf156ec40a18fa2858238140d525dba1a286fa4850b8493c82c18c05ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|