pub struct TerminalOutputClassifier;Expand description
Stateless, case-sensitive heuristic terminal-output classifier.
§Examples
use ailloli_ui_terminal_core::TerminalOutputClassifier;
let classifier = TerminalOutputClassifier::new();
assert_eq!(classifier, TerminalOutputClassifier);Implementations§
Source§impl TerminalOutputClassifier
impl TerminalOutputClassifier
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates the zero-sized stateless classifier.
§Examples
use ailloli_ui_terminal_core::TerminalOutputClassifier;
assert_eq!(TerminalOutputClassifier::new(), TerminalOutputClassifier::default());Sourcepub fn classify(&self, state: &TerminalState) -> TerminalOutputClassification
pub fn classify(&self, state: &TerminalState) -> TerminalOutputClassification
Classifies the normal screen, retained scrollback, and failed command history.
Patterns are case-sensitive and may emit several diagnostics for one
line. Relative file locations use state.cwd_uri, falling back to the
shell CWD; no filesystem access occurs. Results sort by global line then
severity (Error, Warning, Info, Hint), deduplicate equal semantic
keys, assign fresh IDs starting at one, and emit matching Added events.
The alternate screen is not classified even when active. Complexity is
linear in text plus command history except duplicate removal, which is
quadratic in the number of candidate diagnostics.
§Examples
use ailloli_ui_terminal_core::{TerminalDiagnosticKind, TerminalOutputClassifier, TerminalState};
let mut state = TerminalState::new();
state.write_str("error: build failed");
let output = TerminalOutputClassifier::new().classify(&state);
assert!(output.diagnostics.iter().any(|item| item.kind == TerminalDiagnosticKind::RustcError));Trait Implementations§
Source§impl Clone for TerminalOutputClassifier
impl Clone for TerminalOutputClassifier
Source§fn clone(&self) -> TerminalOutputClassifier
fn clone(&self) -> TerminalOutputClassifier
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TerminalOutputClassifier
impl Debug for TerminalOutputClassifier
Source§impl Default for TerminalOutputClassifier
impl Default for TerminalOutputClassifier
Source§fn default() -> TerminalOutputClassifier
fn default() -> TerminalOutputClassifier
Returns the “default value” for a type. Read more
Source§impl PartialEq for TerminalOutputClassifier
impl PartialEq for TerminalOutputClassifier
impl Copy for TerminalOutputClassifier
impl Eq for TerminalOutputClassifier
impl StructuralPartialEq for TerminalOutputClassifier
Auto Trait Implementations§
impl Freeze for TerminalOutputClassifier
impl RefUnwindSafe for TerminalOutputClassifier
impl Send for TerminalOutputClassifier
impl Sync for TerminalOutputClassifier
impl Unpin for TerminalOutputClassifier
impl UnwindSafe for TerminalOutputClassifier
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