Skip to main content

Cli

Struct Cli 

Source
pub struct Cli {
Show 45 fields pub command: Option<Box<Command>>, pub pattern: Option<String>, pub path: Option<String>, pub json: bool, pub csv: bool, pub tsv: bool, pub headers: bool, pub columns: Option<String>, pub raw_csv: bool, pub preview: Option<usize>, pub no_color: bool, pub theme: ThemeName, pub sort: Option<SortField>, pub pager: bool, pub no_pager: bool, pub pager_cmd: Option<String>, pub kind: Option<SymbolKind>, pub lang: Option<String>, pub ignore_case: bool, pub exact: bool, pub count: bool, pub max_depth: usize, pub hidden: bool, pub follow: bool, pub fuzzy: bool, pub fuzzy_algorithm: String, pub fuzzy_threshold: f64, pub fuzzy_max_candidates: usize, pub json_stream: bool, pub fuzzy_fields: bool, pub fuzzy_field_distance: usize, pub limit: Option<usize>, pub list_languages: bool, pub debug_cache: bool, pub qualified_names: bool, pub validate: ValidationMode, pub auto_rebuild: bool, pub threshold_dangling_refs: Option<f64>, pub threshold_orphaned_files: Option<f64>, pub threshold_id_gaps: Option<f64>, pub text: bool, pub semantic: bool, pub no_fallback: bool, pub context: usize, pub max_text_results: usize,
}
Expand description

sqry - Semantic Query for Code

Search code by what it means, not just what it says. Uses AST analysis to find functions, classes, and symbols with precision.

Fields§

§command: Option<Box<Command>>

Subcommand (optional - defaults to search if pattern provided)

§pattern: Option<String>

Search pattern (shorthand for ‘search’ command)

Supports regex patterns by default. Use –exact for literal matching.

§path: Option<String>

Search path (defaults to current directory)

§json: bool

Output format as JSON

§csv: bool

Output format as CSV (comma-separated values)

RFC 4180 compliant CSV output. Use with –headers to include column names. By default, formula-triggering characters are prefixed with single quote for Excel/LibreOffice safety. Use –raw-csv to disable this protection.

§tsv: bool

Output format as TSV (tab-separated values)

Tab-delimited output for easy Unix pipeline processing. Newlines and tabs in field values are replaced with spaces.

§headers: bool

Include header row in CSV/TSV output

Requires –csv or –tsv to be specified.

§columns: Option<String>

Columns to include in CSV/TSV output (comma-separated)

Available columns: name, qualified_name, kind, file, line, column, end_line, end_column, language, preview

Example: –columns name,file,line

Requires –csv or –tsv to be specified.

§raw_csv: bool

Output raw CSV without formula injection protection

By default, values starting with =, +, -, @, tab, or carriage return are prefixed with single quote to prevent Excel/LibreOffice formula injection attacks. Use this flag to disable protection for programmatic processing where raw values are needed.

Requires –csv or –tsv to be specified.

§preview: Option<usize>

Show code context around matches (number of lines before/after)

§no_color: bool

Disable colored output

§theme: ThemeName

Select output color theme (default, dark, light, none)

§sort: Option<SortField>

Sort results (opt-in)

§pager: bool

Enable pager for output (auto-detected by default)

Forces output to be piped through a pager (like less). In auto mode (default), paging is enabled when:

  • Output exceeds terminal height
  • stdout is connected to an interactive terminal
§no_pager: bool

Disable pager (write directly to stdout)

Disables auto-paging, writing all output directly to stdout. Useful for scripting or piping to other commands.

§pager_cmd: Option<String>

Custom pager command (overrides $SQRY_PAGER and $PAGER)

Specify a custom pager command. Supports quoted arguments. Examples: –pager-cmd “less -R” –pager-cmd “bat –style=plain” –pager-cmd “more”

§kind: Option<SymbolKind>

Filter by symbol type (function, class, struct, etc.)

Applies to search mode (top-level shorthand and sqry search). For structured queries, use sqry query "kind:function AND ..." instead.

§lang: Option<String>

Filter by programming language

Applies to search mode (top-level shorthand and sqry search). For structured queries, use sqry query "lang:rust AND ..." instead.

§ignore_case: bool

Case-insensitive search

§exact: bool

Exact match (disable regex)

Applies to search mode (top-level shorthand and sqry search).

§count: bool

Show count only (number of matches)

§max_depth: usize

Maximum directory depth to search

§hidden: bool

Include hidden files and directories

§follow: bool

Follow symlinks

§fuzzy: bool

Enable fuzzy search (requires index)

Applies to search mode (top-level shorthand and sqry search).

§fuzzy_algorithm: String

Fuzzy matching algorithm (jaro-winkler or levenshtein)

§fuzzy_threshold: f64

Minimum similarity score for fuzzy matches (0.0-1.0)

§fuzzy_max_candidates: usize

Maximum number of fuzzy candidates to consider

§json_stream: bool

Enable JSON streaming mode for fuzzy search

