[package] name = "rust-analyzer" version = "0.0.0" authors = ["rust-analyzer Team"] 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" license = "MIT OR Apache-2.0" autobins = false edition = "2021" rust-version = "1.57" [lib] doctest = false [[bin]] name = "rust-analyzer" path = "src/bin/main.rs" [dependencies] anyhow = "1.0.57" crossbeam-channel = "0.5.5" dissimilar = "1.0.4" itertools = "0.10.3" lsp-types = { version = "0.93.0", features = ["proposed"] } parking_lot = "0.12.1" xflags = "0.2.4" oorandom = "11.1.3" rustc-hash = "1.1.0" serde = { version = "1.0.137", features = ["derive"] } serde_json = { version = "1.0.81", features = ["preserve_order"] } threadpool = "1.8.1" rayon = "1.5.3" num_cpus = "1.13.1" mimalloc = { version = "0.1.29", default-features = false, optional = true } lsp-server = { version = "0.6.0", path = "../../lib/lsp-server" } tracing = "0.1.35" tracing-subscriber = { version = "0.3.14", 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" stdx = { path = "../stdx", version = "0.0.0" } flycheck = { path = "../flycheck", version = "0.0.0" } ide = { path = "../ide", version = "0.0.0" } ide-db = { path = "../ide-db", version = "0.0.0" } profile = { path = "../profile", version = "0.0.0" } project-model = { path = "../project-model", version = "0.0.0" } syntax = { path = "../syntax", version = "0.0.0" } vfs = { path = "../vfs", version = "0.0.0" } vfs-notify = { path = "../vfs-notify", version = "0.0.0" } cfg = { path = "../cfg", version = "0.0.0" } toolchain = { path = "../toolchain", version = "0.0.0" } tt = { path = "../tt", version = "0.0.0" } proc-macro-api = { path = "../proc-macro-api", version = "0.0.0" } # This should only be used in CLI ide-ssr = { path = "../ide-ssr", version = "0.0.0" } hir = { path = "../hir", version = "0.0.0" } hir-def = { path = "../hir-def", version = "0.0.0" } hir-ty = { path = "../hir-ty", version = "0.0.0" } proc-macro-srv = { path = "../proc-macro-srv", version = "0.0.0" } [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 = { path = "../test-utils" } sourcegen = { path = "../sourcegen" } mbe = { path = "../mbe" } [features] jemalloc = ["jemallocator", "profile/jemalloc"] force-always-assert = ["always-assert/force"] in-rust-tree = [ "proc-macro-srv/sysroot-abi", "sourcegen/in-rust-tree", "ide/in-rust-tree", "syntax/in-rust-tree" ]