CqlCompleter

Struct CqlCompleter 

Source
pub struct CqlCompleter {
    cache: Arc<RwLock<SchemaCache>>,
    current_keyspace: Arc<RwLock<Option<String>>>,
    rt_handle: Handle,
    colorizer: CqlColorizer,
}
Expand description

Tab completer for the CQL shell REPL.

Fields§

§cache: Arc<RwLock<SchemaCache>>

Shared schema cache for keyspace/table/column lookups.

§current_keyspace: Arc<RwLock<Option<String>>>

Current keyspace (shared with session via USE command).

§rt_handle: Handle

Tokio runtime handle for blocking cache reads inside sync complete().

§colorizer: CqlColorizer

Syntax colorizer for highlighting.

Implementations§

Source§

impl CqlCompleter

Source

pub fn new( cache: Arc<RwLock<SchemaCache>>, current_keyspace: Arc<RwLock<Option<String>>>, rt_handle: Handle, color_enabled: bool, ) -> Self

Create a new completer with shared cache and keyspace state.

Source

fn detect_context(&self, line: &str, pos: usize) -> CompletionContext

Detect completion context from the input line up to the cursor position.

Source

fn complete_for_context( &self, ctx: &CompletionContext, prefix: &str, ) -> Vec<Pair>

Generate completions for the detected context.

Trait Implementations§

Source§

impl Completer for CqlCompleter

Source§

type Candidate = Pair

Specific completion candidate.
Source§

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

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
§

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 CqlCompleter

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_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_char(&self, _line: &str, _pos: usize, _forced: CmdKind) -> bool

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

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

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

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 CqlCompleter

Source§

type Hint = String

Specific hint type
Source§

fn hint(&self, _line: &str, _pos: usize, _ctx: &Context<'_>) -> Option<String>

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 CqlCompleter

§

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

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 CqlCompleter

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,