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: boolOutput format as JSON
csv: boolOutput 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: boolOutput 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: boolInclude 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: boolOutput 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: boolDisable colored output
theme: ThemeNameSelect output color theme (default, dark, light, none)
sort: Option<SortField>Sort results (opt-in)
pager: boolEnable 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: boolDisable 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: boolCase-insensitive search
exact: boolExact match (disable regex)
Applies to search mode (top-level shorthand and sqry search).
count: boolShow count only (number of matches)
max_depth: usizeMaximum directory depth to search
Include hidden files and directories
follow: boolFollow symlinks
fuzzy: boolEnable fuzzy search (requires index)
Applies to search mode (top-level shorthand and sqry search).
fuzzy_algorithm: StringFuzzy matching algorithm (jaro-winkler or levenshtein)
fuzzy_threshold: f64Minimum similarity score for fuzzy matches (0.0-1.0)
fuzzy_max_candidates: usizeMaximum number of fuzzy candidates to consider
json_stream: boolEnable 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: boolAllow 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: usizeMaximum 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: boolList enabled languages and exit
debug_cache: boolPrint cache telemetry to stderr after the command completes
qualified_names: boolDisplay fully qualified symbol names in CLI output.
Helpful for disambiguating relation queries (callers/callees) where multiple namespaces define the same method name.
validate: ValidationModeIndex 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: boolAutomatically 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: boolForce text search mode (skip semantic, use ripgrep)
semantic: boolForce semantic search mode (skip text fallback)
no_fallback: boolDisable automatic fallback to text search
context: usizeNumber of context lines for text search results
max_text_results: usizeMaximum text search results
Implementations§
Source§impl Cli
impl Cli
Sourcepub fn command_with_taxonomy() -> Command
pub fn command_with_taxonomy() -> Command
Get the command with taxonomy headings applied
Sourcepub fn validate(&self) -> Option<&'static str>
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.
Sourcepub fn search_path(&self) -> &str
pub fn search_path(&self) -> &str
Get the search path, defaulting to current directory if not specified
Sourcepub fn is_tabular_output(&self) -> bool
pub fn is_tabular_output(&self) -> bool
Check if tabular output mode is enabled
Sourcepub fn pager_config(&self) -> PagerConfig
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
impl Args for Cli
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl CommandFactory for Cli
impl CommandFactory for Cli
Source§impl FromArgMatches for Cli
impl FromArgMatches for Cli
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Parser for Cli
impl Parser for Cli
Source§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
Source§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
Source§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more