|
|
||
|---|---|---|
| .. | ||
| README.md | ||
Tinymist Emacs Support for Typst
Run and configure tinymist in Emacs for Typst.
Features
See Tinymist Features for a list of features.
Finding Executable
To enable LSP, you must install tinymist. You can find tinymist 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-binaryto download the latest stable binary oftinymistattypst-ts-lsp-download-path. -
Build from source by cargo. You can also compile and install latest
tinymistby Cargo.cargo install --git https://github.com/Myriad-Dreamin/tinymist --locked tinymist-cli
Setup Server
(with-eval-after-load 'eglot
(with-eval-after-load 'typst-ts-mode
(add-to-list 'eglot-server-programs
`((typst-ts-mode) .
,(eglot-alternatives `(,typst-ts-lsp-download-path
"tinymist"
"typst-lsp"))))))
Above code adds tinymist downloaded by typst-ts-lsp-download-binary, tinymist in your PATH and typst-lsp in your PATH to the typst-ts-mode entry of eglot-server-programs.
Extra Settings
Configuring Language Server
You can either use eglot-workspace-configuration or specifying launch arguments for tinymist.
eglot-workspace-configuration
For example, if you want to export PDF on save:
(setq-default eglot-workspace-configuration
'(:tinymist (:exportPdf "onSave")))
You can also have configuration per directory. Be sure to look at the documentation of eglot-workspace-configuration by describe-symbol..
See Tinymist Server Configuration for references.
Launch Arguments
For example:
(with-eval-after-load 'eglot
(with-eval-after-load 'typst-ts-mode
(add-to-list 'eglot-server-programs
`((typst-ts-mode) .
,(eglot-alternatives `((,typst-ts-lsp-download-path "--font-path" "<your-font-path>")
("tinymist" "--font-path" "<your-font-path>")
"typst-lsp"))))))
You can run command tinymist help lsp to view all available launch arguments for configuration.