summaryrefslogtreecommitdiffstats
path: root/src/render/markdown.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-10-29 12:52:04 +0800
committerGitHub <noreply@github.com>2023-10-29 12:52:04 +0800
commit10b1d4b4de521a48747c73d29e9fe3f06db48a32 (patch)
tree5ed5364501eceef197e12d1377b24c61b2b0d18f /src/render/markdown.rs
parent33a9aacf39ea105e311f032e5d15c62cbeaa93e0 (diff)
downloadaichat-10b1d4b4de521a48747c73d29e9fe3f06db48a32.tar.gz
fix: unexpcted duplicate lines in kitty (#167)
Diffstat (limited to 'src/render/markdown.rs')
-rw-r--r--src/render/markdown.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/render/markdown.rs b/src/render/markdown.rs
index 75904af..66bb601 100644
--- a/src/render/markdown.rs
+++ b/src/render/markdown.rs
@@ -53,14 +53,17 @@ impl MarkdownRender {
}
}
- pub fn render(&mut self, src: &str) -> String {
+ pub fn render_block(&mut self, src: &str) -> String {
src.split('\n')
- .map(|line| self.render_line(line).unwrap_or_else(|| line.to_string()))
+ .map(|line| {
+ self.render_line_impl(line)
+ .unwrap_or_else(|| line.to_string())
+ })
.collect::<Vec<String>>()
.join("\n")
}
- pub fn render_line_stateless(&self, line: &str) -> String {
+ pub fn render_line(&self, line: &str) -> String {
let output = if self.is_code_block() && detect_code_block(line).is_none() {
self.render_code_line(line)
} else {
@@ -76,7 +79,7 @@ impl MarkdownRender {
)
}
- fn render_line(&mut self, line: &str) -> Option<String> {
+ fn render_line_impl(&mut self, line: &str) -> Option<String> {
if let Some(lang) = detect_code_block(line) {
match self.prev_line_type {
LineType::Normal | LineType::CodeEnd => {