Print cargo dev help on missing arg and updated setup documentation

This commit is contained in:
xFrednet 2021-06-16 00:21:13 +02:00 committed by flip1995
parent 41bc0f4d4d
commit 3d0984975e
No known key found for this signature in database
GPG key ID: 1CA0DF2AF59D68A5
5 changed files with 9 additions and 5 deletions

View file

@ -115,7 +115,7 @@ To work around this, you need to have a copy of the [rustc-repo][rustc_repo] ava
`git clone https://github.com/rust-lang/rust/`. `git clone https://github.com/rust-lang/rust/`.
Then you can run a `cargo dev` command to automatically make Clippy use the rustc-repo via path-dependencies Then you can run a `cargo dev` command to automatically make Clippy use the rustc-repo via path-dependencies
which `IntelliJ Rust` will be able to understand. which `IntelliJ Rust` will be able to understand.
Run `cargo dev ide_setup --repo-path <repo-path>` where `<repo-path>` is a path to the rustc repo Run `cargo dev setup intellij --repo-path <repo-path>` where `<repo-path>` is a path to the rustc repo
you just cloned. you just cloned.
The command will add path-dependencies pointing towards rustc-crates inside the rustc repo to The command will add path-dependencies pointing towards rustc-crates inside the rustc repo to
Clippys `Cargo.toml`s and should allow `IntelliJ Rust` to understand most of the types that Clippy uses. Clippys `Cargo.toml`s and should allow `IntelliJ Rust` to understand most of the types that Clippy uses.

View file

@ -86,7 +86,7 @@ pub fn run(check: bool, verbose: bool) {
}, },
CliError::RaSetupActive => { CliError::RaSetupActive => {
eprintln!( eprintln!(
"error: a local rustc repo is enabled as path dependency via `cargo dev ide_setup`. "error: a local rustc repo is enabled as path dependency via `cargo dev setup intellij`.
Not formatting because that would format the local repo as well! Not formatting because that would format the local repo as well!
Please revert the changes to Cargo.tomls first." Please revert the changes to Cargo.tomls first."
); );

View file

@ -2,7 +2,7 @@
// warn on lints, that are included in `rust-lang/rust`s bootstrap // warn on lints, that are included in `rust-lang/rust`s bootstrap
#![warn(rust_2018_idioms, unused_lifetimes)] #![warn(rust_2018_idioms, unused_lifetimes)]
use clap::{App, Arg, ArgMatches, SubCommand}; use clap::{App, AppSettings, Arg, ArgMatches, SubCommand};
use clippy_dev::{bless, fmt, new_lint, serve, setup, stderr_length_check, update_lints}; use clippy_dev::{bless, fmt, new_lint, serve, setup, stderr_length_check, update_lints};
fn main() { fn main() {
let matches = get_clap_config(); let matches = get_clap_config();
@ -52,6 +52,7 @@ fn main() {
fn get_clap_config<'a>() -> ArgMatches<'a> { fn get_clap_config<'a>() -> ArgMatches<'a> {
App::new("Clippy developer tooling") App::new("Clippy developer tooling")
.setting(AppSettings::ArgRequiredElseHelp)
.subcommand( .subcommand(
SubCommand::with_name("bless") SubCommand::with_name("bless")
.about("bless the test output changes") .about("bless the test output changes")
@ -146,6 +147,7 @@ fn get_clap_config<'a>() -> ArgMatches<'a> {
.subcommand( .subcommand(
SubCommand::with_name("setup") SubCommand::with_name("setup")
.about("Support for setting up your personal development environment") .about("Support for setting up your personal development environment")
.setting(AppSettings::ArgRequiredElseHelp)
.subcommand( .subcommand(
SubCommand::with_name("intellij") SubCommand::with_name("intellij")
.about("Alter dependencies so Intellij Rust can find rustc internals") .about("Alter dependencies so Intellij Rust can find rustc internals")

View file

@ -55,7 +55,7 @@ fn inject_deps_into_manifest(
// do not inject deps if we have aleady done so // do not inject deps if we have aleady done so
if cargo_toml.contains("[target.'cfg(NOT_A_PLATFORM)'.dependencies]") { if cargo_toml.contains("[target.'cfg(NOT_A_PLATFORM)'.dependencies]") {
eprintln!( eprintln!(
"cargo dev ide_setup: warning: deps already found inside {}, doing nothing.", "cargo dev setup intellij: warning: deps already found inside {}, doing nothing.",
manifest_path manifest_path
); );
return Ok(()); return Ok(());

View file

@ -90,8 +90,10 @@ cargo dev fmt
cargo dev update_lints cargo dev update_lints
# create a new lint and register it # create a new lint and register it
cargo dev new_lint cargo dev new_lint
# automatically formatting all code before each commit
cargo dev setup git-hook
# (experimental) Setup Clippy to work with IntelliJ-Rust # (experimental) Setup Clippy to work with IntelliJ-Rust
cargo dev ide_setup cargo dev setup intellij
``` ```
## lintcheck ## lintcheck