[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.workspace = true crossbeam-channel = "0.5.5" dissimilar.workspace = true itertools.workspace = true scip = "0.3.1" lsp-types = { version = "=0.94.0", features = ["proposed"] } parking_lot = "0.12.1" xflags = "0.3.0" oorandom = "11.1.3" rayon.workspace = true rustc-hash = "1.1.0" serde_json = { workspace = true, features = ["preserve_order"] } serde.workspace = true num_cpus = "1.15.0" mimalloc = { version = "0.1.30", default-features = false, optional = true } lsp-server.workspace = true tracing.workspace = true tracing-subscriber.workspace = true tracing-log = "0.2.0" tracing-tree.workspace = true triomphe.workspace = true nohash-hasher.workspace = true always-assert = "0.1.2" walkdir = "2.3.2" cfg.workspace = true flycheck.workspace = true hir-def.workspace = true hir-ty.workspace = true hir.workspace = true rustc-dependencies.workspace = true ide-db.workspace = true # This should only be used in CLI ide-ssr.workspace = true ide.workspace = true load-cargo.workspace = true proc-macro-api.workspace = true profile.workspace = true project-model.workspace = true stdx.workspace = true syntax.workspace = true parser.workspace = true toolchain.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" xshell.workspace = true test-utils.workspace = true sourcegen.workspace = true mbe.workspace = true [features] jemalloc = ["jemallocator", "profile/jemalloc"] force-always-assert = ["always-assert/force"] sysroot-abi = [] in-rust-tree = [ "sysroot-abi", "ide/in-rust-tree", "syntax/in-rust-tree", "parser/in-rust-tree", "rustc-dependencies/in-rust-tree", "hir/in-rust-tree", "hir-def/in-rust-tree", "hir-ty/in-rust-tree", ]