pub struct Input { /* private fields */ }Expand description
The input buffer with cursor support.
Example:
use tui_input::Input;
let input: Input = "Hello World".into();
assert_eq!(input.cursor(), 11);
assert_eq!(input.to_string(), "Hello World");Implementations§
Source§impl Input
impl Input
Sourcepub fn new(value: String) -> Self
pub fn new(value: String) -> Self
Initialize a new instance with a given value Cursor will be set to the given value’s length.
Sourcepub fn with_value(self, value: String) -> Self
pub fn with_value(self, value: String) -> Self
Set the value manually. Cursor will be set to the given value’s length.
Sourcepub fn with_cursor(self, cursor: usize) -> Self
pub fn with_cursor(self, cursor: usize) -> Self
Set the cursor manually. If the input is larger than the value length, it’ll be auto adjusted.
pub fn reset(&mut self)
pub fn value_and_reset(&mut self) -> String
Sourcepub fn handle(&mut self, req: InputRequest) -> InputResponse
pub fn handle(&mut self, req: InputRequest) -> InputResponse
Handle request and emit response.
Sourcepub fn cursor(&self) -> usize
pub fn cursor(&self) -> usize
Returns the number of codepoints preceding the cursor. Movement
and deletion operations step one grapheme at a time, so a single
InputRequest::GoToNextChar or InputRequest::DeletePrevChar
may change this count by more than one.
Sourcepub fn visual_cursor(&self) -> usize
pub fn visual_cursor(&self) -> usize
Returns the cursor’s position in display columns (per
unicode-width).
Sourcepub fn visual_scroll(&self, width: usize) -> usize
pub fn visual_scroll(&self, width: usize) -> usize
Get the scroll position with account for multispace characters.
Trait Implementations§
Source§impl EventHandler for Input
impl EventHandler for Input
Source§fn handle_event(&mut self, evt: &CrosstermEvent) -> Option<StateChanged>
fn handle_event(&mut self, evt: &CrosstermEvent) -> Option<StateChanged>
Handle crossterm event.
Auto Trait Implementations§
impl Freeze for Input
impl RefUnwindSafe for Input
impl Send for Input
impl Sync for Input
impl Unpin for Input
impl UnsafeUnpin for Input
impl UnwindSafe for Input
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read more