mirror of
https://github.com/kdheepak/taskwarrior-tui.git
synced 2025-08-25 17:57:19 +02:00
Merge pull request #162 from kdheepak/prefill-additional-modify-information
Prefill additional information during modify
This commit is contained in:
commit
1135686007
1 changed files with 31 additions and 4 deletions
35
src/app.rs
35
src/app.rs
|
@ -26,7 +26,7 @@ use uuid::Uuid;
|
||||||
use unicode_segmentation::Graphemes;
|
use unicode_segmentation::Graphemes;
|
||||||
use unicode_segmentation::UnicodeSegmentation;
|
use unicode_segmentation::UnicodeSegmentation;
|
||||||
|
|
||||||
use chrono::{Datelike, Local, NaiveDate, NaiveDateTime, TimeZone};
|
use chrono::{Datelike, Local, NaiveDate, NaiveDateTime, TimeZone, Timelike};
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
|
|
||||||
|
@ -1830,7 +1830,36 @@ impl TaskwarriorTuiApp {
|
||||||
match self.task_table_state.mode() {
|
match self.task_table_state.mode() {
|
||||||
TableMode::SingleSelection => match self.task_current() {
|
TableMode::SingleSelection => match self.task_current() {
|
||||||
Some(t) => {
|
Some(t) => {
|
||||||
let s = format!("{} ", t.description());
|
let mut s = format!("{} ", t.description().replace("'", "\\'"));
|
||||||
|
if t.tags().is_some() {
|
||||||
|
let virtual_tags = self.task_report_table.virtual_tags.clone();
|
||||||
|
for tag in t.tags().unwrap() {
|
||||||
|
if !virtual_tags.contains(tag) {
|
||||||
|
s = format!("{}+{} ", s, tag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if t.project().is_some() {
|
||||||
|
s = format!("{}project:{} ", s, t.project().unwrap());
|
||||||
|
}
|
||||||
|
if t.priority().is_some() {
|
||||||
|
s = format!("{}priority:{} ", s, t.priority().unwrap());
|
||||||
|
}
|
||||||
|
if t.due().is_some() {
|
||||||
|
let date = t.due().unwrap();
|
||||||
|
let now = Local::now();
|
||||||
|
let date = TimeZone::from_utc_datetime(now.offset(), date);
|
||||||
|
s = format!(
|
||||||
|
"{}due:'{:04}-{:02}-{:02}T{:02}:{:02}:{:02}' ",
|
||||||
|
s,
|
||||||
|
date.year(),
|
||||||
|
date.month(),
|
||||||
|
date.day(),
|
||||||
|
date.hour(),
|
||||||
|
date.minute(),
|
||||||
|
date.second(),
|
||||||
|
)
|
||||||
|
}
|
||||||
self.modify.update(&s, s.as_str().len())
|
self.modify.update(&s, s.as_str().len())
|
||||||
}
|
}
|
||||||
None => self.modify.update("", 0),
|
None => self.modify.update("", 0),
|
||||||
|
@ -2445,8 +2474,6 @@ mod tests {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn test_task_later_today() {
|
fn test_task_later_today() {
|
||||||
use chrono::Timelike;
|
|
||||||
|
|
||||||
let total_tasks: u64 = 26;
|
let total_tasks: u64 = 26;
|
||||||
|
|
||||||
let mut app = TaskwarriorTuiApp::new().unwrap();
|
let mut app = TaskwarriorTuiApp::new().unwrap();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue