feat: Add configuration for reset filter on esc

This commit is contained in:
Dheepak Krishnamurthy 2022-01-05 05:53:10 -07:00
parent 6bbb31c1bb
commit 6007668b40
3 changed files with 18 additions and 5 deletions

View file

@ -33,6 +33,7 @@ uda.taskwarrior-tui.task-report.next.filter=$(task show report.next.filter)
uda.taskwarrior-tui.task-report.auto-insert-double-quotes-on-add=true
uda.taskwarrior-tui.task-report.auto-insert-double-quotes-on-annotate=true
uda.taskwarrior-tui.task-report.auto-insert-double-quotes-on-log=true
uda.taskwarrior-tui.task-report.reset-filter-on-esc=true
```
The `uda.taskwarrior-tui.task-report.next.filter` variable defines the default view at program startup. Set this to any preconfigured report (`task reports`), or create your own report in taskwarrior and specify its name here.

View file

@ -3181,13 +3181,15 @@ impl TaskwarriorTui {
} else {
self.mode = Mode::Tasks(Action::Report);
self.filter_history.add(self.filter.as_str());
self.filter.update("", 0);
for c in self.config.filter.chars() {
self.filter.insert(c, 1);
if self.config.uda_reset_filter_on_esc {
self.filter.update("", 0);
for c in self.config.filter.chars() {
self.filter.insert(c, 1);
}
self.update_input_for_completion();
self.dirty = true;
}
self.history_status = None;
self.update_input_for_completion();
self.dirty = true;
self.update(true)?;
}
}

View file

@ -52,6 +52,7 @@ pub struct Config {
pub uda_auto_insert_double_quotes_on_annotate: bool,
pub uda_auto_insert_double_quotes_on_log: bool,
pub uda_prefill_task_metadata: bool,
pub uda_reset_filter_on_esc: bool,
pub uda_task_detail_prefetch: usize,
pub uda_task_report_show_info: bool,
pub uda_task_report_looping: bool,
@ -100,6 +101,7 @@ impl Config {
let uda_auto_insert_double_quotes_on_annotate = Self::get_uda_auto_insert_double_quotes_on_annotate(data);
let uda_auto_insert_double_quotes_on_log = Self::get_uda_auto_insert_double_quotes_on_log(data);
let uda_prefill_task_metadata = Self::get_uda_prefill_task_metadata(data);
let uda_reset_filter_on_esc = Self::get_uda_reset_filter_on_esc(data);
let uda_task_detail_prefetch = Self::get_uda_task_detail_prefetch(data);
let uda_task_report_show_info = Self::get_uda_task_report_show_info(data);
let uda_task_report_looping = Self::get_uda_task_report_looping(data);
@ -151,6 +153,7 @@ impl Config {
uda_auto_insert_double_quotes_on_annotate,
uda_auto_insert_double_quotes_on_log,
uda_prefill_task_metadata,
uda_reset_filter_on_esc,
uda_task_detail_prefetch,
uda_task_report_show_info,
uda_task_report_looping,
@ -475,6 +478,13 @@ impl Config {
.unwrap_or(false)
}
fn get_uda_reset_filter_on_esc(data: &str) -> bool {
Self::get_config("uda.taskwarrior-tui.task-report.reset-filter-on-esc", data)
.unwrap_or_default()
.get_bool()
.unwrap_or(true)
}
fn get_uda_tick_rate(data: &str) -> u64 {
Self::get_config("uda.taskwarrior-tui.tick-rate", data)
.unwrap_or_default()