PICO-8 language server for Helix
Been working on this one PICO-8 game on and off for like five years now. Having switched to Helix since the last time I touched it, I needed to set up the PICO-8 language server for Helix first. It felt like nobody had glued together this combination of tools before.
A
very useful comment
on a GitHub issue thread about Neovim integration was the magic ingredient.
After carrying out the suggested steps there and hooking it up inside
~/.config/helix/languages.toml I was in business.
You can see my full dotfiles commit adding the necessary languages.toml
entries over on Codeberg at
d7a2c21.
In case Codeberg's down (usually due to DDoS by crawlers belonging to AI
startups) the TOML is as follows.
[[language]] name = "lua" file-types = ["p8"] language-servers = ["pico8-ls"] [language-server.pico8-ls] command = "pico8-ls"
Gamedev in PICO-8 and text editing in Helix have a similar kind of vibe. It's the creative limitations thing I think. Being within a somewhat limited platform encourages you to focus on your own creative output instead of becoming distracted by the infinite possibilities of a perfectly flexible context.
And now hopefully that Google results page will be better for the next person who comes along researching how to do this. Something tells me the intersection of PICO-8 devs and Helix users is a crowd who are relatively more interested in solving problems through research and understanding rather than vibecode spray-and-pray so this feels like an appropriate kind of How I Fixed X blog post for keeping the Old Ways alive.