mirror of
https://github.com/kdheepak/taskwarrior-tui.git
synced 2025-08-27 15:47: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();
|
let mut style = Style::default();
|
||||||
|
|
||||||
for tag_name in virtual_tag_names_in_precedence.iter().rev() {
|
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() {
|
if let Some(p) = task.priority() {
|
||||||
let c = self
|
let c = self
|
||||||
.config
|
.config
|
||||||
.color
|
.color
|
||||||
.get(&format!("color.{}priority.{}", tag_name, p))
|
.get(&format!("color.uda.priority.{}", p))
|
||||||
.cloned()
|
.cloned()
|
||||||
.unwrap_or_default();
|
.unwrap_or_default();
|
||||||
style = config::blend(style, c);
|
style = config::blend(style, c);
|
||||||
|
@ -1285,6 +1285,7 @@ impl TTApp {
|
||||||
for l_i in 0..tasks.len() {
|
for l_i in 0..tasks.len() {
|
||||||
let default_deps = vec![];
|
let default_deps = vec![];
|
||||||
let deps = tasks[l_i].depends().unwrap_or(&default_deps).clone();
|
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 dep in deps {
|
||||||
for r_i in 0..tasks.len() {
|
for r_i in 0..tasks.len() {
|
||||||
if tasks[r_i].uuid() == &dep {
|
if tasks[r_i].uuid() == &dep {
|
||||||
|
@ -1295,6 +1296,7 @@ impl TTApp {
|
||||||
&& rstatus != &TaskStatus::Completed
|
&& rstatus != &TaskStatus::Completed
|
||||||
&& rstatus != &TaskStatus::Deleted
|
&& 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[l_i], "BLOCKED".to_string());
|
||||||
add_tag(&mut tasks[r_i], "BLOCKING".to_string());
|
add_tag(&mut tasks[r_i], "BLOCKING".to_string());
|
||||||
}
|
}
|
||||||
|
@ -1338,6 +1340,9 @@ impl TTApp {
|
||||||
{
|
{
|
||||||
add_tag(&mut task, "TAGGED".to_string());
|
add_tag(&mut task, "TAGGED".to_string());
|
||||||
}
|
}
|
||||||
|
if !task.uda().is_empty() {
|
||||||
|
add_tag(&mut task, "UDA".to_string());
|
||||||
|
}
|
||||||
if task.mask().is_some() {
|
if task.mask().is_some() {
|
||||||
add_tag(&mut task, "TEMPLATE".to_string());
|
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)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
@ -1736,6 +1749,7 @@ mod tests {
|
||||||
.iter()
|
.iter()
|
||||||
.map(|s| s.to_string())
|
.map(|s| s.to_string())
|
||||||
.collect::<Vec<String>>();
|
.collect::<Vec<String>>();
|
||||||
|
dbg!(task.tags());
|
||||||
for tag in tags {
|
for tag in tags {
|
||||||
assert!(task.tags().unwrap().contains(&tag));
|
assert!(task.tags().unwrap().contains(&tag));
|
||||||
}
|
}
|
||||||
|
@ -1769,7 +1783,7 @@ mod tests {
|
||||||
dbg!(style);
|
dbg!(style);
|
||||||
assert!(style == Style::default().fg(Color::Green));
|
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());
|
dbg!(task.tags().unwrap());
|
||||||
let style = app.style_for_task(&task);
|
let style = app.style_for_task(&task);
|
||||||
dbg!(style);
|
dbg!(style);
|
||||||
|
|
|
@ -7,9 +7,6 @@ use tui::style::{Color, Modifier, Style};
|
||||||
pub fn blend(style: Style, c: TColor) -> Style {
|
pub fn blend(style: Style, c: TColor) -> Style {
|
||||||
let mut style = style;
|
let mut style = style;
|
||||||
|
|
||||||
let mut c = c;
|
|
||||||
c.upgrade();
|
|
||||||
|
|
||||||
if c.fg != Color::Reset {
|
if c.fg != Color::Reset {
|
||||||
style = style.fg(c.fg);
|
style = style.fg(c.fg);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue