@struktoai/mirage-core
Version:
A Unified Virtual Filesystem For AI Agents
25 lines • 1.68 kB
TypeScript
import { PatternType } from './constants.ts';
export declare function classifyPattern(pattern: string, fixedString: boolean): PatternType;
export declare function isLiteralPattern(pattern: string, fixedString: boolean): boolean;
/**
* The terms a whole-word search index may narrow a scan on, or null.
*
* A newline-joined pattern list (several -e, or the lines of -f) matches a
* line when any one alternative does, so one search per alternative, unioned,
* is complete when every alternative is itself a whole-word literal. -x narrows as -w does: a line that is the
* literal entire is a word match of it. An empty alternative matches every
* line, which no search can stand in for. Mirrors Python's
* `whole_word_literals`.
*/
export declare function wholeWordLiterals(pattern: string | null, fixedString: boolean, wholeWord: boolean, lineRegexp?: boolean): string[] | null;
/**
* The texts a mount's search is asked for, and whether as whole words.
* Literals under -w or -x are asked as whole words, which a word index can
* answer; any other pattern is narrowed on the needles one of which every
* match contains, asked anywhere. Under -i a literal with a non-ASCII letter,
* or with i, k or s when case folds by Unicode, is left to the scan: a mount
* may miss Unicode pairs (`ſ` and `s`) or even ASCII pairs (`I` and `i`
* under a Turkish collation). Mirrors Python's `search_terms`.
*/
export declare function searchTerms(pattern: string | null, needles: string[] | null, unicodeFolds: boolean, fixedString: boolean, wholeWord: boolean, lineRegexp: boolean, ignoreCase: boolean): [string[], boolean] | null;
//# sourceMappingURL=grep_pushdown.d.ts.map