tinymist/crates/tinymist-cli
Myriad-Dreamin d617b145e2
Some checks are pending
tinymist::auto_tag / auto-tag (push) Waiting to run
tinymist::ci / Duplicate Actions Detection (push) Waiting to run
tinymist::ci / Check Clippy, Formatting, Completion, Documentation, and Tests (Linux) (push) Waiting to run
tinymist::ci / Check Minimum Rust version and Tests (Windows) (push) Waiting to run
tinymist::ci / prepare-build (push) Waiting to run
tinymist::ci / announce (push) Blocked by required conditions
tinymist::ci / build (push) Blocked by required conditions
tinymist::gh_pages / build-gh-pages (push) Waiting to run
feat: support offline definition queries (LSIF) (#2032)
The purpose of the [Language Server Index Format (LSIF)][LSIF] is to
define a standard format for language servers or other programming tools
to dump their knowledge about a workspace.

Use cases:
- providing stable json format of package docs:
  - The unstable export was supported in #1809
- cache analyze results in such format.
- if we export typst docs to LSIF, some tools can help read typst code,
such as [lsif-node](https://github.com/Microsoft/lsif-node)
- if we have a typst package helping render typst docs according to
LSIF, it can also be used to render docs for other programming
languages, for example [OCaml](https://github.com/rvantonder/lsif-ocaml)
and [TypeScript](https://github.com/sourcegraph/lsif-node)

LSIF is not the only index format, so we may reconsider to use other one
in future, such as [SCIP](https://sourcegraph.com/blog/announcing-scip)


[LSIF]:
https://microsoft.github.io/language-server-protocol/specifications/lsif/0.6.0/specification/
2025-09-29 23:19:49 +08:00
..
src feat: support offline definition queries (LSIF) (#2032) 2025-09-29 23:19:49 +08:00
Cargo.toml feat: add js transport to sync-ls (#2029) 2025-08-12 06:07:23 +08:00
dist.toml fix: rename tinymist-cli artifacts back to tinymist (#2030) 2025-08-12 05:29:03 +08:00
README.md feat: move and compile tinymist crate for wasm32 target (#2027) 2025-08-11 13:14:26 +08:00

tinymist

This crate provides a CLI that starts services for Typst [taɪpst]. It provides:

  • tinymist probe: Do nothing, which just probes that the binary is working.
  • tinymist lsp: A language server following the Language Server Protocol.
  • tinymist preview: A preview server for Typst.
  • tinymist --help Learn more about the CLI.

Usage

See Features: Command Line Interface.

Documentation

See Crate Docs.

Also see Developer Guide: Tinymist LSP.

Contributing

See CONTRIBUTING.md.