summaryrefslogtreecommitdiffstats
path: root/src/commands/case_sensitivity.rs
blob: 658c7feea7c692d682c3078e37ba6e7acd7aac06 (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::option::CaseSensitivity;
use crate::context::AppContext;
use crate::error::JoshutoResult;

#[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,
) -> JoshutoResult {
    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(())
}