diff --git a/Cargo.lock b/Cargo.lock index 283d4f0..e711ddd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1394,7 +1394,7 @@ dependencies = [ [[package]] name = "taskwarrior-tui" -version = "0.13.33" +version = "0.13.34" dependencies = [ "anyhow", "async-std", diff --git a/Cargo.toml b/Cargo.toml index 139f727..9b81879 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "taskwarrior-tui" -version = "0.13.33" +version = "0.13.34" license = "MIT" description = "A Taskwarrior Terminal User Interface" repository = "https://github.com/kdheepak/taskwarrior-tui/" diff --git a/src/app.rs b/src/app.rs index 4d9528b..8f68b79 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1324,7 +1324,7 @@ impl TaskwarriorTui { if !self.task_details.contains_key(&task_uuid) || task_uuid == current_task_uuid { let output_fut = async_std::process::Command::new("task") .arg("rc.color=off") - .arg(format!("rc.defaultwidth={}", self.terminal_width - 2)) + .arg(format!("rc.defaultwidth={}", self.terminal_width.saturating_sub(2))) .arg(format!("{}", task_uuid)) .output(); output_futs.push(output_fut); @@ -2906,8 +2906,9 @@ impl TaskwarriorTui { if self.show_completion_pane { self.show_completion_pane = false; if let Some(s) = self.completion_list.selected() { - let s = format!("{}{}", self.command.as_str(), s); - self.command.update(&s, s.len()); + let (before, after) = self.command.as_str().split_at(self.command.pos()); + let fs = format!("{}{}{}", before, s, after); + self.command.update(&fs, self.command.pos() + s.len()); } self.completion_list.unselect(); } else { @@ -2953,6 +2954,7 @@ impl TaskwarriorTui { // self.history_status = Some(format!(" {} / {}", self.command_history_context.history_index() + 1, self.command_history_context.history_len())); } } + Key::Down => { if self.show_completion_pane && !self.completion_list.is_empty() { self.completion_list.next(); diff --git a/src/task_report.rs b/src/task_report.rs index 657c870..5fb7154 100644 --- a/src/task_report.rs +++ b/src/task_report.rs @@ -79,6 +79,7 @@ impl TaskReportTable { "LATEST", "RECURRING", "INSTANCE", + "TEMPLATE", ]; let mut task_report_table = Self { labels: vec![],