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 2.0.2
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-2.0.2.tar.gz | 405.2 kB | Details |
Built distributions (wheels)
Total release size: 3.0 MB
Release files / tree_sitter_vhdl-2.0.2.tar.gz
| Download URL | tree_sitter_vhdl-2.0.2.tar.gz |
|---|---|
| Size | 405.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e922a413be5a42a13fa63a1a013b09bbb2ad1b9a60c1d5c9f0661530e1fb9904
|
|
BLAKE2b-256 checksum How to use checksums |
9444fea2489544aa2d384ad6a1be738e237da423d951c7639aa677397326ff43
|
| 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-2.0.2-cp310-abi3-win_arm64.whl
| Download URL | tree_sitter_vhdl-2.0.2-cp310-abi3-win_arm64.whl |
|---|---|
| Size | 203.5 kB |
| Tags | CPython 3.10 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
ddb6b1da58205ad13bf9f950088ce980d6a482c570a9eb0e4f100febf010458b
|
|
BLAKE2b-256 checksum How to use checksums |
ffface72453b502a685c3e2ce75b0f113bf16d2b464a94e5c42148806b3f57ea
|
| 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-2.0.2-cp310-abi3-win_amd64.whl
| Download URL | tree_sitter_vhdl-2.0.2-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 204.0 kB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
000808b8d5a15c956a531ea4888eea3602b78daa099e44570cb60b61a94be09f
|
|
BLAKE2b-256 checksum How to use checksums |
6c50af61acae9e8c77a53f706496172c4ef998a91a021f32efcdba13185beb26
|
| 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-2.0.2-cp310-abi3-musllinux_1_2_x86_64.whl
| Download URL | tree_sitter_vhdl-2.0.2-cp310-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 436.0 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
a1fc059e7837ab89e7f4d084bc2d387ba9bb7d22ba2ad4b0cd060720a180a420
|
|
BLAKE2b-256 checksum How to use checksums |
e23fb2ba5b62ab8cc8ffe1ea5964f8f5eb097497100b06a58f3eebbf8866e0f4
|
| 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-2.0.2-cp310-abi3-musllinux_1_2_aarch64.whl
| Download URL | tree_sitter_vhdl-2.0.2-cp310-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 453.9 kB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
98695078150b3e58fb8bff1191da9d9086e5e50ad5b9756a796a93f20d50509a
|
|
BLAKE2b-256 checksum How to use checksums |
9c2e690408cab2d71c317ac5c61731d734e08c22aa77dcf16550776a4ec26efa
|
| 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-2.0.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tree_sitter_vhdl-2.0.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 454.2 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
ceb9fe1e6505ea1b5c336723532943e55a561965bbec53d22d4535e4533285b7
|
|
BLAKE2b-256 checksum How to use checksums |
e9d0a13e37425f01915d3ae375dde4ecfa861b94a6c018a137a0cf45b237b49c
|
| 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-2.0.2-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | tree_sitter_vhdl-2.0.2-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 437.8 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 |
ae55f6c4974e1fe6b277fd2e6164b91c2599d32d7a160c31fa165e5bcb4e9cc6
|
|
BLAKE2b-256 checksum How to use checksums |
8ec6ae9c93c0a9810759590f544ea2a20600ddeea45d96b2d594d24b08dbea5e
|
| 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-2.0.2-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | tree_sitter_vhdl-2.0.2-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 220.1 kB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c48494276a24a32f05f9340d9782d7faba5154c309707bdc29ceda2fe9ab23a0
|
|
BLAKE2b-256 checksum How to use checksums |
4eaddfab9357b26663d0a235f708b9c90c539a1874a378d2323682e2beb30439
|
| 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-2.0.2-cp310-abi3-macosx_10_9_x86_64.whl
| Download URL | tree_sitter_vhdl-2.0.2-cp310-abi3-macosx_10_9_x86_64.whl |
|---|---|
| Size | 206.7 kB |
| Tags | CPython 3.10 abi3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
46762e2baeb1e9be09a065b1cde3fe04d61f34240153e8acdde5dd910e51bec1
|
|
BLAKE2b-256 checksum How to use checksums |
ac5f8ba94f72ef461c44654b844aa2e21d15c1911ecc701f41941cc57a22e379
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|