pico8-mode is a major mode for Emacs which supports PICO-8 .p8 file code editing. It’s based on lua-mode.
- Sets a dimmer color for non-Lua sections of the .p8 file
- Offers basic auto-complete
- Supports company-mode and completion-at-point
- Completes PICO-8 builtins, functions, variables and arguments with some scoping
- Navigation with xref
- Documentation with eldoc
- If PICO-8 manual path is set, then it shows builtin documentation from there.
- Renders sprites and labels inline in the buffer.
For now do an manual installation, as it’s not in MELPA.
Customization variables are available at group pico-8.
For documentation lookup to work, set pico8-documentation-file to an absolute path to “pico-8.txt” which is included with PICO-8. After setting this variable, run pico8-build-documentation function to force a rebuild. This happens automatically when the mode is loaded.
To be able to run PICO-8 from Emacs, set the pico8-executable-path variable
to the pico8
executable. E.g. ~/Downloads/pico-8/pico8
. Call
pico8-run-cartridge and pico8-kill-process respectively.
- lua-mode
- Emacs >= 25.1 (tested with 26)
This mode uses some internal functions from lua-mode, which means that it might fail if lua-mode updates in an incompatible way.