NarjuHelper

Struct NarjuHelper 

Source
pub struct NarjuHelper {
    pub completer: FilenameCompleter,
    pub hinter: HistoryHinter,
}
Expand description

The rustyline helper for the raw λ↑↓ REPL: syntax highlighting, filename completion (for :load), history hints, and bracket validation.

Fields§

§completer: FilenameCompleter

Completes filenames, for :load arguments.

§hinter: HistoryHinter

Offers the rest of a matching history entry as a dimmed hint.

Trait Implementations§

Source§

impl Completer for NarjuHelper

Source§

type Candidate = <FilenameCompleter as Completer>::Candidate

Specific completion candidate.
Source§

fn complete( &self, line: &str, pos: usize, ctx: &Context<'_>, ) -> Result<(usize, Vec<Self::Candidate>)>

Takes the currently edited line with the cursor position and returns the start position and the completion candidates for the partial word to be completed. Read more
Source§

fn update( &self, line: &mut LineBuffer, start: usize, elected: &str, cl: &mut Changeset, )

Updates the edited line with the elected candidate.
Source§

impl Highlighter for NarjuHelper

Source§

fn highlight_hint<'h>(&self, hint: &'h str) -> Cow<'h, str>

Takes the hint and returns the highlighted version (with ANSI color).
Source§

fn highlight_prompt<'b, 's: 'b, 'p: 'b>( &'s self, prompt: &'p str, _default: bool, ) -> Cow<'b, str>

Takes the prompt and returns the highlighted version (with ANSI color).
Source§

fn highlight<'l>(&self, line: &'l str, pos: usize) -> Cow<'l, str>

Takes the currently edited line with the cursor position and returns the highlighted version (with ANSI color). Read more
Source§

fn highlight_char(&self, _line: &str, _pos: usize, _forced: bool) -> bool

Tells if line needs to be highlighted when a specific char is typed or when cursor is moved under a specific char. forced flag is true mainly when user presses Enter (i.e. transient vs final highlight). Read more
§

fn highlight_candidate<'c>( &self, candidate: &'c str, completion: CompletionType, ) -> Cow<'c, str>

Takes the completion candidate and returns the highlighted version (with ANSI color). Read more
Source§

impl Hinter for NarjuHelper

Source§

type Hint = <HistoryHinter as Hinter>::Hint

Specific hint type
Source§

fn hint(&self, line: &str, pos: usize, ctx: &Context<'_>) -> Option<Self::Hint>

Takes the currently edited line with the cursor position and returns the string that should be displayed or None if no hint is available for the text the user currently typed.
Source§

impl Validator for NarjuHelper

Bracket-balance validator — waits for balanced parens before submitting.

Source§

fn validate(&self, ctx: &mut ValidationContext<'_>) -> Result<ValidationResult>

Takes the currently edited input and returns a ValidationResult indicating whether it is valid or not along with an option message to display about the result. The most common validity check to implement is probably whether the input is complete or not, for instance ensuring that all delimiters are fully balanced. Read more
§

fn validate_while_typing(&self) -> bool

Configure whether validation is performed while typing or only when user presses the Enter key. Read more
Source§

impl Helper for NarjuHelper

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.