UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

133 lines • 4.59 kB
import type { TypeChange, TypeSelection } from './rg_filetypes.ts'; /** * Normalized rg options, mirrored by Python's RgFlags. * * parseFlags resolves mutually overriding options in command-line order. * maxDepth counts children at depth 1. null terminates filenames; * nullData selects NUL-delimited records. typeChanges preserves add/clear * order; typeSelections pairs each type name with an exclusion bit. */ export interface RgFlags { ignoreCase: boolean; smartCase: boolean; invert: boolean; wholeWord: boolean; lineRegexp: boolean; fixedString: boolean; lineNumbers: boolean; column: boolean; vimgrep: boolean; byteOffsets: boolean; onlyMatching: boolean; replace: string | null; trim: boolean; maxColumns: number | null; maxColumnsPreview: boolean; null: boolean; nullData: boolean; crlf?: boolean; multiline?: boolean; multilineDotall?: boolean; stats?: boolean; json?: boolean; searchZip?: boolean; pre?: string | null; preGlobs?: readonly string[]; pathSeparator: string | null; quiet: boolean; countOnly: boolean; countMatches: boolean; includeZero: boolean; filesOnly: boolean; filesWithoutMatch: boolean; listFiles: boolean; typeList: boolean; withFilename: boolean; noFilename: boolean; heading: boolean; passthru: boolean; maxCount: number | null; stopOnNonmatch: boolean; contextAfter: number; contextBefore: number; contextSeparator: string | null; fieldMatchSeparator: string; fieldContextSeparator: string; globs: readonly string[]; iglobs: readonly string[]; globCaseInsensitive: boolean; typeChanges: readonly TypeChange[]; typeSelections: readonly TypeSelection[]; hidden: boolean; maxDepth: number | null; maxFilesize: number | null; follow: boolean; oneFileSystem: boolean; binary: boolean; sort: string | null; sortReverse: boolean; noMessages: boolean; engine: string; unicode: boolean; threads: number | null; text: boolean; encoding?: string; regexSizeLimit?: number | null; dfaSizeLimit?: number | null; } /** * Whether the output shows -A/-B/-C context, which also puts the context * separator between one file's lines and the next file's. Only printed * lines carry it: -c, -l and --files-without-match answer per file. -o * keeps it, each line printed as its matches. --passthru prints every line * but never separates groups. */ export declare function printsContext(f: RgFlags): boolean; /** * Whether -S searches `pattern` without regard to case: it has at least one * literal character and none of them is uppercase. `fixedString` is -F, * where every character is a literal. */ export declare function smartCaseFolds(pattern: string, fixedString: boolean): boolean; /** * What one haystack's search selected, beside what it printed: `binary` when * a binary-file notice stood in for the lines, `skipped` when a walked * binary file went unsearched, which no listing names but * --files-without-match's status counts. */ export declare function foldsCase(pattern: string, fixed: boolean, f: RgFlags): boolean; export interface Tally { selected: boolean; binary?: boolean; skipped?: boolean; matches?: number; matchedLines?: number; searched?: number; nul?: number | null; error?: string; } /** What --stats and the --json summary add up over the haystacks. */ export declare class Totals { matches: number; matchedLines: number; withMatch: number; searched: number; printed: number; bytesSearched: number; elapsed: number; /** Add another run's totals: a line split over mounts prints one footer for all its runs. */ merge(other: Totals): void; /** Count one haystack: its tally, the bytes printed for it, its seconds. */ add(tally: Tally, printed: number, elapsed: number): void; } /** * One run's output with the footer it ends with cut off, and the totals that * footer printed, read back the way the wc and du combiners read their total * rows; the output whole and null when it ends in none. `summary` reads * --json's summary record, not the --stats block. Mirrors Python's * `split_footer`. */ export declare function splitFooter(data: Uint8Array, summary: boolean): [Uint8Array, Totals | null]; /** What ends a line rg writes itself: NUL under --null-data, CR LF under --crlf. */ export declare function recordEnd(f: RgFlags): string; //# sourceMappingURL=rg_search.d.ts.map