pub enum OperatingMode {
NonTty,
PromptOnly,
UartEcho,
Interactive,
}Expand description
Represents the resolved concrete operating mode of the line editor.
OperatingMode determines how line-editor handles input streams, character echoing, escape
sequences, line editing keybindings, and prompt rendering.
Variants§
NonTty
Non-TTY mode (e.g., input redirected from a file, pipe, or non-interactive script).
- When used: Resolved when standard input is not a terminal stream, or when
TerminalMode::NonTtyis explicitly configured. - Consequences: No prompt is printed to the output stream. Escape sequences, raw mode, completion, hints, and line-editing keybindings are completely disabled. Input bytes are read sequentially until a newline or EOF is reached.
PromptOnly
Prompt-only mode for unsupported or dumb terminals (e.g., TERM=dumb, cons25, emacs).
- When used: Resolved when the terminal capability check determines the terminal does not support ANSI/VT100 escape sequences.
- Consequences: The prompt is written to the output stream before reading input, but ANSI/VT100 control sequences (cursor positioning, line clearing, colorized hints) and raw mode editing are disabled. Standard stream line buffering applies.
UartEcho
UART character echo mode (e.g., TERM=uart or serial console).
- When used: Resolved when connected to a serial UART console that lacks full ANSI/VT100 screen manipulation but requires character-by-character echoing.
- Consequences: The prompt is printed, and typed characters are echoed back to the
output stream byte-by-byte. Basic backspace erasing (
\x08 \x08) is handled, but complex VT100 cursor movement and multi-line editing are disabled.
Interactive
Full interactive VT100/ANSI terminal mode.
- When used: Resolved when connected to an interactive TTY terminal supporting
ANSI/VT100 control sequences (e.g.,
xterm,vt100,screen,tmux). - Consequences: Full raw-mode line editing with VT100 escape sequence handling, cursor movement, history navigation, tab autocompletion, inline hints, and multi-line refresh. Writes a trailing newline upon line submission.
Trait Implementations§
Source§impl Clone for OperatingMode
impl Clone for OperatingMode
Source§fn clone(&self) -> OperatingMode
fn clone(&self) -> OperatingMode
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for OperatingMode
Source§impl Debug for OperatingMode
impl Debug for OperatingMode
impl Eq for OperatingMode
Source§impl PartialEq for OperatingMode
impl PartialEq for OperatingMode
impl StructuralPartialEq for OperatingMode
Auto Trait Implementations§
impl Freeze for OperatingMode
impl RefUnwindSafe for OperatingMode
impl Send for OperatingMode
impl Sync for OperatingMode
impl Unpin for OperatingMode
impl UnsafeUnpin for OperatingMode
impl UnwindSafe for OperatingMode
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