pub struct CopilotStreamParser;Expand description
Parses JSONL lines from Copilot’s prompt-mode output.
Implementations§
Source§impl CopilotStreamParser
impl CopilotStreamParser
Sourcepub fn parse_line(line: &str) -> Option<CopilotStreamEvent>
pub fn parse_line(line: &str) -> Option<CopilotStreamEvent>
Parse a single line of JSONL output.
Returns None for empty lines or malformed JSON.
Sourcepub fn extract_text(line: &str) -> Option<String>
pub fn extract_text(line: &str) -> Option<String>
Extract assistant text from a single Copilot JSONL line.
Sourcepub fn extract_all_text(raw_output: &str) -> String
pub fn extract_all_text(raw_output: &str) -> String
Extract assistant text from a full Copilot JSONL payload.
Sourcepub fn append_text_chunk(output: &mut String, chunk: &str)
pub fn append_text_chunk(output: &mut String, chunk: &str)
Appends text while preserving message boundaries for downstream parsing.
Auto Trait Implementations§
impl Freeze for CopilotStreamParser
impl RefUnwindSafe for CopilotStreamParser
impl Send for CopilotStreamParser
impl Sync for CopilotStreamParser
impl Unpin for CopilotStreamParser
impl UnsafeUnpin for CopilotStreamParser
impl UnwindSafe for CopilotStreamParser
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more