2022-09-26 17:10:17 +00:00
|
|
|
package cli
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"os"
|
|
|
|
"strings"
|
|
|
|
"text/tabwriter"
|
|
|
|
)
|
|
|
|
|
|
|
|
var tabber = tabwriter.NewWriter(os.Stdout, 0, 8, 1, '\t', tabwriter.AlignRight)
|
|
|
|
|
|
|
|
func getHelp(target string) {
|
2023-06-04 12:13:50 +00:00
|
|
|
SuggestionMutex.RLock()
|
|
|
|
defer SuggestionMutex.RUnlock()
|
2023-02-06 16:16:36 +00:00
|
|
|
|
2022-09-26 17:10:17 +00:00
|
|
|
if target != "" && target != "meta" {
|
|
|
|
for _, su := range suggestions[0] {
|
|
|
|
if strings.Contains(strings.ToLower(su.Text), strings.ToLower(target)) {
|
|
|
|
println(su.Text + "\t" + su.Description)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
for _, su := range suggestions[0] {
|
|
|
|
var desc string
|
|
|
|
if su.inner == nil {
|
|
|
|
desc = su.Description
|
|
|
|
} else {
|
|
|
|
desc = su.inner.description
|
|
|
|
if su.inner.isAlias || su.isAlias {
|
|
|
|
su.isAlias = true
|
|
|
|
if extraDebug {
|
2023-06-04 12:13:50 +00:00
|
|
|
log.Trace().Caller().Msgf("alias: %s", su.Text)
|
2022-09-26 17:10:17 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if su.isAlias {
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
if extraDebug {
|
|
|
|
log.Trace().Interface("details", su).Send()
|
|
|
|
}
|
|
|
|
_, err := fmt.Fprintln(tabber, su.Text+"\t"+desc)
|
|
|
|
if err != nil {
|
|
|
|
panic(err.Error())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
tabber.Flush()
|
|
|
|
}
|