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.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-2.0.1.tar.gz | 403.7 kB | Details |
Built distributions (wheels)
Total release size: 3.0 MB
Release files / tree_sitter_vhdl-2.0.1.tar.gz
| Download URL | tree_sitter_vhdl-2.0.1.tar.gz |
|---|---|
| Size | 403.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6ef787edfaf1c8d151de44706c1ef9e600e720806986c3eaea24cf30d835984d
|
|
BLAKE2b-256 checksum How to use checksums |
94953cd657691c145c0ab3fe21e8d836831fe5d5538de772e5af8185d455c4ec
|
| 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.1-cp310-abi3-win_arm64.whl
| Download URL | tree_sitter_vhdl-2.0.1-cp310-abi3-win_arm64.whl |
|---|---|
| Size | 202.8 kB |
| Tags | CPython 3.10 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
2cc0158cdf5b1176092c865ea26667a2a0ae466cd31a66d9a5f2186f02974068
|
|
BLAKE2b-256 checksum How to use checksums |
97d0079a70308ea7e03b1548fa2aa136eec1321f9951dafff819ea9b2619ab48
|
| 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.1-cp310-abi3-win_amd64.whl
| Download URL | tree_sitter_vhdl-2.0.1-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 203.4 kB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
e0fe0c861f5404a41758ff4a89e0b37bd3dcfa658547888736916a07a3474f85
|
|
BLAKE2b-256 checksum How to use checksums |
f48e8dc2ecfa7b3634cd5425b717e44c87033c43a0cb702e38fcf7a18e0e8ff6
|
| 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.1-cp310-abi3-musllinux_1_2_x86_64.whl
| Download URL | tree_sitter_vhdl-2.0.1-cp310-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 435.4 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
78a27af6925cdd8dab11d851d7b9c1ef68aed4d8ae454cf57bef12b38ae8ad3f
|
|
BLAKE2b-256 checksum How to use checksums |
27cc5420eae3b3cc22e869c56a1664f19d183291b7a40794dea15d39bff7e15a
|
| 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.1-cp310-abi3-musllinux_1_2_aarch64.whl
| Download URL | tree_sitter_vhdl-2.0.1-cp310-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 453.4 kB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
031193e08a550c4cb5a6d5cd10273349f944618e6723af78d4a79ec42ea81e75
|
|
BLAKE2b-256 checksum How to use checksums |
0612342ab805b8e1323b85f0e7d4a721a972dbc56d30429c075a901f2aeb33f4
|
| 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.1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tree_sitter_vhdl-2.0.1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 453.5 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
7acbcefad2800f8eeec9f1a5824d05fc5ae39d8e33989e5cae550f3a105b27b8
|
|
BLAKE2b-256 checksum How to use checksums |
c2b2abb46afa6f0e90affd191235d05af4cd4f23ae60d0c281f73137c274243a
|
| 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.1-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | tree_sitter_vhdl-2.0.1-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 437.3 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 |
f0e3b02968c862f29b0ce4b7015bd17924c61dd693d8fe7e9d5158a98d6ed3bc
|
|
BLAKE2b-256 checksum How to use checksums |
64560af0f1dbea1e2ff710b951b35d04cfecaff25d1c5e4c4c14da792ea8173c
|
| 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.1-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | tree_sitter_vhdl-2.0.1-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 219.5 kB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6684b24ee8f76b79957fb1a713ce49055c44c5d35ecd10bffffa6792efe2bb25
|
|
BLAKE2b-256 checksum How to use checksums |
8e0d291975bfa36077f9b9ee37dc923d3772f46c2d71f9df9160874750b93ae9
|
| 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.1-cp310-abi3-macosx_10_9_x86_64.whl
| Download URL | tree_sitter_vhdl-2.0.1-cp310-abi3-macosx_10_9_x86_64.whl |
|---|---|
| Size | 206.0 kB |
| Tags | CPython 3.10 abi3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
1b7b91c96fd43c74b6a828f6a72959af6b1cab44cab96402e092ca80b518fd21
|
|
BLAKE2b-256 checksum How to use checksums |
8544d5fa7f47ae33d52e1d466f7d608853fc511c2a31d071e4067c3a001b6809
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|