Bluespec for VS Code
This extension for VS Code offers high-quality syntax highlighting for Bluespec and Minispec on par with syntax highlighting for mainstream programming languages.
Suitable for all Bluespec use cases, including research, education, and industry.
Check out my other work at https://martinchan.org/.
Not affiliated with Bluespec Inc.
Developers have long grown accustomed to the fantastic syntax highlighting available for mainstream languages like Python, C, Java, and TypeScript.
If something's worth doing, it's worth doing right. I built this extension from the ground up with an intense eye for detail and rigor. For the first time, high-quality syntax highlighting is now available for Bluespec on VS Code.
The syntax highlighting has been thoroughly tested against the most complex Bluespec available to make sure it's capable of handling whatever Bluespec you write.
The tokens have also been carefully selected to be consistent with syntax highlighting standards across languages, allowing you to reuse what you know from other programming languages.
Action Analysis Engine
This syntax highlighter takes it one step further and distinguishes between actions and functional pieces of code, helping you debug Bluespec faster.
With one glance, you can see what portions of your Bluespec are responsible for state change, and which ones are purely functional. I also discuss the concepts underlying this in a post about my Bluespec lexer for Rouge.
Remember that whether a method performs an
I'm unlikely to add new features until I find employment, and only then if I'm working in Bluespec. Here are some ideas for future features, written in more detail in the
Currently, there isn't much other than syntax highlighting. In terms of the possibilities, VS Code provides a significant number of contribution points that allow an extension developer to significantly boost the productivity of their users.
Yes! We're missing many snippets beyond
One thing I've been eyeing is using Bluespec Compiler internals with the VS Code language server extension framework to provide useful information to the developer even before compilation. We could embed scheduling information directly into the editor.
If you're using Bluespec (or Minispec) for class, congratulations! I was first introduced to Bluespec through Daniel Sanchez's Minispec when I took 6.004 (now 6.191) as a sophomore at MIT in Fall 2021. Then I really got into Bluespec when I took 6.192 my senior year in Spring 2023 with Arvind and the spectacular Thomas Bourgeat, who's now teaching at EPFL.
I made this extension because the available syntax highlighting for Bluespec on VS Code was really bad. I used VS Code to write Bluespec for 6.192 and a summer project afterward.[^6.004] The syntax highlighting at the time was only one step above nothing.
[^6.004]: When I took 6.004, I didn't know I could
The Bluespec community is rather small, so once I gained some confidence from writing my Bluespec lexer for Rouge, I took it upon myself to write a phenomenal extension for VS Code.
I'm interested in hearing about syntax highlighting bugs, usability issues, and snippet and feature requests. I don't know how fast I'd fix them, but I'd like to hear about them.
And if you enjoy using this extension, please drop a review or send me a message.
I'm unlikely to fix any issues or add any features unless I become employed (either in academia or industry) somewhere that uses Bluespec. Nevertheless, I'm tracking them just in case.