aboutsummaryrefslogtreecommitdiff
path: root/mingling_cli
diff options
context:
space:
mode:
Diffstat (limited to 'mingling_cli')
-rw-r--r--mingling_cli/Cargo.lock69
-rw-r--r--mingling_cli/Cargo.toml3
-rw-r--r--mingling_cli/src/errors.rs2
-rw-r--r--mingling_cli/src/errors/io_error.rs8
-rw-r--r--mingling_cli/src/linter.rs13
-rw-r--r--mingling_cli/src/linter/cmd_mlint.rs4
-rw-r--r--mingling_cli/src/lints.rs2
-rw-r--r--mingling_cli/tmpls/lints.tmpl2
8 files changed, 92 insertions, 11 deletions
diff --git a/mingling_cli/Cargo.lock b/mingling_cli/Cargo.lock
index e617d0a..ae28d9a 100644
--- a/mingling_cli/Cargo.lock
+++ b/mingling_cli/Cargo.lock
@@ -155,6 +155,12 @@ dependencies = [
]
[[package]]
+name = "equivalent"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
+
+[[package]]
name = "errno"
version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -171,12 +177,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
+name = "hashbrown"
+version = "0.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
+
+[[package]]
name = "ident_case"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
+name = "indexmap"
+version = "2.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
+dependencies = [
+ "equivalent",
+ "hashbrown",
+]
+
+[[package]]
name = "itoa"
version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -259,6 +281,7 @@ dependencies = [
"serde_json",
"syn 3.0.2",
"tokio",
+ "toml_edit",
]
[[package]]
@@ -517,6 +540,43 @@ dependencies = [
]
[[package]]
+name = "toml_datetime"
+version = "1.1.1+spec-1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7"
+dependencies = [
+ "serde_core",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.25.13+spec-1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "toml_parser",
+ "toml_writer",
+ "winnow",
+]
+
+[[package]]
+name = "toml_parser"
+version = "1.1.2+spec-1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526"
+dependencies = [
+ "winnow",
+]
+
+[[package]]
+name = "toml_writer"
+version = "1.1.2+spec-1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2"
+
+[[package]]
name = "unicode-ident"
version = "1.0.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -550,6 +610,15 @@ dependencies = [
]
[[package]]
+name = "winnow"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
name = "zmij"
version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/mingling_cli/Cargo.toml b/mingling_cli/Cargo.toml
index 98833ff..330ef5a 100644
--- a/mingling_cli/Cargo.toml
+++ b/mingling_cli/Cargo.toml
@@ -31,7 +31,7 @@ features = [
[build-dependencies.mingling]
path = "../mingling"
features = [
- "builds",
+ "build",
"pathf",
]
@@ -52,6 +52,7 @@ serde_json = "1.0.151"
# Parallelism
tokio = { version = "1.53.1", features = ["full"] }
+toml_edit = "0.25.13"
[build-dependencies]
# Configure & Serialization
diff --git a/mingling_cli/src/errors.rs b/mingling_cli/src/errors.rs
index cef9616..5cdc43f 100644
--- a/mingling_cli/src/errors.rs
+++ b/mingling_cli/src/errors.rs
@@ -1 +1,3 @@
+pub mod io_error;
pub mod serde_json;
+
diff --git a/mingling_cli/src/errors/io_error.rs b/mingling_cli/src/errors/io_error.rs
new file mode 100644
index 0000000..97509c9
--- /dev/null
+++ b/mingling_cli/src/errors/io_error.rs
@@ -0,0 +1,8 @@
+use mingling::macros::{group, renderer};
+
+group!(ErrorIo = std::io::Error);
+
+#[renderer]
+pub fn handle_error_io(err: ErrorIo) {
+ panic!("{}", err.to_string())
+}
diff --git a/mingling_cli/src/linter.rs b/mingling_cli/src/linter.rs
index c85afc1..859ffc5 100644
--- a/mingling_cli/src/linter.rs
+++ b/mingling_cli/src/linter.rs
@@ -4,7 +4,7 @@ use mingling::{
};
use crate::{
- linter::cmd_mlint::{CMDMinglingLinter, EntryMinglingLinter},
+ linter::cmd_mlint::{CMDLint, EntryLint},
metadata::setup::ResUsingJson,
};
@@ -19,7 +19,7 @@ pub fn mingling_linter_setup(program: &mut Program<crate::ThisProgram>) {
#[program_setup]
pub fn mingling_linter_command_setup(program: &mut Program<crate::ThisProgram>) {
- program.with_dispatcher(CMDMinglingLinter);
+ program.with_dispatcher(CMDLint);
program.with_dispatcher(CMDLinterSupportRustAnalyzer);
program.with_dispatcher(CMDLinterSupportRustAnalyzerWithClippy);
program.with_dispatcher(CMDLinterSupportRustAnalyzerWithCheck);
@@ -40,10 +40,7 @@ dispatcher!("ra-lint",
);
#[chain]
-pub fn handle_ra_lint(
- _: EntryLinterSupportRustAnalyzer,
- use_json: &mut ResUsingJson,
-) -> EntryMinglingLinter {
+pub fn handle_ra_lint(_: EntryLinterSupportRustAnalyzer, use_json: &mut ResUsingJson) -> EntryLint {
use_json.using = true;
entry!("--message-format=json")
}
@@ -52,7 +49,7 @@ pub fn handle_ra_lint(
pub fn handle_ra_lint_check(
_: EntryLinterSupportRustAnalyzerWithCheck,
use_json: &mut ResUsingJson,
-) -> EntryMinglingLinter {
+) -> EntryLint {
use_json.using = true;
entry!("--message-format=json", "--with-checker=cargo,check")
}
@@ -61,7 +58,7 @@ pub fn handle_ra_lint_check(
pub fn handle_ra_lint_clippy(
_: EntryLinterSupportRustAnalyzerWithClippy,
use_json: &mut ResUsingJson,
-) -> EntryMinglingLinter {
+) -> EntryLint {
use_json.using = true;
entry!("--message-format=json", "--with-checker=cargo,clippy")
}
diff --git a/mingling_cli/src/linter/cmd_mlint.rs b/mingling_cli/src/linter/cmd_mlint.rs
index 55dd15c..1dfd02b 100644
--- a/mingling_cli/src/linter/cmd_mlint.rs
+++ b/mingling_cli/src/linter/cmd_mlint.rs
@@ -6,7 +6,7 @@ use mingling::macros::{arg, chain, dispatcher, pack};
use mingling::picker::EntryPicker;
use tokio::task::JoinSet;
-dispatcher!("lint", CMDMinglingLinter => EntryMinglingLinter);
+dispatcher!("lint", CMDLint => EntryLint);
/// Main linting function that processes all packages in the metadata.
///
@@ -71,7 +71,7 @@ async fn linter_main(metadata: &Metadata) -> Vec<MlintReport> {
pack!(StateBeginLinter = ());
#[chain]
-pub fn handle_lint(args: EntryMinglingLinter) -> StateBeginLinter {
+pub fn handle_lint(args: EntryLint) -> StateBeginLinter {
let (with_checker, checker_args) = args
.pick_or(&arg![with_checker: Option<String>], || {
Some("cargo,check".to_string())
diff --git a/mingling_cli/src/lints.rs b/mingling_cli/src/lints.rs
index 89f5ca3..8cc1e6e 100644
--- a/mingling_cli/src/lints.rs
+++ b/mingling_cli/src/lints.rs
@@ -1,3 +1,5 @@
+// This file is auto-generated by pre/lint_registry.rs
+
#![allow(unused)]
use crate::linter::mlint_report::{MlintLevel, MlintReport};
diff --git a/mingling_cli/tmpls/lints.tmpl b/mingling_cli/tmpls/lints.tmpl
index 590828a..e177079 100644
--- a/mingling_cli/tmpls/lints.tmpl
+++ b/mingling_cli/tmpls/lints.tmpl
@@ -1,3 +1,5 @@
+// This file is auto-generated by pre/lint_registry.rs
+
#![allow(unused)]
use crate::linter::mlint_report::{MlintLevel, MlintReport};