summaryrefslogtreecommitdiffstats
path: root/src/render
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-04-29 08:33:17 +0800
committerGitHub <noreply@github.com>2024-04-29 08:33:17 +0800
commit37a0cd08a92f07ef24e39bdab7c8bced5b59c146 (patch)
tree1082ed49fa584a7f8e07763146ab0e73a475b383 /src/render
parent865be2bf75bb62b6aeee059f684400b4b9938a15 (diff)
downloadaichat-37a0cd08a92f07ef24e39bdab7c8bced5b59c146.tar.gz
refactor: rename some structs (#457)
Diffstat (limited to 'src/render')
-rw-r--r--src/render/mod.rs4
-rw-r--r--src/render/stream.rs26
2 files changed, 15 insertions, 15 deletions
diff --git a/src/render/mod.rs b/src/render/mod.rs
index 146577b..9487d69 100644
--- a/src/render/mod.rs
+++ b/src/render/mod.rs
@@ -5,7 +5,7 @@ pub use self::markdown::{MarkdownRender, RenderOptions};
use self::stream::{markdown_stream, raw_stream};
use crate::utils::AbortSignal;
-use crate::{client::ReplyEvent, config::GlobalConfig};
+use crate::{client::SseEvent, config::GlobalConfig};
use anyhow::Result;
use is_terminal::IsTerminal;
@@ -14,7 +14,7 @@ use std::io::stdout;
use tokio::sync::mpsc::UnboundedReceiver;
pub async fn render_stream(
- rx: UnboundedReceiver<ReplyEvent>,
+ rx: UnboundedReceiver<SseEvent>,
config: &GlobalConfig,
abort: AbortSignal,
) -> Result<()> {
diff --git a/src/render/stream.rs b/src/render/stream.rs
index 6007690..f35831c 100644
--- a/src/render/stream.rs
+++ b/src/render/stream.rs
@@ -1,4 +1,4 @@
-use super::{MarkdownRender, ReplyEvent};
+use super::{MarkdownRender, SseEvent};
use crate::utils::{run_spinner, AbortSignal};
@@ -17,7 +17,7 @@ use textwrap::core::display_width;
use tokio::sync::{mpsc::UnboundedReceiver, oneshot};
pub async fn markdown_stream(
- rx: UnboundedReceiver<ReplyEvent>,
+ rx: UnboundedReceiver<SseEvent>,
render: &mut MarkdownRender,
abort: &AbortSignal,
) -> Result<()> {
@@ -31,18 +31,18 @@ pub async fn markdown_stream(
ret
}
-pub async fn raw_stream(mut rx: UnboundedReceiver<ReplyEvent>, abort: &AbortSignal) -> Result<()> {
+pub async fn raw_stream(mut rx: UnboundedReceiver<SseEvent>, abort: &AbortSignal) -> Result<()> {
loop {
if abort.aborted() {
return Ok(());
}
if let Some(evt) = rx.recv().await {
match evt {
- ReplyEvent::Text(text) => {
+ SseEvent::Text(text) => {
print!("{}", text);
stdout().flush()?;
}
- ReplyEvent::Done => {
+ SseEvent::Done => {
break;
}
}
@@ -52,7 +52,7 @@ pub async fn raw_stream(mut rx: UnboundedReceiver<ReplyEvent>, abort: &AbortSign
}
async fn markdown_stream_inner(
- mut rx: UnboundedReceiver<ReplyEvent>,
+ mut rx: UnboundedReceiver<SseEvent>,
render: &mut MarkdownRender,
abort: &AbortSignal,
writer: &mut Stdout,
@@ -76,7 +76,7 @@ async fn markdown_stream_inner(
}
match reply_event {
- ReplyEvent::Text(mut text) => {
+ SseEvent::Text(mut text) => {
// tab width hacking
text = text.replace('\t', " ");
@@ -127,7 +127,7 @@ async fn markdown_stream_inner(
writer.flush()?;
}
- ReplyEvent::Done => {
+ SseEvent::Done => {
break 'outer;
}
}
@@ -156,15 +156,15 @@ async fn markdown_stream_inner(
Ok(())
}
-async fn gather_events(rx: &mut UnboundedReceiver<ReplyEvent>) -> Vec<ReplyEvent> {
+async fn gather_events(rx: &mut UnboundedReceiver<SseEvent>) -> Vec<SseEvent> {
let mut texts = vec![];
let mut done = false;
tokio::select! {
_ = async {
while let Some(reply_event) = rx.recv().await {
match reply_event {
- ReplyEvent::Text(v) => texts.push(v),
- ReplyEvent::Done => {
+ SseEvent::Text(v) => texts.push(v),
+ SseEvent::Done => {
done = true;
break;
}
@@ -175,10 +175,10 @@ async fn gather_events(rx: &mut UnboundedReceiver<ReplyEvent>) -> Vec<ReplyEvent
};
let mut events = vec![];
if !texts.is_empty() {
- events.push(ReplyEvent::Text(texts.join("")))
+ events.push(SseEvent::Text(texts.join("")))
}
if done {
- events.push(ReplyEvent::Done)
+ events.push(SseEvent::Done)
}
events
}