Myriad-Dreamin / tinymist

Tinymist [ˈtaɪni mɪst] is an integrated language service for Typst [taɪpst].
https://myriad-dreamin.github.io/tinymist
Apache License 2.0
278 stars 11 forks source link

feat: support single-task preview commands #368

Closed Myriad-Dreamin closed 1 day ago

Myriad-Dreamin commented 4 days ago

Previous PRs:


Implementation notes:

Todo list:


Control Plane is removed

Since tinymist lsp is a long-running service, while typst preview was an one-shot program, we must introduce task/session concept. Client must allocate a task id for each session, and refer to the concrete session by the id in latter requests.

However, to avoid resource leaking, I'm trying to let preview session closed automatically in very nice timing. Compared with new/free API, we use start/kill API.