In effect, we make the Salsa query aspect keyed only on whether we want global symbols. We move everything else (hierarchical and querying) to an aggregate step *after* the query. This was a somewhat involved change since we want to return a flattened list from visiting the source while also preserving enough information to reform the symbols into a hierarchical structure that the LSP expects. But I think overall the API has gotten simpler and we encode more invariants into the type system. (For example, previously you got a runtime assertion if you tried to provide a query string while enabling hierarchical mode. But now that's prevented by construction.)
41 lines
1.1 KiB
TOML
41 lines
1.1 KiB
TOML
[package]
|
|
name = "ty_ide"
|
|
version = "0.0.0"
|
|
publish = false
|
|
authors = { workspace = true }
|
|
edition = { workspace = true }
|
|
rust-version = { workspace = true }
|
|
homepage = { workspace = true }
|
|
documentation = { workspace = true }
|
|
repository = { workspace = true }
|
|
license = { workspace = true }
|
|
|
|
[dependencies]
|
|
bitflags = { workspace = true }
|
|
ruff_db = { workspace = true }
|
|
ruff_index = { workspace = true }
|
|
ruff_memory_usage = { workspace = true }
|
|
ruff_python_ast = { workspace = true }
|
|
ruff_python_parser = { workspace = true }
|
|
ruff_python_trivia = { workspace = true }
|
|
ruff_source_file = { workspace = true }
|
|
ruff_text_size = { workspace = true }
|
|
ty_python_semantic = { workspace = true }
|
|
ty_project = { workspace = true, features = ["testing"] }
|
|
|
|
get-size2 = { workspace = true }
|
|
itertools = { workspace = true }
|
|
rayon = { workspace = true }
|
|
regex = { workspace = true }
|
|
rustc-hash = { workspace = true }
|
|
salsa = { workspace = true, features = ["compact_str"] }
|
|
smallvec = { workspace = true }
|
|
tracing = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
|
|
insta = { workspace = true, features = ["filters"] }
|
|
|
|
[lints]
|
|
workspace = true
|