diff --git a/src/app.rs b/src/app.rs index d2858a5..ce81fe9 100644 --- a/src/app.rs +++ b/src/app.rs @@ -3447,9 +3447,18 @@ impl TaskwarriorTui { for task in &self.tasks { if let Some(tags) = task.tags() { for tag in tags { - let t = format!("+{}", &tag); if !virtual_tags.contains(tag) { - self.completion_list.insert(("tag".to_string(), t)); + self.completion_list + .insert(("tag".to_string(), format!("tag:{}", &tag))); + } + } + } + } + for task in &self.tasks { + if let Some(tags) = task.tags() { + for tag in tags { + if !virtual_tags.contains(tag) { + self.completion_list.insert(("+".to_string(), format!("+{}", &tag))); } } } diff --git a/src/completion.rs b/src/completion.rs index 4eb33d5..3ecf371 100644 --- a/src/completion.rs +++ b/src/completion.rs @@ -180,6 +180,9 @@ impl CompletionList { } else if input.contains(':') { self.input = input.split_once(':').unwrap().1.to_string(); self.helper.context = input.split_once(':').unwrap().0.to_string(); + } else if input.contains('+') { + self.input = format!("+{}", input.split_once('+').unwrap().1); + self.helper.context = "+".to_string(); } else { self.input = input; self.helper.context = "attribute".to_string();