Zine

Editor Support

Zine uses three languages that you will want to add support for in your editor:

There are two main components for each that you will want to setup:

Both Tree Sitter grammars and prebuilt releases of each language’s CLI tool are available at the links above, but first make sure to follow the instructions specific to your editor.

Note

The SuperHTML CLI tool is also a language server for regular HTML files.

Troubleshooting

If you encounter issues while setting up your editor, join the community and ask for help.

Ziggy Schemas

When you run zine init, Zine will add two files:

These hidden files contain the schema that the Ziggy LSP will be able to use to provide code intelligence features.

To create these files in a pre-existing project, or to update them when updating Zine version, run zine update.

Editors

VSCode

VSCode extensions don’t require you to install the Ziggy CLI tool as they will use an internal WASM build of the language server.

Neovim

See the Neovim dedicated page.

Helix

See the Helix dedicated page.

Flow Control

Flow Control has native support for all Zine file formats.

You will want superhtml, marksman and prettier installed and available in your PATH to enable LSP and formatting support.

Emacs

See the Emacs dedicated page.

GNOME Builder

SuperBuilder provides extensions for SuperHTML and SuperMD.

Other editors

Any editor that supports Tree Sitter for syntax highlighting and the Language Server Protocol can be setup to support Ziggy, SuperMD, and SuperHTML.

We welcome contributions that add support for Zine file formats to editors (or just instructions of how to perform manual setup).