mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-03-31 16:45:27 +00:00
skip escaped tags
This commit is contained in:
parent
c64f2d9a9b
commit
88a3e94f42
8 changed files with 120 additions and 0 deletions
|
|
@ -35,6 +35,18 @@ impl Bold {
|
||||||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||||
|
|
||||||
|
if start_char_offset > 0
|
||||||
|
&& buffer
|
||||||
|
.text(
|
||||||
|
&buffer.iter_at_offset(start_char_offset - 1),
|
||||||
|
&end_iter,
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
.contains("\\")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
let mut tags = start_iter.tags();
|
let mut tags = start_iter.tags();
|
||||||
tags.push(self.0.clone());
|
tags.push(self.0.clone());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,18 @@ impl Header {
|
||||||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||||
|
|
||||||
|
if start_char_offset > 0
|
||||||
|
&& buffer
|
||||||
|
.text(
|
||||||
|
&buffer.iter_at_offset(start_char_offset - 1),
|
||||||
|
&end_iter,
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
.contains("\\")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
buffer.delete(&mut start_iter, &mut end_iter);
|
buffer.delete(&mut start_iter, &mut end_iter);
|
||||||
|
|
||||||
match cap["level"].chars().count() {
|
match cap["level"].chars().count() {
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,18 @@ pub fn render(buffer: &TextBuffer) {
|
||||||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||||
|
|
||||||
|
if start_char_offset > 0
|
||||||
|
&& buffer
|
||||||
|
.text(
|
||||||
|
&buffer.iter_at_offset(start_char_offset - 1),
|
||||||
|
&end_iter,
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
.contains("\\")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
buffer.delete(&mut start_iter, &mut end_iter);
|
buffer.delete(&mut start_iter, &mut end_iter);
|
||||||
|
|
||||||
let item = Item::parse(
|
let item = Item::parse(
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,18 @@ impl Pre {
|
||||||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||||
|
|
||||||
|
if start_char_offset > 0
|
||||||
|
&& buffer
|
||||||
|
.text(
|
||||||
|
&buffer.iter_at_offset(start_char_offset - 1),
|
||||||
|
&end_iter,
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
.contains("\\")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
buffer.delete(&mut start_iter, &mut end_iter);
|
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"], &[&self.0])
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,18 @@ impl Quote {
|
||||||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||||
|
|
||||||
|
if start_char_offset > 0
|
||||||
|
&& buffer
|
||||||
|
.text(
|
||||||
|
&buffer.iter_at_offset(start_char_offset - 1),
|
||||||
|
&end_iter,
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
.contains("\\")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
buffer.delete(&mut start_iter, &mut end_iter);
|
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"], &[&self.0])
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,18 @@ pub fn render_images_links(
|
||||||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||||
|
|
||||||
|
if start_char_offset > 0
|
||||||
|
&& buffer
|
||||||
|
.text(
|
||||||
|
&buffer.iter_at_offset(start_char_offset - 1),
|
||||||
|
&end_iter,
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
.contains("\\")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
buffer.delete(&mut start_iter, &mut end_iter);
|
buffer.delete(&mut start_iter, &mut end_iter);
|
||||||
|
|
||||||
if let Some(this) = Reference::parse(
|
if let Some(this) = Reference::parse(
|
||||||
|
|
@ -171,6 +183,18 @@ pub fn render_images(
|
||||||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||||
|
|
||||||
|
if start_char_offset > 0
|
||||||
|
&& buffer
|
||||||
|
.text(
|
||||||
|
&buffer.iter_at_offset(start_char_offset - 1),
|
||||||
|
&end_iter,
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
.contains("\\")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
buffer.delete(&mut start_iter, &mut end_iter);
|
buffer.delete(&mut start_iter, &mut end_iter);
|
||||||
|
|
||||||
if let Some(this) = Reference::parse(
|
if let Some(this) = Reference::parse(
|
||||||
|
|
@ -210,6 +234,18 @@ pub fn render_links(
|
||||||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||||
|
|
||||||
|
if start_char_offset > 0
|
||||||
|
&& buffer
|
||||||
|
.text(
|
||||||
|
&buffer.iter_at_offset(start_char_offset - 1),
|
||||||
|
&end_iter,
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
.contains("\\")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
buffer.delete(&mut start_iter, &mut end_iter);
|
buffer.delete(&mut start_iter, &mut end_iter);
|
||||||
|
|
||||||
if let Some(this) = Reference::parse(
|
if let Some(this) = Reference::parse(
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,18 @@ impl Strike {
|
||||||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||||
|
|
||||||
|
if start_char_offset > 0
|
||||||
|
&& buffer
|
||||||
|
.text(
|
||||||
|
&buffer.iter_at_offset(start_char_offset - 1),
|
||||||
|
&end_iter,
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
.contains("\\")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
let mut tags = start_iter.tags();
|
let mut tags = start_iter.tags();
|
||||||
tags.push(self.0.clone());
|
tags.push(self.0.clone());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,18 @@ impl Underline {
|
||||||
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
let mut start_iter = buffer.iter_at_offset(start_char_offset);
|
||||||
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
let mut end_iter = buffer.iter_at_offset(end_char_offset);
|
||||||
|
|
||||||
|
if start_char_offset > 0
|
||||||
|
&& buffer
|
||||||
|
.text(
|
||||||
|
&buffer.iter_at_offset(start_char_offset - 1),
|
||||||
|
&end_iter,
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
.contains("\\")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
let mut tags = start_iter.tags();
|
let mut tags = start_iter.tags();
|
||||||
tags.push(self.0.clone());
|
tags.push(self.0.clone());
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue