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.3
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.3.tar.gz | 405.2 kB | Details |
Built distributions (wheels)
Total release size: 3.0 MB
Release files / tree_sitter_vhdl-2.0.3.tar.gz
| Download URL | tree_sitter_vhdl-2.0.3.tar.gz |
|---|---|
| Size | 405.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c31e5ef7313834d96fddf45584f9a3c72c09c9e5cc427dddecb135a39f2793a7
|
|
BLAKE2b-256 checksum How to use checksums |
c7779fdf401e08d32903ca48b22504b7f337d23caa1c8cb536c40395509907df
|
| 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.3-cp310-abi3-win_arm64.whl
| Download URL | tree_sitter_vhdl-2.0.3-cp310-abi3-win_arm64.whl |
|---|---|
| Size | 203.5 kB |
| Tags | CPython 3.10 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
bae0d2894df998fe184a2059a2e1270ee86ec447ff079d5492af15b166cab2b3
|
|
BLAKE2b-256 checksum How to use checksums |
6ccae49d878f5ecf4c936e1fd7f9ec47dc5afe4b7e08a906c7e76fa231c4a3ad
|
| 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.3-cp310-abi3-win_amd64.whl
| Download URL | tree_sitter_vhdl-2.0.3-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 204.0 kB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
d436c01f0fe5eb83d7161d56a3a7e33d22ecce1f089993a653df7e263c66e626
|
|
BLAKE2b-256 checksum How to use checksums |
e0da7de44f030228c5fcfeb2b8b259d397568fe113db264d921505b6e9d902d2
|
| 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.3-cp310-abi3-musllinux_1_2_x86_64.whl
| Download URL | tree_sitter_vhdl-2.0.3-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 |
be6f3416d9729eb9f9b609b868133ec7847a887ea9145231d4f1f1ac00f87a42
|
|
BLAKE2b-256 checksum How to use checksums |
70b7630b505b738b7ab1fd7e2182a96c536e17e67c633eca991b0555e5a79b11
|
| 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.3-cp310-abi3-musllinux_1_2_aarch64.whl
| Download URL | tree_sitter_vhdl-2.0.3-cp310-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 454.0 kB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
6ff45e49db21fe8ea88da1bfc81ea876bc3bf45b03deb8fe8756e5b7d7cefe82
|
|
BLAKE2b-256 checksum How to use checksums |
a75b1815b7c84e7c7f80230c7b2d89f0d097b466515510d24ec170e6a9c11a12
|
| 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.3-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | tree_sitter_vhdl-2.0.3-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 |
0b568f952b8dcc318170cc1f3670c8a8164fc4925a6b5ec4e6285d1409c2349b
|
|
BLAKE2b-256 checksum How to use checksums |
82f424d52f65bd776d55ad20dc4431ddbedd7e538b29aac09f331548c9059c6b
|
| 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.3-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | tree_sitter_vhdl-2.0.3-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 |
41ca563c95c4c73b9339ce84c3926070e0880f472e6fd2caf93d17cd5ef7d01f
|
|
BLAKE2b-256 checksum How to use checksums |
44630a6fa62d092562e2b6b85990f56393bc1c24a3a6919a9daa40d77e99c1f7
|
| 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.3-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | tree_sitter_vhdl-2.0.3-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 220.2 kB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
61eb610c999cdc8b8e4a6b6822471b4fcf80a6abeb19ee516779a89bb5504c02
|
|
BLAKE2b-256 checksum How to use checksums |
72717384c37a1173943c18cc36547c2c435ed7f7fd077837476b62b156461f81
|
| 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.3-cp310-abi3-macosx_10_9_x86_64.whl
| Download URL | tree_sitter_vhdl-2.0.3-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 |
f25273dae8b52523578d552f712b8db74f6a17f7a4e0687a25df9f2b74be7aa8
|
|
BLAKE2b-256 checksum How to use checksums |
8780ec803e413142127b29cdcb9a0d758544c16573c7fdb56ae2d9475c3e4ac1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|