[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.56" crossbeam-channel = "0.5.4" dissimilar = "1.0.3" itertools = "0.10.3" lsp-types = { version = "0.93", features = ["proposed"] } parking_lot = "0.12.0" xflags = "0.2.4" oorandom = "11.1.3" rustc-hash = "1.1.0" serde = { version = "1.0.136", features = ["derive"] } serde_json = { version = "1.0.79", features = ["preserve_order"] } threadpool = "1.8.1" rayon = "1.5.1" num_cpus = "1.13.1" mimalloc = { version = "0.1.28", default-features = false, optional = true } lsp-server = "0.6.0" tracing = "0.1.32" tracing-subscriber = { version = "0.3.9", default-features = false, features = [ "env-filter", "registry", "fmt", "tracing-log", ] } tracing-log = "0.1.2" tracing-tree = "0.2.0" 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.4.3", package = "tikv-jemallocator", optional = true } [dev-dependencies] expect-test = "1.2.2" jod-thread = "0.1.2" xshell = "0.2.1" test_utils = { path = "../test_utils" } sourcegen = { path = "../sourcegen" } mbe = { path = "../mbe" } [features] jemalloc = ["jemallocator", "profile/jemalloc"] force-always-assert = ["always-assert/force"]