feat(style): allow passing input over stdin

This commit is contained in:
Maas Lalani 2022-11-09 23:13:21 -05:00
parent b0aba2261d
commit 614f0e8028
No known key found for this signature in database
GPG key ID: 5A6ED5CBF1A0A000

View file

@ -6,16 +6,27 @@
package style
import (
"errors"
"fmt"
"strings"
"github.com/alecthomas/kong"
"github.com/charmbracelet/gum/internal/stdin"
)
// Run provides a shell script interface for the Lip Gloss styling.
// https://github.com/charmbracelet/lipgloss
func (o Options) Run() error {
text := strings.Join(o.Text, "\n")
var text string
if len(o.Text) > 0 {
text = strings.Join(o.Text, "\n")
} else {
text, _ = stdin.Read()
if text == "" {
return errors.New("no input provided, see `gum style --help`")
}
text = strings.TrimSuffix(text, "\n")
}
fmt.Println(o.Style.ToLipgloss().Render(text))
return nil
}