Hi there,
I started checking typst out and tinymist seems like the preferred LSP for it.
I’ve been using the LSP just fine with both helix and Kate, but I’m having trouble configuring the preview the way I want on both editors.
On helix, the preview opens fine in my default browser, but I’m looking for a way to open it in a specific firefox profile (I know it’s possible, I just cannot figure out how). TL;DR: Could someone point me out to the config option that tells tinymist preview to call a specific browser?
Secondly, on Kate, I just can’t seem to make the preview run, despite tinymist itself working just fine as an LSP. The config I’m using is:
I haven’t tried using the preview with Kate, I just have typst watch and a PDF viewer running separately. If I had to guess, Kate just doesn’t support this. You might want to open a bug here: https://bugs.kde.org/
Thanks for the reply!
When you said that Kate might not support this, could you explain why that would be? I’d expect the preview to be handled entirely by tinymist and be completely IDE-agnostic…
If I do end up raising a bug on the KDE tracker, what info would be useful there?
Here is what the LSP output gives:
[2025-12-06T13:28:49Z INFO tinymist::lsp] server initialized
[2025-12-06T13:28:49Z INFO sync_ls::server] notify initialized succeeded in 20.06µs
[2025-12-06T13:28:49Z INFO sync_ls::server] notifying workspace/didChangeConfiguration
[2025-12-06T13:28:49Z INFO tinymist::config] ServerState: config update_by_map {"preview.background.args":["--data-plane-host=127.0.0.1:0","--open"],"preview.background.enabled":true}
[2025-12-06T13:28:49Z INFO tinymist::config] Server: running lsp in full mode
[2025-12-06T13:28:49Z INFO tinymist::lsp] new settings applied
[2025-12-06T13:28:49Z INFO sync_ls::server] notify workspace/didChangeConfiguration succeeded in 78.78µs
[2025-12-06T13:28:49Z INFO sync_ls::server] notifying textDocument/didOpen
[2025-12-06T13:28:49Z INFO tinymist::lsp] did open file://path/to/ifs.typ
[2025-12-06T13:28:49Z INFO tinymist::input] the task of the primary is changing to TaskInputs { entry: Some(EntryState { root: Some("."), main: Some(@ws/p0:0.0.0/ifs.typ) }), inputs: None }
[2025-12-06T13:28:49Z INFO tinymist::input] file focused[implicit,o]: Some("path/to/ifs.typ")
[2025-12-06T13:28:49Z INFO sync_ls::server] notify textDocument/didOpen succeeded in 488.75µs
[2025-12-06T13:28:49Z INFO sync_ls::server] handling textDocument/documentSymbol - (2)
[2025-12-06T13:28:49Z INFO sync_ls::server] handling textDocument/semanticTokens/full - (3)
[2025-12-06T13:28:49Z INFO tinymist::input] the task of the primary is changing to TaskInputs { entry: Some(EntryState { root: Some("."), main: Some(@ws/p0:0.0.0/ifs.typ) }), inputs: None }
[2025-12-06T13:28:49Z INFO sync_ls::server] handled textDocument/documentSymbol - (2) in 171.61µs
[2025-12-06T13:28:49Z INFO tinymist::input] file focused[implicit,t]: Some("path/to/ifs.typ")
[14:28:49  Serveur LSP Journal] typst@.
[2025-12-06T13:28:49Z INFO tinymist_project::compiler] path/to/ifs.typ: compilation succeeded in 57.812886ms
[2025-12-06T13:28:49Z INFO tinymist::project] skipping emit pending reasons for 3 != 2
So I guess what I need to figure out is how to pass a “companion” command to the helix LSP manager to open the URL with a specific firefox once tinymist is started…
I’ll also discuss with the KDE people to see how things could be handled in Kate before opening an actual issue.
I’ll update this thread if I can figure something out.
Well, the editor has to provide a preview frame to render into, doesn’t it? I’m assuming you’re talking about the preview panel in Kate, at least, and not the LSP server opening a window by itself. I don’t know what exactly you’re expecting to happen tbf since I’ve never seen this. Your log doesn’t show anything preview-related either, as far as I can tell.
From a brief look at the tinymist repository, there does seem to be VS Code-specific support code for the preview feature at least.
Well, the editor has to provide a preview frame to render into, doesn’t it? I’m assuming you’re talking about the preview panel in Kate, at least, and not the LSP server opening a window by itself.
Well, one option would be to make a plugin based on an external part, like the markdown preview part, indeed.
At first I was simply looking for a way to start open the link in a specific Firefox profile, though currently the tools in Kate are not suitable (see this discussion for details).
At the moment I haven’t found how to make this work for anything other than neovim. Helix works ok-ish but not in a specific FF profile and Kate would require writing a dedicated part which I definitely don’t have time for…
Right, this is exactly what I had in mind for what this would need to work. If you open up a wishlist type bug, maybe someone will implement it. I wasn’t expecting you to write it yourself, unless you wanted to, of course :^)