Skip to main content

Highlighter

Trait 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, kind: CmdKind) -> bool { ... }
}
Expand description

Syntax highlighter with ANSI color.

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, kind: CmdKind) -> 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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Highlighter for ()

Implementors§