30 lines
648 B
Go
30 lines
648 B
Go
package displaylist
|
|
|
|
import (
|
|
"fmt"
|
|
"gitlab.com/omnibill/tui"
|
|
)
|
|
|
|
type ListOptions struct {
|
|
Title string
|
|
Items []Item
|
|
}
|
|
|
|
type Item struct {
|
|
Key string
|
|
Value string
|
|
}
|
|
|
|
func New(opts ListOptions) {
|
|
|
|
fmt.Println(tui.FgColorGrey + "[ " + tui.Format(tui.FgColorGold, tui.FmtUnderline) + opts.Title + tui.Format(tui.FmtUnderlineReset, tui.FgColorGrey) + " ]" + tui.FmtReset)
|
|
|
|
for _, item := range opts.Items {
|
|
fmt.Println(itemString(item.Key, item.Value))
|
|
}
|
|
|
|
}
|
|
|
|
func itemString(key string, value string) string {
|
|
return tui.FgColorGrey + "[ " + tui.FgColorGold + key + " " + tui.FgColorGrey + value + tui.FgColorGrey + " ]" + tui.FmtReset
|
|
}
|