1[package] 2name = "rust-analyzer" 3version = "0.0.0" 4authors = ["rust-analyzer Team"] 5homepage = "https://github.com/rust-analyzer/rust-analyzer" 6description = "A language server for the Rust programming language" 7documentation = "https://rust-analyzer.github.io/manual.html" 8license = "MIT OR Apache-2.0" 9autobins = false 10edition = "2021" 11rust-version = "1.56" 12 13[lib] 14doctest = false 15 16[[bin]] 17name = "rust-analyzer" 18path = "src/bin/main.rs" 19 20[dependencies] 21anyhow = "1.0.26" 22crossbeam-channel = "0.5.0" 23dissimilar = "1.0.2" 24itertools = "0.10.0" 25lsp-types = { version = "0.91", features = ["proposed"] } 26parking_lot = "0.11.0" 27xflags = "0.2.1" 28oorandom = "11.1.2" 29rustc-hash = "1.1.0" 30serde = { version = "1.0.106", features = ["derive"] } 31serde_json = { version = "1.0.48", features = ["preserve_order"] } 32threadpool = "1.7.1" 33rayon = "1.5" 34mimalloc = { version = "0.1.19", default-features = false, optional = true } 35lsp-server = "0.5.1" 36tracing = "0.1" 37tracing-subscriber = { version = "0.3", default-features = false, features = [ 38 "env-filter", 39 "registry", 40 "fmt", 41 "tracing-log", 42] } 43tracing-log = "0.1.2" 44tracing-tree = "0.2" 45always-assert = "0.1" 46 47stdx = { path = "../stdx", version = "0.0.0" } 48flycheck = { path = "../flycheck", version = "0.0.0" } 49ide = { path = "../ide", version = "0.0.0" } 50ide_db = { path = "../ide_db", version = "0.0.0" } 51profile = { path = "../profile", version = "0.0.0" } 52project_model = { path = "../project_model", version = "0.0.0" } 53syntax = { path = "../syntax", version = "0.0.0" } 54vfs = { path = "../vfs", version = "0.0.0" } 55vfs-notify = { path = "../vfs-notify", version = "0.0.0" } 56cfg = { path = "../cfg", version = "0.0.0" } 57toolchain = { path = "../toolchain", version = "0.0.0" } 58tt = { path = "../tt", version = "0.0.0" } 59proc_macro_api = { path = "../proc_macro_api", version = "0.0.0" } 60 61# This should only be used in CLI 62ide_ssr = { path = "../ide_ssr", version = "0.0.0" } 63hir = { path = "../hir", version = "0.0.0" } 64hir_def = { path = "../hir_def", version = "0.0.0" } 65hir_ty = { path = "../hir_ty", version = "0.0.0" } 66proc_macro_srv = { path = "../proc_macro_srv", version = "0.0.0" } 67 68[target.'cfg(windows)'.dependencies] 69winapi = "0.3.8" 70 71[target.'cfg(not(target_env = "msvc"))'.dependencies] 72jemallocator = { version = "0.4.1", package = "tikv-jemallocator", optional = true } 73 74[dev-dependencies] 75expect-test = "1.2.0-pre.1" 76jod-thread = "0.1.0" 77xshell = "0.1" 78 79test_utils = { path = "../test_utils" } 80sourcegen = { path = "../sourcegen" } 81mbe = { path = "../mbe" } 82 83[features] 84jemalloc = ["jemallocator", "profile/jemalloc"] 85force-always-assert = ["always-assert/force"] 86