Emits results as JSON-lines (newline-delimited JSON). Each line is a StreamEvent with either a partial result or final summary. Requires –fuzzy (fuzzy search) and is inherently JSON output.

§fuzzy_fields: bool

Allow fuzzy matching for query field names (opt-in). Applies typo correction to field names (e.g., “knd” → “kind”). Ambiguous corrections are rejected with an error.

§fuzzy_field_distance: usize

Maximum edit distance for fuzzy field correction

§limit: Option<usize>

Maximum number of results to return

Limits the output to a manageable size for downstream consumers. Defaults: search=100, query=1000, fuzzy=50

§list_languages: bool

List enabled languages and exit

§debug_cache: bool

Print cache telemetry to stderr after the command completes

§qualified_names: bool

Display fully qualified symbol names in CLI output.

Helpful for disambiguating relation queries (callers/callees) where multiple namespaces define the same method name.

§validate: ValidationMode

Index validation strictness level (off, warn, fail)

Controls how to handle index corruption during load:

  • off: Skip validation entirely (fastest)
  • warn: Log warnings but continue (default)
  • fail: Abort on validation errors
§auto_rebuild: bool

Automatically rebuild index if validation fails

When set, if index validation fails in strict mode, sqry will automatically rebuild the index once and retry. Useful for recovering from transient corruption without manual intervention.

§threshold_dangling_refs: Option<f64>

Maximum ratio of dangling references before rebuild (0.0-1.0)

Sets the threshold for dangling reference errors during validation. Default: 0.05 (5%). If more than this ratio of symbols have dangling references, validation will fail in strict mode.

§threshold_orphaned_files: Option<f64>

Maximum ratio of orphaned files before rebuild (0.0-1.0)

Sets the threshold for orphaned file errors during validation. Default: 0.20 (20%). If more than this ratio of indexed files are orphaned (no longer exist on disk), validation will fail.

§threshold_id_gaps: Option<f64>

Maximum ratio of ID gaps before warning (0.0-1.0)

Sets the threshold for ID gap warnings during validation. Default: 0.10 (10%). If more than this ratio of symbol IDs have gaps, validation will warn or fail depending on strictness.

§text: bool

Force text search mode (skip semantic, use ripgrep)

§semantic: bool

Force semantic search mode (skip text fallback)

§no_fallback: bool

Disable automatic fallback to text search

§context: usize

Number of context lines for text search results

§max_text_results: usize

Maximum text search results

Implementations§

Source§

impl Cli

Source

pub fn command_with_taxonomy() -> Command

Get the command with taxonomy headings applied

Source

pub fn validate(&self) -> Option<&'static str>

Validate CLI arguments that have dependencies not enforceable via clap

Returns an error message if validation fails, None if valid.

Source

pub fn search_path(&self) -> &str

Get the search path, defaulting to current directory if not specified

Source

pub fn is_tabular_output(&self) -> bool

Check if tabular output mode is enabled

Source

pub fn pager_config(&self) -> PagerConfig

Create pager configuration from CLI flags

Returns PagerConfig based on --pager, --no-pager, and --pager-cmd flags.

§Structured Output Handling

For machine-readable formats (JSON, CSV, TSV), paging is disabled by default to avoid breaking pipelines. Use --pager to explicitly enable paging for these formats.

Trait Implementations§

Source§

impl Args for Cli

Source§

fn group_id() -> Option<Id>

Report the ArgGroup::id for this set of arguments
Source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

impl CommandFactory for Cli

Source§

fn command<'b>() -> Command

Build a Command that can instantiate Self. Read more
Source§

fn command_for_update<'b>() -> Command

Build a Command that can update self. Read more
Source§

impl Debug for Cli

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for Cli

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Parser for Cli

Source§

fn parse() -> Self

Parse from std::env::args_os(), exit on error.
Source§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
Source§

fn parse_from<I, T>(itr: I) -> Self
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, exit on error.
Source§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, return Err on error.
Source§

fn update_from<I, T>(&mut self, itr: I)
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Update from iterator, exit on error. Read more
Source§

fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Update from iterator, return Err on error.

Auto Trait Implementations§

§

impl Freeze for Cli

§

impl RefUnwindSafe for Cli

§

impl Send for Cli

§

impl Sync for Cli

§

impl Unpin for Cli

§

impl UnsafeUnpin for Cli

§

impl UnwindSafe for Cli

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> Instrument for T

Source§

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

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

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<D> OwoColorize for D

Source§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
Source§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
Source§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
Source§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
Source§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
Source§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
Source§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
Source§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
Source§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
Source§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
Source§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
Source§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
Source§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
Source§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
Source§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
Source§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
Source§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
Source§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
Source§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
Source§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
Source§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
Source§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
Source§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
Source§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
Source§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
Source§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
Source§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
Source§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
Source§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
Source§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
Source§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
Source§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
Source§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
Source§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
Source§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
Source§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
Source§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
Source§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
Source§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
Source§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
Source§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
Source§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
Source§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
Source§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
Source§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
Source§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
Source§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
Source§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more
Source§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more
Source§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
Source§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
Source§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
Source§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
Source§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. 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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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