tinymist/crates/tinymist-query
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 fix: correct parent_last_loc for heading children in folding ranges (#2123) 2025-09-24 00:24:31 +08:00
README.md docs: add dev guide of tinymist-query (#1064) 2024-12-25 12:20:09 +08:00

tinymist-query

Note: this crate is under development. it currently doesn't ensure stable APIs, and heavily depending on some unstable crates.

This crate provides a set of APIs to query the information about the source code. Currently it provides:

Documentation

See Crate Docs.

Also see Developer Guide: Tinymist Query.

Contributing

See CONTRIBUTING.md and Guide to develop tinymist-query.