qlty_analysis/workspace_entries/
target_mode.rs

1use crate::git::DiffMode;
2
3#[derive(Debug, Clone, PartialEq, Eq)]
4pub enum TargetMode {
5    All,
6    Sample(usize),
7    Paths(usize),
8    UpstreamDiff(String),
9    HeadDiff,
10}
11
12impl Default for TargetMode {
13    fn default() -> Self {
14        TargetMode::All
15    }
16}
17
18impl TargetMode {
19    pub fn diff_mode(&self) -> DiffMode {
20        match self {
21            TargetMode::UpstreamDiff(upstream) => DiffMode::UpstreamToWorkdir(upstream.to_string()),
22            TargetMode::HeadDiff => DiffMode::HeadToWorkdir,
23            _ => panic!("diff_mode() called on {:?}", self),
24        }
25    }
26}