summaryrefslogtreecommitdiffstats
path: root/src/commands/flat.rs
blob: 1f3891a27d197d8f8d9de485f945d46e599952b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use crate::context::AppContext;
use crate::error::JoshutoResult;

use super::reload;

pub fn flatten(context: &mut AppContext, depth: usize) -> JoshutoResult {
    let curr_tab = context.tab_context_mut().curr_tab_mut();
    let path = curr_tab.cwd().to_path_buf();
    curr_tab
        .option_mut()
        .dirlist_options_mut(&path)
        .set_depth(depth as u8);

    if let Some(list) = curr_tab.curr_list_mut() {
        list.depreciate();
    }

    reload::soft_reload_curr_tab(context)?;
    Ok(())
}