Fix unused parent tags getting cleared (#3299)

Co-authored-by: Damien Elmes <dae@users.noreply.github.com>
This commit is contained in:
Abdo 2024-07-21 11:00:39 +03:00 committed by GitHub
parent 63afb0f8c6
commit bb5ed4da9c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 2 additions and 2 deletions

View file

@ -56,7 +56,7 @@ fn is_tag_separator(c: char) -> bool {
}
pub(crate) fn immediate_parent_name_unicase(tag_name: UniCase<&str>) -> Option<UniCase<&str>> {
tag_name.rsplit_once('\x1f').map(|t| t.0).map(UniCase::new)
tag_name.rsplit_once("::").map(|t| t.0).map(UniCase::new)
}
fn immediate_parent_name_str(tag_name: &str) -> Option<&str> {

View file

@ -58,10 +58,10 @@ fn add_missing_parents(tags: &mut Vec<Tag>) {
}
fn tags_to_tree(mut tags: Vec<Tag>) -> TagTreeNode {
add_missing_parents(&mut tags);
for tag in &mut tags {
tag.name = tag.name.replace("::", "\x1f");
}
add_missing_parents(&mut tags);
tags.sort_unstable_by(|a, b| UniCase::new(&a.name).cmp(&UniCase::new(&b.name)));
let mut top = TagTreeNode::default();
let mut it = tags.into_iter().peekable();