Tinymist Emacs Support for Typst
Run and configure tinymist in Emacs for Typst.
See Tinymist Features for a list of features.
To enable LSP, you must install tinymisttinymist. You can find tinymisttinymist by:
-
Night versions available at GitHub Actions.
-
Stable versions available at GitHub Releases.
If you are using the latest version of typst-ts-mode, then you can use commandtypst-ts-lsp-download-binarytypst-ts-lsp-download-binaryto download the latest stable binary oftinymisttinymistattypst-ts-lsp-download-pathtypst-ts-lsp-download-path. -
Build from source by cargo. You can also compile and install latest
tinymisttinymistby Cargo.
Above code adds tinymisttinymist downloaded by typst-ts-lsp-download-binarytypst-ts-lsp-download-binary, tinymisttinymist in your PATH and typst-lsptypst-lsp in your PATHPATH to the typst-ts-modetypst-ts-mode entry of eglot-server-programseglot-server-programs.
You can either use eglot-workspace-configurationeglot-workspace-configuration or specifying launch arguments for tinymisttinymist.
When working under power-saving mode or with resource-consumed projects, typst compilations costs too much CPU and memory resources. You can configure the extension to run in syntax only mode, i.e. stopping full document compilation and semantic analysis, while elementary tasks like syntax checking, syntax-level analysis (which keeps features like hover and definition working), and formatting still run, by setting the tinymist.syntaxOnlytinymist.syntaxOnly to enableenable or onPowerSavingonPowerSaving in the configuration.
For more information about power-saving mode, see Syntax-Only Mode.
For example, if you want to export PDF on save:
You can also have configuration per directory. Be sure to look at the documentation of eglot-workspace-configurationeglot-workspace-configuration by describe-symboldescribe-symbol..
See Tinymist Server Configuration for references.
For example:
You can run command tinymist help lsptinymist help lsp to view all available launch arguments for configuration.