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.0
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.0.tar.gz | 400.4 kB | Details |
Built distributions (wheels)
Total release size: 3.0 MB
Release files / tree_sitter_vhdl-2.0.0.tar.gz
| Download URL | tree_sitter_vhdl-2.0.0.tar.gz |
|---|---|
| Size | 400.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e230407d28e4ce6ca203c925fc98e8744427541e9024ff73dc7b0edf53e5aa21
|
|
BLAKE2b-256 checksum How to use checksums |
943f9cd05e106174eb71d8be154de80b619a58d42cb9a13e0a04137af44c3edf
|
| 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.0-cp310-abi3-win_arm64.whl
| Download URL | tree_sitter_vhdl-2.0.0-cp310-abi3-win_arm64.whl |
|---|---|
| Size | 201.0 kB |
| Tags | CPython 3.10 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
d10f4a17d8720be826b0adf62c76524fa0c0e8cfc8e856ecdf880e764e3a2338
|
|
BLAKE2b-256 checksum How to use checksums |
38cb2e5f496e32e96523110b0dafa473942770203e8bb658fc848ae7d9513a6b
|
| 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.0-cp310-abi3-win_amd64.whl
| Download URL | tree_sitter_vhdl-2.0.0-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 201.5 kB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
cd8d377676ff663657bfecc9f92cb8d263aac2a041356d304345caa2b57725c0
|
|
BLAKE2b-256 checksum How to use checksums |
66781db67d801c2cd9be1a2561858df7b9e71efed03b303e3fb99651b29b0b76
|
| 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.0-cp310-abi3-musllinux_1_2_x86_64.whl
| Download URL | tree_sitter_vhdl-2.0.0-cp310-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 433.1 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
406238803ec1a9583908e868ce68d168f0c7ea3f0c67ade3a5566fa05a25c936
|
|
BLAKE2b-256 checksum How to use checksums |
18792de5cd8eacac98ffce2a91f44731c5ce48a758675416f37e9f9f664c0828
|
| 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.0-cp310-abi3-musllinux_1_2_aarch64.whl
| Download URL | tree_sitter_vhdl-2.0.0-cp310-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 451.1 kB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
a4c82eea9d94c473d5015adbb4dd2933a63fb25f0b2dd22658a886cc66c336d7
|
|
BLAKE2b-256 checksum How to use checksums |
49efbc40072b6b69f1b26c42958bf4dcde680e02cb7e117d5335bd5e97820f0b
|
| 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.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tree_sitter_vhdl-2.0.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 452.1 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
d84d294c5b7e66677a2ee796a0094c74725ec5e4454e738b645fdd8c3a920907
|
|
BLAKE2b-256 checksum How to use checksums |
75a8d88924ca0c4b88194642bda8008bf10c940336214cbe306cfbfffee8babb
|
| 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.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | tree_sitter_vhdl-2.0.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 435.4 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 |
ae47bd937c74a6eab2f9e44d318a48512d75714473194dffa33474167d962676
|
|
BLAKE2b-256 checksum How to use checksums |
da77164650ab16b7dd53ac950536d1f6e60e2079fe8f66a7147db4bdacdd6a8e
|
| 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.0-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | tree_sitter_vhdl-2.0.0-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 217.4 kB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
25dae16a104e9cba1e2acd26bd80328d54e2daa064c6e5817e02b674c39ef0eb
|
|
BLAKE2b-256 checksum How to use checksums |
3706f8d7d122656a8e9208f2285057090c7b29cfd8dc2ba4ea439b21b590386e
|
| 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.0-cp310-abi3-macosx_10_9_x86_64.whl
| Download URL | tree_sitter_vhdl-2.0.0-cp310-abi3-macosx_10_9_x86_64.whl |
|---|---|
| Size | 203.9 kB |
| Tags | CPython 3.10 abi3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
c0646d423040e4b29332aceb991c1b4ada838026008547f58a401d899b3d5443
|
|
BLAKE2b-256 checksum How to use checksums |
51abf7fb3166855635aa3b8ba79bb363858f171bf3208b9c79b100766c0512d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|