SuperHTML: A HTML Language Server

If you open VSCode, create a new HTML file and type </span> (i.e. close a tag that was never opened), you won’t get any diagnostic error.

I wrote an HTML language server that reports diagnostics of that kind and offers autoformatting a-la-zig-fmt (e.g. you can make it align attributes vertically by adding a space between the last attribute and the >).

First release, autoformatting and diagnostics should work but lots of stuff missing and plenty of code still a bit untested :^)

Contributions to the LSP side of things very welcome as I’m first going to integrate my custom made HTML parser into Zine (static site generator) and will only return to actively polish the LSP later on.

Code & prebuilt exe downloads:

VSCode extension (you will also need to get manually the super executable from above):

Last but not least, the super fmt subcommand doesn’t require LSP support in your editor.

I wrote this because I needed to write an HTML parser from scratch for Zine

13 Likes