mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 04:44:57 +00:00
initial implementation
This commit is contained in:
parent
9b9fc135d6
commit
d14610dab4
3 changed files with 18 additions and 11 deletions
|
@ -13,7 +13,7 @@ use std::{
|
|||
process::Command,
|
||||
};
|
||||
use tools::{
|
||||
collect_tests, Result, Test, generate, Mode, Overwrite, Verify,
|
||||
collect_tests, Result, Test, generate, Mode, Overwrite, Verify, project_root,
|
||||
};
|
||||
|
||||
const GRAMMAR_DIR: &str = "./crates/ra_syntax/src/grammar";
|
||||
|
@ -31,6 +31,7 @@ fn main() -> Result<()> {
|
|||
.subcommand(SubCommand::with_name("gen-syntax"))
|
||||
.subcommand(SubCommand::with_name("gen-tests"))
|
||||
.subcommand(SubCommand::with_name("install-code"))
|
||||
.subcommand(SubCommand::with_name("format"))
|
||||
.get_matches();
|
||||
let mode = if matches.is_present("verify") {
|
||||
Verify
|
||||
|
@ -41,6 +42,7 @@ fn main() -> Result<()> {
|
|||
("install-code", _) => install_code_extension()?,
|
||||
("gen-tests", _) => gen_tests(mode)?,
|
||||
("gen-syntax", _) => generate(Overwrite)?,
|
||||
("format", _) => run_rustfmt()?,
|
||||
_ => unreachable!(),
|
||||
}
|
||||
Ok(())
|
||||
|
@ -146,12 +148,7 @@ fn install_code_extension() -> Result<()> {
|
|||
|
||||
fn run(cmdline: &'static str, dir: &str) -> Result<()> {
|
||||
eprintln!("\nwill run: {}", cmdline);
|
||||
let manifest_dir = env!("CARGO_MANIFEST_DIR");
|
||||
let project_dir = Path::new(manifest_dir)
|
||||
.ancestors()
|
||||
.nth(2)
|
||||
.unwrap()
|
||||
.join(dir);
|
||||
let project_dir = project_root().join(dir);
|
||||
let mut args = cmdline.split_whitespace();
|
||||
let exec = args.next().unwrap();
|
||||
let status = Command::new(exec)
|
||||
|
@ -163,3 +160,11 @@ fn run(cmdline: &'static str, dir: &str) -> Result<()> {
|
|||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn run_rustfmt() -> Result<()> {
|
||||
// Use beta toolchain for 2018 edition.
|
||||
run("rustup install beta", ".")?;
|
||||
run("rustup component add rustfmt-preview --toolchain beta", ".")?;
|
||||
run("rustup run beta -- cargo fmt", ".")?;
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue