feat(completion): optimize ID prefix filtering and add completions to more commands
Improvements to shell completions from PR #935: 1. Add IDPrefix field to IssueFilter for efficient database-level filtering - Queries are now filtered at SQL level instead of fetching all issues - Updated sqlite, transaction, and memory stores to support IDPrefix 2. Add ValidArgsFunction to additional commands: - dep (add, remove, list, tree) - comments, comment (add) - delete - graph - label (add, remove, list) - duplicate, supersede - audit - move - relate, unrelate - refile - gate (show, resolve, add-waiter) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Executed-By: beads/crew/dave Rig: beads Role: crew
This commit is contained in:
committed by
Steve Yegge
parent
025cdac962
commit
5dfb838d60
@@ -620,6 +620,11 @@ func (m *MemoryStorage) SearchIssues(ctx context.Context, query string, filter t
|
||||
}
|
||||
}
|
||||
|
||||
// ID prefix filtering (for shell completion)
|
||||
if filter.IDPrefix != "" && !strings.HasPrefix(issue.ID, filter.IDPrefix) {
|
||||
continue
|
||||
}
|
||||
|
||||
// Parent filtering (bd-yqhh): filter children by parent issue
|
||||
if filter.ParentID != nil {
|
||||
isChild := false
|
||||
|
||||
@@ -1836,6 +1836,12 @@ func (s *SQLiteStorage) SearchIssues(ctx context.Context, query string, filter t
|
||||
whereClauses = append(whereClauses, fmt.Sprintf("id IN (%s)", strings.Join(placeholders, ", ")))
|
||||
}
|
||||
|
||||
// ID prefix filtering (for shell completion)
|
||||
if filter.IDPrefix != "" {
|
||||
whereClauses = append(whereClauses, "id LIKE ?")
|
||||
args = append(args, filter.IDPrefix+"%")
|
||||
}
|
||||
|
||||
// Wisp filtering
|
||||
if filter.Ephemeral != nil {
|
||||
if *filter.Ephemeral {
|
||||
|
||||
@@ -1181,6 +1181,12 @@ func (t *sqliteTxStorage) SearchIssues(ctx context.Context, query string, filter
|
||||
whereClauses = append(whereClauses, fmt.Sprintf("id IN (%s)", strings.Join(placeholders, ", ")))
|
||||
}
|
||||
|
||||
// ID prefix filtering (for shell completion)
|
||||
if filter.IDPrefix != "" {
|
||||
whereClauses = append(whereClauses, "id LIKE ?")
|
||||
args = append(args, filter.IDPrefix+"%")
|
||||
}
|
||||
|
||||
// Wisp filtering
|
||||
if filter.Ephemeral != nil {
|
||||
if *filter.Ephemeral {
|
||||
|
||||
Reference in New Issue
Block a user