[package] name = "rust-analyzer" version = "0.0.0" description = "TBD" license = "MIT OR Apache-2.0" authors = ["rust-analyzer developers"] autobins = false edition = "2018" [lib] doctest = false [[bin]] name = "rust-analyzer" path = "src/bin/main.rs" [dependencies] anyhow = "1.0.26" crossbeam-channel = "0.5.0" dissimilar = "1.0.2" env_logger = { version = "0.8.1", default-features = false } itertools = "0.10.0" jod-thread = "0.1.0" log = "0.4.8" lsp-types = { version = "0.89.0", features = ["proposed"] } parking_lot = "0.11.0" xflags = "0.2.1" oorandom = "11.1.2" rustc-hash = "1.1.0" serde = { version = "1.0.106", features = ["derive"] } serde_json = { version = "1.0.48", features = ["preserve_order"] } serde_path_to_error = "0.1" threadpool = "1.7.1" rayon = "1.5" mimalloc = { version = "0.1.19", default-features = false, optional = true } lsp-server = "0.5.1" tracing = "0.1" tracing-subscriber = { version = "0.2", default-features = false, features = ["env-filter", "registry"] } tracing-tree = { version = "0.1.4" } always-assert = "0.1" 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" } text_edit = { path = "../text_edit", 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" } # 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.8" [target.'cfg(not(target_env = "msvc"))'.dependencies] jemallocator = { version = "0.4.1", package = "tikv-jemallocator", optional = true } [dev-dependencies] expect-test = "1.1" test_utils = { path = "../test_utils" } sourcegen = { path = "../sourcegen" } mbe = { path = "../mbe" } tt = { path = "../tt" } [features] jemalloc = ["jemallocator", "profile/jemalloc"] force-always-assert = ["always-assert/force"]