feat(help): show snippets in search results
Some checks are pending
Security Scan / security (push) Waiting to run

Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
Virgil 2026-03-31 20:21:03 +00:00
parent 9aff00de1e
commit d50b006af9
2 changed files with 22 additions and 0 deletions

View file

@ -48,6 +48,9 @@ func renderSearchResults(results []*gohelp.SearchResult, query string) error {
cli.Section("Search Results") cli.Section("Search Results")
for _, res := range results { for _, res := range results {
cli.Println(" %s - %s", res.Topic.ID, res.Topic.Title) cli.Println(" %s - %s", res.Topic.ID, res.Topic.Title)
if snippet := strings.TrimSpace(res.Snippet); snippet != "" {
cli.Println("%s", cli.DimStr(" "+snippet))
}
} }
return nil return nil
} }

View file

@ -59,6 +59,25 @@ func TestAddHelpCommands_Good(t *testing.T) {
assert.Contains(t, out, topics[0].ID) assert.Contains(t, out, topics[0].ID)
} }
func TestRenderSearchResults_Good(t *testing.T) {
out := captureOutput(t, func() {
err := renderSearchResults([]*gohelp.SearchResult{
{
Topic: &gohelp.Topic{
ID: "config",
Title: "Configuration",
},
Snippet: "Core is configured via environment variables.",
},
}, "config")
require.NoError(t, err)
})
assert.Contains(t, out, "SEARCH RESULTS")
assert.Contains(t, out, "config - Configuration")
assert.Contains(t, out, "Core is configured via environment variables.")
}
func TestAddHelpCommands_Bad(t *testing.T) { func TestAddHelpCommands_Bad(t *testing.T) {
t.Run("missing search results", func(t *testing.T) { t.Run("missing search results", func(t *testing.T) {
cmd := newHelpCommand(t) cmd := newHelpCommand(t)