SheetXL - v0.8.0-beta.9+sites.210.e2d420901
    Preparing search index...

    Interface GrepMatch

    One match. Grep's unit is the cell — one entry per matched (cell, field), in reading order.

    Text that is not in a cell keeps the same shape. A shape or a chart is an entry per matched text, addressed by the cells it is anchored over, after its sheet's cells; a defined name is an entry addressed by the name itself, after every sheet.

    Deliberately not coalesced into blocks: uniform runs of identical values are regions — a payload feature splits where the value changes, so the regions read already owns that shape, in 2-D and with the full partition to rank against. Grep answering cell-grain and regions answering block-grain is the family split (§6.1). GrepArgs.context does not move that line: the unit stays the cell; the region is carried as an annotation on it, and the renderer merely groups by it.

    interface GrepMatch {
        address: string;
        context?: GrepMatchContext;
        field: GrepField;
        sheet: string;
        text: string;
    }
    Index
    address: string

    A1 cell address within the sheet; the anchor range (F2:H6) for a shape or chart; the name itself for a defined name. Qualified with sheet, each is something a follow-up call takes.

    The enclosing block, when GrepArgs.context was requested and one exists.

    field: GrepField

    Which layer matched.

    Load-bearing, not decoration. Searching several fields at once, a bare address is unusable — the agent cannot tell whether 2024 matched a date's display, a formula referencing row 2024, or a hyperlink. rg prints the matching line; this is the analog.

    sheet: string

    Sheet name — for a name match, the sheet the name is scoped to, or '' for a workbook-scoped one.

    text: string

    The full text of the matched layer.