A VHDL parser for syntax highlighting.
Neovim, using nvim-treesitter and a Catppuccin colour scheme:

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.
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.
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.
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,
},
},
},
})
This parser has been merged into the official Helix repo, so it should work out of the box.
npm install --save-dev tree-sitter-clinode_modules/.bin to your environment pathautogen directory, run py gen_token_trie.py
(only required after updating the token lists within autogen)tree-sitter generatetree-sitter testContributions are welcome. Read Contributing.md for more information.
C++
77.1%
VHDL
10.6%
JavaScript
4.5%
Python
3.6%
C
2.1%
Tree-sitter Query
1.6%
A VHDL parser for syntax highlighting.
Neovim, using nvim-treesitter and a Catppuccin colour scheme:

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.
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.
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.
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,
},
},
},
})
This parser has been merged into the official Helix repo, so it should work out of the box.
npm install --save-dev tree-sitter-clinode_modules/.bin to your environment pathautogen directory, run py gen_token_trie.py
(only required after updating the token lists within autogen)tree-sitter generatetree-sitter testContributions are welcome. Read Contributing.md for more information.
C++
77.1%
VHDL
10.6%
JavaScript
4.5%
Python
3.6%
C
2.1%
Tree-sitter Query
1.6%