• Will Chen's avatar
    grep tool (#2161) · 6d7ed897
    Will Chen 提交于
    <!-- CURSOR_SUMMARY -->
    > [!NOTE]
    > Introduces fast, scoped code search in local-agent mode and renders
    results inline in chat.
    > 
    > - Adds `grep` tool (ripgrep-backed) with include/exclude globs and
    optional case sensitivity; returns `path:line: text` matches
    > - New `DyadGrep` component and `DyadMarkdownParser` support for
    `dyad-grep`; attribute parsing updated to allow hyphenated names
    > - Extracts ripgrep helpers to `ipc/utils/ripgrep_utils.ts` and
    refactors `app_handlers` to use them
    > - Registers tool in local agent tool set
    > - E2E coverage: new fixture, Playwright spec, and ARIA snapshots
    validating two searches and rendered output
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    35cd925caf321c1c987b636d9539aed465284f1b. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Adds a grep tool to the local agent using ripgrep and a new <dyad-grep>
    UI to show results in chat. Enables fast, scoped code searches with
    include/exclude globs and case sensitivity.
    
    - **New Features**
    - New local-agent tool grep (ripgrep-backed) that returns file:line:
    text matches; case-insensitive by default with include_pattern,
    exclude_pattern, and case_sensitive options.
    - New DyadGrep chat component and parser support (<dyad-grep>) with
    collapsible results, progress/aborted states, and copyable output.
    - Shared ripgrep utils (executable path, size limit, default exclude
    globs) extracted and reused; tool registered in tool_definitions.
    
    - **Tests**
      - Added E2E spec for grep in local-agent mode with ARIA snapshots.
      - New fixture driving two searches and validating rendered results.
    
    <sup>Written for commit 35cd925caf321c1c987b636d9539aed465284f1b.
    Summary will update on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    
    ---------
    Co-authored-by: 's avatargemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
    6d7ed897
ripgrep_utils.ts 1.0 KB