summaryrefslogtreecommitdiffstats
path: root/src/commands/case_sensitivity.rs
blob: 533ad401c4337f260e18790374e8197e3d513566 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use crate::config::clean::app::search::CaseSensitivity;
use crate::context::AppContext;
use crate::error::AppResult;

#[derive(Clone, Copy, Debug)]
pub enum SetType {
    String,
    Glob,
    Regex,
    Fzf,
}

pub fn set_case_sensitivity(
    context: &mut AppContext,
    case_sensitivity: CaseSensitivity,
    set_type: SetType,
) -> AppResult {
    let options = context.config_mut().search_options_mut();

    match set_type {
        SetType::String => options.string_case_sensitivity = case_sensitivity,
        SetType::Glob => options.glob_case_sensitivity = case_sensitivity,
        SetType::Regex => options.regex_case_sensitivity = case_sensitivity,
        SetType::Fzf => options.fzf_case_sensitivity = case_sensitivity,
    }

    Ok(())
}