โ– humdrum codex / glint v1.0.2
license AGPL-3.0

โ† issues

TASK-013 Full-text vault search

๐Ÿ Done feature priority: medium release-1

created 2026-06-29 16:26 ยท updated 2026-06-30 05:07

Description

Release 2. The picker matches filenames only. Add a content search across the vault/working dir (ripgrep if available, else a Go walk) surfacing files + matching lines; open at the match. Was explicitly deferred in v1.1.

Acceptance Criteria

Implementation Plan

  1. search.go: contentSearch(root,query) โ†’ ripgrep (rg -g *.md, exit-1=empty) with goWalkSearch fallback; SearchHit{Path,Line,Text}; cap maxHits. 2. picker: result type {path,line,text}; '/'-prefixed query runs content search, else filename fuzzy; Selected()/SelectedLine(); listView shows relpath:line text. 3. app: Enter on a content hit Loads then GotoLine(ln). 4. README+help document '/query' content search. 5. TDD throughout.

Implementation Notes

search.go (rg with go-walk fallback, SearchHit, maxHits cap); picker '/'-prefix runs contentSearch, result{path,line,text}, Selected()/SelectedLine(), rowLabel shows file:line text; app Enter GotoLine on a hit; README+help document /query. 7 tests, all green.