## Summary This PR adds a new but so far empty and unused `red_knot_ide` crate. This new crate's purpose is to implement IDE-specific functionality, such as go to definition, hover, completion, etc., which are used by both the LSP and the playground. The crate itself doesn't depend on `lsptypes`. The idea is that the facade crates (e.g., `red_knot_server`) convert external to internal types. Not only allows this to share the logic between server and playground, it also ensures that the core functionality is easier to test because it can be tested without needing a full LSP. ## Test Plan `cargo build`
51 lines
1.5 KiB
TOML
51 lines
1.5 KiB
TOML
[package]
|
|
name = "red_knot_project"
|
|
version = "0.0.0"
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
homepage.workspace = true
|
|
documentation.workspace = true
|
|
repository.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
ruff_cache = { workspace = true }
|
|
ruff_db = { workspace = true, features = ["cache", "serde"] }
|
|
ruff_macros = { workspace = true }
|
|
ruff_python_ast = { workspace = true, features = ["serde"] }
|
|
ruff_text_size = { workspace = true }
|
|
red_knot_ide = { workspace = true }
|
|
red_knot_python_semantic = { workspace = true, features = ["serde"] }
|
|
red_knot_vendored = { workspace = true }
|
|
|
|
anyhow = { workspace = true }
|
|
crossbeam = { workspace = true }
|
|
glob = { workspace = true }
|
|
notify = { workspace = true }
|
|
pep440_rs = { workspace = true, features = ["version-ranges"] }
|
|
rayon = { workspace = true }
|
|
rustc-hash = { workspace = true }
|
|
salsa = { workspace = true }
|
|
schemars = { workspace = true, optional = true }
|
|
serde = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
toml = { workspace = true }
|
|
tracing = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
ruff_db = { workspace = true, features = ["testing"] }
|
|
glob = { workspace = true }
|
|
insta = { workspace = true, features = ["redactions", "ron"] }
|
|
|
|
[features]
|
|
default = ["zstd"]
|
|
deflate = ["red_knot_vendored/deflate"]
|
|
schemars = ["dep:schemars", "ruff_db/schemars", "red_knot_python_semantic/schemars"]
|
|
zstd = ["red_knot_vendored/zstd"]
|
|
|
|
[lints]
|
|
workspace = true
|