fix(history): substring fuzzy search (#74)
closes #73 <img width="1434" height="302" alt="image" src="https://github.com/user-attachments/assets/87bb8431-40c7-4ee8-ad58-79c4fea6efa7" /> I used use prefix match imagine you have a long command ENOUGH that you used to use (like image), with fuzzy search + substring, it will always show suggestion about that command in the list but in the bottom and I see this very annoying but now I limit the score from fuzzy search, if the command is too long (which means fuzzy score is extremely weak), skip it right away <img width="1296" height="437" alt="image" src="https://github.com/user-attachments/assets/77d807a2-ddce-4c37-9f5b-a02cd44de325" /> it now has substring support
This commit is contained in:
@@ -335,7 +335,7 @@ func (f *FrecencyStore) QueryLocal(ctx context.Context, cwd, prefix string, limi
|
||||
var rows *sql.Rows
|
||||
var err error
|
||||
if prefix != "" {
|
||||
rows, err = f.db.QueryContext(ctxTimeout, `SELECT cmd, cwd, count, last_used FROM history_entries WHERE cwd = ? AND cmd LIKE ?`, cwd, prefix+"%")
|
||||
rows, err = f.db.QueryContext(ctxTimeout, `SELECT cmd, cwd, count, last_used FROM history_entries WHERE cwd = ? AND cmd LIKE ?`, cwd, "%"+prefix+"%")
|
||||
} else {
|
||||
rows, err = f.db.QueryContext(ctxTimeout, `SELECT cmd, cwd, count, last_used FROM history_entries WHERE cwd = ?`, cwd)
|
||||
}
|
||||
@@ -397,7 +397,7 @@ func (f *FrecencyStore) QueryGlobal(ctx context.Context, prefix string, limit in
|
||||
var rows *sql.Rows
|
||||
var err error
|
||||
if prefix != "" {
|
||||
rows, err = f.db.QueryContext(ctxTimeout, `SELECT cmd, cwd, count, last_used FROM history_entries WHERE cmd LIKE ?`, prefix+"%")
|
||||
rows, err = f.db.QueryContext(ctxTimeout, `SELECT cmd, cwd, count, last_used FROM history_entries WHERE cmd LIKE ?`, "%"+prefix+"%")
|
||||
} else {
|
||||
rows, err = f.db.QueryContext(ctxTimeout, `SELECT cmd, cwd, count, last_used FROM history_entries`)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user