diff options
Diffstat (limited to 'mingling_cli/src')
| -rw-r--r-- | mingling_cli/src/linter.rs | 24 | ||||
| -rw-r--r-- | mingling_cli/src/linter/cmd_mlint.rs | 8 | ||||
| -rw-r--r-- | mingling_cli/src/metadata/cmd_metadata.rs | 10 |
3 files changed, 39 insertions, 3 deletions
diff --git a/mingling_cli/src/linter.rs b/mingling_cli/src/linter.rs index 8be45c8..3182b4a 100644 --- a/mingling_cli/src/linter.rs +++ b/mingling_cli/src/linter.rs @@ -1,4 +1,7 @@ -use mingling::macros::{chain, dispatcher, entry}; +use mingling::{ + macros::{chain, dispatcher, entry, metadata}, + metadata::Description, +}; use crate::{linter::cmd_mlint::EntryLint, metadata::setup::ResUsingJson}; @@ -43,3 +46,22 @@ pub fn handle_ra_lint_clippy( use_json.using = true; entry!("--message-format=json", "--with-checker=cargo,clippy") } + +#[metadata(EntryLinterSupportRustAnalyzer)] +pub fn desc_ra_lint() -> Description { + "Run `mling lint` and output the results".to_string().into() +} + +#[metadata(EntryLinterSupportRustAnalyzerWithCheck)] +pub fn desc_ra_lint_check() -> Description { + "Run `mling lint` and `cargo check`, and output the combined results" + .to_string() + .into() +} + +#[metadata(EntryLinterSupportRustAnalyzerWithClippy)] +pub fn desc_ra_lint_clippy() -> Description { + "Run `mling lint` and `cargo clippy`, and output the combined results" + .to_string() + .into() +} diff --git a/mingling_cli/src/linter/cmd_mlint.rs b/mingling_cli/src/linter/cmd_mlint.rs index 1dfd02b..57a78ad 100644 --- a/mingling_cli/src/linter/cmd_mlint.rs +++ b/mingling_cli/src/linter/cmd_mlint.rs @@ -2,12 +2,18 @@ use crate::linter::mlint_report::{MlintReport, StateLintReports}; use cargo_metadata::Metadata; use mingling::LazyRes; use mingling::consts::REMAINS; -use mingling::macros::{arg, chain, dispatcher, pack}; +use mingling::macros::{arg, chain, dispatcher, metadata, pack}; +use mingling::metadata::Description; use mingling::picker::EntryPicker; use tokio::task::JoinSet; dispatcher!("lint", CMDLint => EntryLint); +#[metadata(EntryLint)] +pub fn desc_lint() -> Description { + "Mingling Linter".to_string().into() +} + /// Main linting function that processes all packages in the metadata. /// /// Iterates through all packages and their targets (e.g., binaries, libraries, tests), diff --git a/mingling_cli/src/metadata/cmd_metadata.rs b/mingling_cli/src/metadata/cmd_metadata.rs index 18241a2..3ee9f09 100644 --- a/mingling_cli/src/metadata/cmd_metadata.rs +++ b/mingling_cli/src/metadata/cmd_metadata.rs @@ -1,13 +1,21 @@ use cargo_metadata::Metadata; use mingling::{ LazyRes, - macros::{chain, dispatcher, pack}, + macros::{chain, dispatcher, metadata, pack}, + metadata::Description, }; use crate::metadata::setup::ResMetadata; dispatcher!("metadata"); +#[metadata(EntryMetadata)] +pub fn desc_metadata() -> Description { + "Check your workspace metadata using 'cargo metadata'" + .to_string() + .into() +} + pack!(ResultMetadata = ResMetadata); #[chain] |
