]> git.lizzy.rs Git - rust.git/blob - crates/rust-analyzer/Cargo.toml
Merge #10089
[rust.git] / crates / rust-analyzer / Cargo.toml
1 [package]
2 name = "rust-analyzer"
3 version = "0.0.0"
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"
9 autobins = false
10 edition = "2018"
11
12 [lib]
13 doctest = false
14
15 [[bin]]
16 name = "rust-analyzer"
17 path = "src/bin/main.rs"
18
19 [dependencies]
20 anyhow = "1.0.26"
21 crossbeam-channel = "0.5.0"
22 dissimilar = "1.0.2"
23 itertools = "0.10.0"
24 jod-thread = "0.1.0"
25 lsp-types = { version = "0.89.0", features = ["proposed"] }
26 parking_lot = "0.11.0"
27 xflags = "0.2.1"
28 oorandom = "11.1.2"
29 rustc-hash = "1.1.0"
30 serde = { version = "1.0.106", features = ["derive"] }
31 serde_json = { version = "1.0.48", features = ["preserve_order"] }
32 threadpool = "1.7.1"
33 rayon = "1.5"
34 mimalloc = { version = "0.1.19", default-features = false, optional = true }
35 lsp-server = "0.5.1"
36 tracing = "0.1"
37 tracing-subscriber = { version = "0.2", default-features = false, features = ["env-filter", "registry", "fmt", "tracing-log"] }
38 tracing-log = "0.1.2"
39 tracing-tree = { version = "0.1.4" }
40 always-assert = "0.1"
41
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" }
56
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" }
63
64 [target.'cfg(windows)'.dependencies]
65 winapi = "0.3.8"
66
67 [target.'cfg(not(target_env = "msvc"))'.dependencies]
68 jemallocator = { version = "0.4.1", package = "tikv-jemallocator", optional = true }
69
70 [dev-dependencies]
71 expect-test = "1.1"
72 xshell = "0.1"
73
74 test_utils = { path = "../test_utils" }
75 sourcegen = { path = "../sourcegen" }
76 mbe = { path = "../mbe" }
77 tt = { path = "../tt" }
78
79 [features]
80 jemalloc = ["jemallocator", "profile/jemalloc"]
81 force-always-assert = ["always-assert/force"]