Awesome
Bluespec Classic Highlighting Support
This mode adapts the Haskell textmate grammar to Bluespec Classic to provide Bluespec Classic syntax highlighting in Visual Studio Code.
The extension is derived from https://github.com/JustusAdam/language-haskell
Syntax highlighting
Adds syntax highlighting support for Bluespec Classic (.bs
).
Also adds automatic indentation after where
, do
, ->
etc. and surrounding brackets ([]
, {}
etc)
Bugs
If you happen to notice bugs or have suggestions for improvements visit the issue section of the repository.
Themes
This extension provides TextMate scopes for use in syntax highlighting, but the colours displayed depend on the theme being used. Unfortunately many themes have incomplete support for the different TextMate scopes, and as a result different tokens can end up with identical colours.
For a theme that supports all the scopes provided by this extension, see the Groovy Lambda theme.
Contributing
This project currently uses the YAML-tmLanguage
format for language grammar.
The grammar can be found in the syntaxes
directory.
To generate JSON
grammars (which is the format VS Code expects), we use the Node package js-yaml
(requires npx
in PATH):
npx js-yaml bh.YAML-tmLanguage > bh.json
For testing, we use the Node package vscode-tmgrammar-test
.
To run the test-suite, simply call make test
.
This will build the grammar files and run vscode-tmgrammar-test
on all the files in the testsuite.
Local installation
First, install the JavaScript dependencies with
npm ci
To build the syntax rules and create the VSCode extension package, run
make
npm run package
Finally, you can install it either from the GUI or from the command line by running
code --install-extension ./language-bh-*.vsix
and then restarting VSCode.
To run the test suite, simply call make test
.
This can be called on a clean repository, as it does not require the package to be built.
It only needs the grammar files, which will be compiled if necessary.
It then runs vscode-tmgrammar-test
(installing the package in npx
if necessary)
on all the files in the test suite.