Trait rustyline::highlight::Highlighter

source ·
pub trait Highlighter {
    // Provided methods
    fn highlight<'l>(&self, line: &'l str, pos: usize) -> Cow<'l, str> { ... }
    fn highlight_prompt<'b, 's: 'b, 'p: 'b>(
        &'s self,
        prompt: &'p str,
        default: bool,
    ) -> Cow<'b, str> { ... }
    fn highlight_hint<'h>(&self, hint: &'h str) -> Cow<'h, str> { ... }
    fn highlight_candidate<'c>(
        &self,
        candidate: &'c str,
        completion: CompletionType,
    ) -> Cow<'c, str> { ... }
    fn highlight_char(&self, line: &str, pos: usize) -> bool { ... }
}
Expand description

Syntax highlighter with ANSI color. Rustyline will try to handle escape sequence for ANSI color on windows when not supported natively (windows <10).

Currently, the highlighted version must have the same display width as the original input.

Provided Methods§

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).

For example, you can implement blink-matching-paren.

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_hint<'h>(&self, hint: &'h str) -> Cow<'h, str>

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

source

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).

Currently, used only with CompletionType::List.

source

fn highlight_char(&self, line: &str, pos: usize) -> bool

Tells if line needs to be highlighted when a specific char is typed or when cursor is moved under a specific char.

Used to optimize refresh when a character is inserted or the cursor is moved.

Implementations on Foreign Types§

source§

impl Highlighter for ()

source§

impl<'r, H: ?Sized + Highlighter> Highlighter for &'r H

source§

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

source§

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

source§

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

source§

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

source§

fn highlight_char(&self, line: &str, pos: usize) -> bool

Implementors§