• Adeniji Adekunle James's avatar
    Code View Search & Fullscreen Mode (#1987) (#1988) · 381db427
    Adeniji Adekunle James 提交于
    Closes #1987
    
    
    
    
    
    
    
    
    
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Adds file content search to Code View and a fullscreen toggle to focus
    on code. Users can search across file contents with highlights and
    snippets, and jump to lines. Addresses Linear #1987.
    
    - New Features
    - File Tree search: debounced input, content search via ripgrep (1MB max
    per file), highlights in names, expandable snippets with line numbers,
    match count, and empty/error states.
      - Fullscreen mode: toggle in toolbar, Esc to exit, locks page scroll.
    - IPC: search-app-files handler using ripgrep (via @vscode/ripgrep;
    binary bundled in Forge extraResources) with UTF-8-safe snippet
    extraction; exposed via IpcClient and preload.
      - Hook: useSearchAppFiles with React Query.
    - UI/Types: FileTree now takes appId; added AppFileSearchResult type;
    selectedFile supports line for navigation.
      - Tests: e2e covers content search and navigating to the matched line.
      - CI: set GITHUB_TOKEN to fetch ripgrep binaries.
    
    <sup>Written for commit 97142126c549932d58908df5c842f44ae182c94e.
    Summary will update on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    
    
    
    
    
    
    
    
    
    
    
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > Introduces fast file content search in Code View and fullscreen
    viewing, wiring UI to IPC and packaging for bundled ripgrep.
    > 
    > - UI: `FileTree` now supports debounced content search with
    highlights, expandable snippets, match counts, and line navigation;
    `selectedFile` carries `line`; `FileEditor` accepts `initialLine` and
    jumps to it; `CodeView` adds fullscreen toggle (Esc to exit)
    > - IPC: New `search-app-files` handler using `@vscode/ripgrep` with
    UTF-8-safe snippets; exposed via `preload` and
    `IpcClient.searchAppFiles`; adds `AppFileSearchResult` type
    > - Packaging/CI: Bundle ripgrep binaries via Forge `extraResource` and
    set `GITHUB_TOKEN` in CI for ripgrep install; add `@vscode/ripgrep`
    dependency; bump version to `0.33.0-beta.2`
    > - Tests: New Playwright e2e verifies search results and navigation to
    matched line
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    97142126c549932d58908df5c842f44ae182c94e. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    ---------
    Co-authored-by: 's avatarWill Chen <willchen90@gmail.com>
    381db427
package-lock.json 824.4 KB