4 authors = ["rust-analyzer Team"]
5 homepage = "https://github.com/rust-analyzer/rust-analyzer"
6 description = "A language server for the Rust programming language"
7 documentation = "https://rust-analyzer.github.io/manual.html"
8 license = "MIT OR Apache-2.0"
16 name = "rust-analyzer"
17 path = "src/bin/main.rs"
21 crossbeam-channel = "0.5.0"
25 lsp-types = { version = "0.89.0", features = ["proposed"] }
26 parking_lot = "0.11.0"
30 serde = { version = "1.0.106", features = ["derive"] }
31 serde_json = { version = "1.0.48", features = ["preserve_order"] }
34 mimalloc = { version = "0.1.19", default-features = false, optional = true }
37 tracing-subscriber = { version = "0.2", default-features = false, features = ["env-filter", "registry", "fmt", "tracing-log"] }
39 tracing-tree = { version = "0.1.4" }
42 stdx = { path = "../stdx", version = "0.0.0" }
43 flycheck = { path = "../flycheck", version = "0.0.0" }
44 ide = { path = "../ide", version = "0.0.0" }
45 ide_db = { path = "../ide_db", version = "0.0.0" }
46 profile = { path = "../profile", version = "0.0.0" }
47 project_model = { path = "../project_model", version = "0.0.0" }
48 syntax = { path = "../syntax", version = "0.0.0" }
49 text_edit = { path = "../text_edit", version = "0.0.0" }
50 vfs = { path = "../vfs", version = "0.0.0" }
51 vfs-notify = { path = "../vfs-notify", version = "0.0.0" }
52 cfg = { path = "../cfg", version = "0.0.0" }
53 toolchain = { path = "../toolchain", version = "0.0.0" }
54 tt = { path = "../tt", version = "0.0.0" }
55 proc_macro_api = { path = "../proc_macro_api", version = "0.0.0" }
57 # This should only be used in CLI
58 ide_ssr = { path = "../ide_ssr", version = "0.0.0" }
59 hir = { path = "../hir", version = "0.0.0" }
60 hir_def = { path = "../hir_def", version = "0.0.0" }
61 hir_ty = { path = "../hir_ty", version = "0.0.0" }
62 proc_macro_srv = { path = "../proc_macro_srv", version = "0.0.0" }
64 [target.'cfg(windows)'.dependencies]
67 [target.'cfg(not(target_env = "msvc"))'.dependencies]
68 jemallocator = { version = "0.4.1", package = "tikv-jemallocator", optional = true }
74 test_utils = { path = "../test_utils" }
75 sourcegen = { path = "../sourcegen" }
76 mbe = { path = "../mbe" }
77 tt = { path = "../tt" }
80 jemalloc = ["jemallocator", "profile/jemalloc"]
81 force-always-assert = ["always-assert/force"]