Configuration is editor-independent. For this reason, we pick
JSON-schema as the repr of the source of truth. We do specify it using
rust-macros and some quick&dirty hackery though.
The idea for syncing truth with package.json is to just do that
manually, but there's a test to check that they are actually synced.
There's CLI to print config's json schema:
$ rust-analyzer --print-config-schema
We go with a CLI rather than LSP request/response to make it easier to
incorporate the thing into extension's static config. This is roughtly
how we put the thing in package.json.
66 lines
2.1 KiB
TOML
66 lines
2.1 KiB
TOML
[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"
|
|
env_logger = { version = "0.8.1", default-features = false }
|
|
itertools = "0.9.0"
|
|
jod-thread = "0.1.0"
|
|
log = "0.4.8"
|
|
lsp-types = { version = "0.85.0", features = ["proposed"] }
|
|
parking_lot = "0.11.0"
|
|
pico-args = "0.3.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"] }
|
|
threadpool = "1.7.1"
|
|
rayon = "1.5"
|
|
mimalloc = { version = "0.1.19", default-features = false, optional = true }
|
|
lsp-server = "0.5.0"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.2", default-features = false, features = ["env-filter", "registry"] }
|
|
tracing-tree = { version = "0.1.4" }
|
|
|
|
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
|
|
ssr = { path = "../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"
|
|
|
|
[dev-dependencies]
|
|
expect-test = "1.0"
|
|
test_utils = { path = "../test_utils" }
|
|
mbe = { path = "../mbe" }
|
|
tt = { path = "../tt" }
|