mirror of
https://github.com/ddworken/hishtory.git
synced 2025-06-19 19:37:59 +02:00
Fix #82 by ensuring that the results list also filters out duplicates
This commit is contained in:
parent
0b13a9705d
commit
c0e56eff0d
@ -1790,6 +1790,7 @@ func TestFish(t *testing.T) {
|
|||||||
testutils.CompareGoldens(t, out, "TestFish-table")
|
testutils.CompareGoldens(t, out, "TestFish-table")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO(ddworken):Add better tests for filtering out entries
|
||||||
// TODO(ddworken): Run TestTui in online and offline mode
|
// TODO(ddworken): Run TestTui in online and offline mode
|
||||||
|
|
||||||
func TestTui(t *testing.T) {
|
func TestTui(t *testing.T) {
|
||||||
|
@ -307,15 +307,16 @@ func (m model) View() string {
|
|||||||
func getRows(ctx *context.Context, columnNames []string, query string, numEntries int) ([]table.Row, []*data.HistoryEntry, error) {
|
func getRows(ctx *context.Context, columnNames []string, query string, numEntries int) ([]table.Row, []*data.HistoryEntry, error) {
|
||||||
db := hctx.GetDb(ctx)
|
db := hctx.GetDb(ctx)
|
||||||
config := hctx.GetConf(ctx)
|
config := hctx.GetConf(ctx)
|
||||||
data, err := Search(ctx, db, query, numEntries)
|
searchResults, err := Search(ctx, db, query, numEntries)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
var rows []table.Row
|
var rows []table.Row
|
||||||
|
var filteredData []*data.HistoryEntry
|
||||||
lastCommand := ""
|
lastCommand := ""
|
||||||
for i := 0; i < numEntries; i++ {
|
for i := 0; i < numEntries; i++ {
|
||||||
if i < len(data) {
|
if i < len(searchResults) {
|
||||||
entry := data[i]
|
entry := searchResults[i]
|
||||||
if strings.TrimSpace(entry.Command) == strings.TrimSpace(lastCommand) && config.FilterDuplicateCommands {
|
if strings.TrimSpace(entry.Command) == strings.TrimSpace(lastCommand) && config.FilterDuplicateCommands {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -325,12 +326,13 @@ func getRows(ctx *context.Context, columnNames []string, query string, numEntrie
|
|||||||
return nil, nil, fmt.Errorf("failed to build row for entry=%#v: %v", entry, err)
|
return nil, nil, fmt.Errorf("failed to build row for entry=%#v: %v", entry, err)
|
||||||
}
|
}
|
||||||
rows = append(rows, row)
|
rows = append(rows, row)
|
||||||
|
filteredData = append(filteredData, entry)
|
||||||
lastCommand = entry.Command
|
lastCommand = entry.Command
|
||||||
} else {
|
} else {
|
||||||
rows = append(rows, table.Row{})
|
rows = append(rows, table.Row{})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return rows, data, nil
|
return rows, filteredData, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func calculateColumnWidths(rows []table.Row, numColumns int) []int {
|
func calculateColumnWidths(rows []table.Row, numColumns int) []int {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user