Thanks to a tip-off by a friend, I recently switched over from
Prism
to a plugin called
gatsby-remark-vscode
,
which uses VS Code’s highlighting engine to perform syntax highlighting on during
build-time. Aside from the performance benefit from not having to execute
PrismJS, VS Code’s engine is a lot more powerful and sophisticated. You can read
more about its benefits in the README.
gatsby-remark-vscode
also supports adding plugins from the VSCode ecosystem,
which means having access to the full unlimited range of VS Code themes and
syntax highlighting plugins for uncommon languages.
This came in useful when I had to support syntax highlighting for Haskell and Erlang.
I managed to find the correspoding VS Code plugins, kindly authored by JustusAdam for Haskell and pgourlain for Erlang.
However, they both had custom postinstall
steps which did not allow them to be
installed properly. There’s a npm install --ignore-scripts
that you can use,
but it will affect all packages as well, which I didn’t want.
I ended up forking the
repos and removing the
postinstall
steps. I don’t expect to have to keep up to date with upstream
much since this is just syntax highlighting, so this way suits me just fine.
Run:
npm install siawyoung/language-haskell siawyoung/vscode_erlang
then add the extensions to your gatsby-remark-vscode
configuration:
extensions: ["language-haskell", "erlang"],