Skip to content

Commit 7e3c1c1

Browse files
committed
Add plugin mode
1 parent 9b31acb commit 7e3c1c1

File tree

4 files changed

+31
-4
lines changed

4 files changed

+31
-4
lines changed

qlty-check/src/planner.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ use qlty_analysis::git::{compute_upstream, DiffLineFilter};
1919
use qlty_analysis::workspace_entries::TargetMode;
2020
use qlty_config::config::issue_transformer::IssueTransformer;
2121
use qlty_config::config::{DriverType, Match, PluginDef, Set, Triage};
22+
use qlty_config::config::{IssueMode, PluginMode};
2223
use qlty_config::{QltyConfig, Workspace};
2324
use qlty_types::analysis::v1::ExecutionVerb;
2425
use rayon::prelude::*;
@@ -292,7 +293,12 @@ impl Planner {
292293
set: Set {
293294
level: issue_override.level.clone(),
294295
category: issue_override.category.clone(),
295-
mode: issue_override.mode,
296+
mode: issue_override.mode.map(|m| match m {
297+
IssueMode::Block => PluginMode::Block,
298+
IssueMode::Comment => PluginMode::Comment,
299+
IssueMode::Monitor => PluginMode::Monitor,
300+
IssueMode::Disabled => PluginMode::Monitor, // Mapping Disabled to Monitor as closest equivalent
301+
}),
296302
..Default::default()
297303
},
298304
_match: Match {

qlty-config/src/config.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ pub use plugin::{
2626
CheckTrigger, DriverBatchBy, DriverDef, DriverType, EnabledPlugin, ExtraPackage,
2727
InvocationDirectoryDef, InvocationDirectoryType, IssueMode, OutputDestination, OutputFormat,
2828
OutputMissing, PackageFileCandidate, Platform, PluginDef, PluginEnvironment, PluginFetch,
29-
Runtime, SuggestionMode, TargetDef, TargetType,
29+
PluginMode, Runtime, SuggestionMode, TargetDef, TargetType,
3030
};
3131
pub use release::ReleaseDef;
3232
pub use source::SourceDef;

qlty-config/src/config/plugin.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -736,6 +736,27 @@ impl PluginFetch {
736736
}
737737
}
738738

739+
#[derive(Debug, Serialize, Deserialize, Clone, Copy, Default, PartialEq, JsonSchema)]
740+
pub enum PluginMode {
741+
#[default]
742+
#[serde(rename = "block")]
743+
Block = 1,
744+
#[serde(rename = "comment")]
745+
Comment = 2,
746+
#[serde(rename = "monitor")]
747+
Monitor = 3,
748+
}
749+
750+
impl PluginMode {
751+
pub fn to_str(&self) -> &'static str {
752+
match self {
753+
PluginMode::Block => "block",
754+
PluginMode::Comment => "comment",
755+
PluginMode::Monitor => "monitor",
756+
}
757+
}
758+
}
759+
739760
#[derive(Debug, Serialize, Deserialize, Clone, Copy, Default, PartialEq, JsonSchema)]
740761
pub enum IssueMode {
741762
#[default]

qlty-config/src/config/triage.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use super::ignore::is_rule_issue_match;
2-
use super::IssueMode;
2+
use super::plugin::PluginMode;
33
use crate::config::issue_transformer::IssueTransformer;
44
use globset::{Glob, GlobSet, GlobSetBuilder};
55
use qlty_types::category_from_str;
@@ -43,7 +43,7 @@ pub struct Set {
4343
pub category: Option<String>,
4444

4545
#[serde(default)]
46-
pub mode: Option<IssueMode>,
46+
pub mode: Option<PluginMode>,
4747

4848
#[serde(default)]
4949
pub ignored: bool,

0 commit comments

Comments
 (0)