Bluespec for VS CodeThis 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. Features
Sophisticated HighlightingDevelopers 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 scratch. 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 EngineThis 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 Future FeaturesCurrently, 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. Here are some ideas for future features, written in more detail in the Language ServerOne 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, or implement traditional IDE features like Writing a high-quality Language Server for Bluespec is my MEng project. I'm starting it in Spring 2024 and hoping to get a good enough core where I can begin to take on UROPs in Fall 2024. I plan on writing it in Rust due to its community of language server developers. SnippetsYes! We're missing many snippets beyond BackgroundIf 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 try and write a phenomenal extension for VS Code. FeedbackI'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. See Also
Known IssuesSee the |