rust/crates/rust-analyzer/Cargo.toml
2023-03-25 15:12:39 +01:00

103 lines
2.6 KiB
TOML

[package]
name = "rust-analyzer"
version = "0.0.0"
homepage = "https://github.com/rust-analyzer/rust-analyzer"
description = "A language server for the Rust programming language"
documentation = "https://rust-analyzer.github.io/manual.html"
autobins = false
authors.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
[lib]
doctest = false
[[bin]]
name = "rust-analyzer"
path = "src/bin/main.rs"
[dependencies]
anyhow = "1.0.62"
crossbeam-channel = "0.5.5"
dissimilar = "1.0.4"
itertools = "0.10.5"
scip = "0.1.1"
lsp-types = { version = "=0.94", features = ["proposed"] }
parking_lot = "0.12.1"
xflags = "0.3.0"
oorandom = "11.1.3"
rustc-hash = "1.1.0"
serde_json = { workspace = true, features = ["preserve_order"] }
serde.workspace = true
threadpool = "1.8.1"
rayon = "1.6.1"
num_cpus = "1.15.0"
mimalloc = { version = "0.1.30", default-features = false, optional = true }
lsp-server = { version = "0.7.0", path = "../../lib/lsp-server" }
tracing = "0.1.35"
tracing-subscriber = { version = "0.3.16", default-features = false, features = [
"env-filter",
"registry",
"fmt",
"tracing-log",
] }
tracing-log = "0.1.3"
tracing-tree = "0.2.1"
always-assert = "0.1.2"
# These dependencies are unused, but we pin them to a version here to restrict them for our transitive dependencies
# so that we don't pull in duplicates of their depdendenceies like windows-sys and syn 1 vs 2
# these would pull in serde 2
thiserror = "=1.0.39"
serde_repr = "=0.1.11"
# these would pull in windows-sys 0.45.0
mio = "=0.8.5"
filetime = "=0.2.19"
parking_lot_core = "=0.9.6"
cfg.workspace = true
flycheck.workspace = true
hir-def.workspace = true
hir-ty.workspace = true
hir.workspace = true
ide-db.workspace = true
# This should only be used in CLI
ide-ssr.workspace = true
ide.workspace = true
proc-macro-api.workspace = true
proc-macro-srv.workspace = true
profile.workspace = true
project-model.workspace = true
stdx.workspace = true
syntax.workspace = true
toolchain.workspace = true
tt.workspace = true
vfs-notify.workspace = true
vfs.workspace = true
[target.'cfg(windows)'.dependencies]
winapi = "0.3.9"
[target.'cfg(not(target_env = "msvc"))'.dependencies]
jemallocator = { version = "0.5.0", package = "tikv-jemallocator", optional = true }
[dev-dependencies]
expect-test = "1.4.0"
jod-thread = "0.1.2"
xshell = "0.2.2"
test-utils.workspace = true
sourcegen.workspace = true
mbe.workspace = true
[features]
jemalloc = ["jemallocator", "profile/jemalloc"]
force-always-assert = ["always-assert/force"]
in-rust-tree = [
"proc-macro-srv/sysroot-abi",
"ide/in-rust-tree",
"syntax/in-rust-tree",
]