mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-03-31 08:35:28 +00:00
append some tags to existing tags instead of overwrite
This commit is contained in:
parent
0eebd1c85d
commit
c64f2d9a9b
4 changed files with 30 additions and 4 deletions
|
|
@ -35,8 +35,15 @@ impl Bold {
|
|||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||
|
||||
let mut tags = start_iter.tags();
|
||||
tags.push(self.0.clone());
|
||||
|
||||
buffer.delete(&mut start_iter, &mut end_iter);
|
||||
buffer.insert_with_tags(&mut start_iter, &cap["text"], &[&self.0])
|
||||
buffer.insert_with_tags(
|
||||
&mut start_iter,
|
||||
&cap["text"],
|
||||
&tags.iter().collect::<Vec<&TextTag>>(),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -95,7 +95,12 @@ impl Reference {
|
|||
.build()
|
||||
};
|
||||
assert!(buffer.tag_table().add(&a));
|
||||
buffer.insert_with_tags(position, &self.alt, &[&a]);
|
||||
|
||||
let mut tags = position.tags(); // @TODO seems does not work :)
|
||||
tags.push(a.clone());
|
||||
|
||||
buffer.insert_with_tags(position, &self.alt, &tags.iter().collect::<Vec<&TextTag>>());
|
||||
|
||||
links.insert(a, self.uri);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,8 +40,15 @@ impl Strike {
|
|||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||
|
||||
let mut tags = start_iter.tags();
|
||||
tags.push(self.0.clone());
|
||||
|
||||
buffer.delete(&mut start_iter, &mut end_iter);
|
||||
buffer.insert_with_tags(&mut start_iter, &cap["text"], &[&self.0])
|
||||
buffer.insert_with_tags(
|
||||
&mut start_iter,
|
||||
&cap["text"],
|
||||
&tags.iter().collect::<Vec<&TextTag>>(),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,8 +36,15 @@ impl Underline {
|
|||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||
|
||||
let mut tags = start_iter.tags();
|
||||
tags.push(self.0.clone());
|
||||
|
||||
buffer.delete(&mut start_iter, &mut end_iter);
|
||||
buffer.insert_with_tags(&mut start_iter, &cap["text"], &[&self.0])
|
||||
buffer.insert_with_tags(
|
||||
&mut start_iter,
|
||||
&cap["text"],
|
||||
&tags.iter().collect::<Vec<&TextTag>>(),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue