| # This config uses a separate build directory for rust-analyzer, |
| # so that r-a's checks don't block user `x` commands and vice-verse. |
| # R-a's build directory is located in `build/rust-analyzer`. |
| # |
| # To build rustfmt and proc macro server for r-a run the following command: |
| # ``` |
| # x b proc-macro-srv-cli rustfmt --stage 0 --build-dir build/rust-analyzer |
| # ``` |
| |
| [language-server.rust-analyzer.config] |
| linkedProjects = [ |
| "Cargo.toml", |
| "compiler/rustc_codegen_cranelift/Cargo.toml", |
| "compiler/rustc_codegen_gcc/Cargo.toml", |
| "library/Cargo.toml", |
| "src/bootstrap/Cargo.toml", |
| "src/tools/rust-analyzer/Cargo.toml", |
| ] |
| |
| [language-server.rust-analyzer.config.check] |
| invocationLocation = "root" |
| invocationStrategy = "once" |
| overrideCommand = [ |
| "python3", |
| "x.py", |
| "check", |
| "--json-output", |
| "--build-dir", |
| "build/rust-analyzer", |
| ] |
| |
| [language-server.rust-analyzer.config.rustfmt] |
| overrideCommand = [ |
| "build/rust-analyzer/host/rustfmt/bin/rustfmt", |
| "--edition=2024" |
| ] |
| |
| [language-server.rust-analyzer.config.procMacro] |
| server = "build/rust-analyzer/host/stage0/libexec/rust-analyzer-proc-macro-srv" |
| enable = true |
| |
| [language-server.rust-analyzer.config.rustc] |
| source = "./Cargo.toml" |
| |
| [language-server.rust-analyzer.config.cargo] |
| sysrootSrc = "./library" |
| |
| [language-server.rust-analyzer.config.cargo.extraEnv] |
| RUSTC_BOOTSTRAP = "1" |
| |
| [language-server.rust-analyzer.config.cargo.buildScripts] |
| enable = true |
| invocationLocation = "root" |
| invocationStrategy = "once" |
| overrideCommand = [ |
| "python3", |
| "x.py", |
| "check", |
| "--json-output", |
| "--build-dir", |
| "build/rust-analyzer", |
| "--compile-time-deps" |
| ] |