mirror of
https://github.com/kdheepak/taskwarrior-tui.git
synced 2025-08-25 17:57:19 +02:00
Add more tags
This commit is contained in:
parent
c8ecf55bb4
commit
eeeb6303fc
2 changed files with 17 additions and 6 deletions
20
src/app.rs
20
src/app.rs
|
@ -567,12 +567,12 @@ impl TTApp {
|
|||
let mut style = Style::default();
|
||||
|
||||
for tag_name in virtual_tag_names_in_precedence.iter().rev() {
|
||||
if tag_name == "uda." {
|
||||
if tag_name == "uda." || tag_name == "priority" {
|
||||
if let Some(p) = task.priority() {
|
||||
let c = self
|
||||
.config
|
||||
.color
|
||||
.get(&format!("color.{}priority.{}", tag_name, p))
|
||||
.get(&format!("color.uda.priority.{}", p))
|
||||
.cloned()
|
||||
.unwrap_or_default();
|
||||
style = config::blend(style, c);
|
||||
|
@ -1285,6 +1285,7 @@ impl TTApp {
|
|||
for l_i in 0..tasks.len() {
|
||||
let default_deps = vec![];
|
||||
let deps = tasks[l_i].depends().unwrap_or(&default_deps).clone();
|
||||
add_tag(&mut tasks[l_i], "UNBLOCKED".to_string());
|
||||
for dep in deps {
|
||||
for r_i in 0..tasks.len() {
|
||||
if tasks[r_i].uuid() == &dep {
|
||||
|
@ -1295,6 +1296,7 @@ impl TTApp {
|
|||
&& rstatus != &TaskStatus::Completed
|
||||
&& rstatus != &TaskStatus::Deleted
|
||||
{
|
||||
remove_tag(&mut tasks[l_i], "UNBLOCKED".to_string());
|
||||
add_tag(&mut tasks[l_i], "BLOCKED".to_string());
|
||||
add_tag(&mut tasks[r_i], "BLOCKING".to_string());
|
||||
}
|
||||
|
@ -1338,6 +1340,9 @@ impl TTApp {
|
|||
{
|
||||
add_tag(&mut task, "TAGGED".to_string());
|
||||
}
|
||||
if !task.uda().is_empty() {
|
||||
add_tag(&mut task, "UDA".to_string());
|
||||
}
|
||||
if task.mask().is_some() {
|
||||
add_tag(&mut task, "TEMPLATE".to_string());
|
||||
}
|
||||
|
@ -1700,6 +1705,14 @@ pub fn add_tag(task: &mut Task, tag: String) {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn remove_tag(task: &mut Task, tag: String) {
|
||||
if let Some(t) = task.tags_mut() {
|
||||
if let Some(index) = t.iter().position(|x| *x == tag) {
|
||||
t.remove(index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
@ -1736,6 +1749,7 @@ mod tests {
|
|||
.iter()
|
||||
.map(|s| s.to_string())
|
||||
.collect::<Vec<String>>();
|
||||
dbg!(task.tags());
|
||||
for tag in tags {
|
||||
assert!(task.tags().unwrap().contains(&tag));
|
||||
}
|
||||
|
@ -1769,7 +1783,7 @@ mod tests {
|
|||
dbg!(style);
|
||||
assert!(style == Style::default().fg(Color::Green));
|
||||
|
||||
let task = app.task_by_id(11).unwrap();
|
||||
let task = app.task_by_id(2).unwrap();
|
||||
dbg!(task.tags().unwrap());
|
||||
let style = app.style_for_task(&task);
|
||||
dbg!(style);
|
||||
|
|
|
@ -7,9 +7,6 @@ use tui::style::{Color, Modifier, Style};
|
|||
pub fn blend(style: Style, c: TColor) -> Style {
|
||||
let mut style = style;
|
||||
|
||||
let mut c = c;
|
||||
c.upgrade();
|
||||
|
||||
if c.fg != Color::Reset {
|
||||
style = style.fg(c.fg);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue