summaryrefslogtreecommitdiffstats
path: root/src/commands/linemode.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/linemode.rs')
-rw-r--r--src/commands/linemode.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/commands/linemode.rs b/src/commands/linemode.rs
new file mode 100644
index 0000000..82668f6
--- /dev/null
+++ b/src/commands/linemode.rs
@@ -0,0 +1,13 @@
+use super::reload;
+use crate::config::option::LineMode;
+use crate::context::AppContext;
+use crate::error::JoshutoResult;
+use crate::history::DirectoryHistory;
+
+pub fn set_linemode(context: &mut AppContext, linemode: LineMode) -> JoshutoResult {
+ let curr_tab = context.tab_context_mut().curr_tab_mut();
+ curr_tab.option_mut().linemode = linemode;
+ curr_tab.history_mut().depreciate_all_entries();
+ reload::soft_reload_curr_tab(context)?;
+ Ok(())
+}