From c0e91569935447b2e50e60afc2cd2e5941c5ad99 Mon Sep 17 00:00:00 2001 From: Ninjani <48680156+Ninjani@users.noreply.github.com> Date: Wed, 14 Apr 2021 10:53:16 +0200 Subject: [PATCH] feat(hierarchy): replace / with path separator --- src/gooseberry/knowledge_base.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gooseberry/knowledge_base.rs b/src/gooseberry/knowledge_base.rs index 5eb2117..6a186c5 100644 --- a/src/gooseberry/knowledge_base.rs +++ b/src/gooseberry/knowledge_base.rs @@ -206,6 +206,7 @@ impl Gooseberry { let mut order_to_annotations = HashMap::new(); match order { OrderBy::Tag => { + let path_separator = &std::path::MAIN_SEPARATOR.to_string(); for annotation in annotations { if annotation.annotation.tags.is_empty() { order_to_annotations @@ -214,8 +215,9 @@ impl Gooseberry { .push(annotation); } else { for tag in &annotation.annotation.tags { + let tag = tag.replace("/", path_separator); order_to_annotations - .entry(tag.to_owned()) + .entry(tag) .or_insert_with(Vec::new) .push(annotation.clone()); } @@ -368,6 +370,7 @@ impl Gooseberry { raw_annotations: inner_annotations, }; // TODO: check if nested tags work on Windows + // TODO: add tests for nested tags if let Some(prefix) = path.parent() { fs::create_dir_all(prefix)?; }