tinymist/crates/tinymist-query
Hong Jiarong bc61e150ec
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: add module item layout tracking to expression analysis (#2250)
This pr adds support for tracking the layout information of module
import items in the source code and refactors the expression analysis
pipeline to accommodate this feature, which introduces a new
`ModuleItemLayout` struct that records the parent module declaration,
the byte range of each import clause, and the bound identifier span.
Expression analysis (`expr_of` / `ExprWorker`) is updated to initialize,
collect, and store this layout data in a new `module_items` field within
`ExprInfoRepr`, which is now also included in its `Hash` implementation.
During import declaration handling, each import item—including renamed
items—is recorded through the new `record_module_item` method, ensuring
that all layout information is captured consistently as part of the
analysis workflow.

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-11-24 02:29:14 +08:00
..
src feat: add module item layout tracking to expression analysis (#2250) 2025-11-24 02:29:14 +08:00
Cargo.toml feat: add PathAt code context query (#2232) 2025-11-11 02:43:02 +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.