2022-07-06 18:09:35 +02:00
|
|
|
package style
|
2022-07-06 19:54:32 +02:00
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"strings"
|
|
|
|
|
2022-07-08 01:28:44 +02:00
|
|
|
"github.com/charmbracelet/gum/internal/decode"
|
2022-07-06 19:54:32 +02:00
|
|
|
"github.com/charmbracelet/lipgloss"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Run provides a shell script interface for the Lip Gloss styling.
|
|
|
|
// https://github.com/charmbracelet/lipgloss
|
|
|
|
func (o Options) Run() {
|
2022-07-07 19:26:35 +02:00
|
|
|
text := strings.Join(o.Text, "\n")
|
2022-07-06 19:54:32 +02:00
|
|
|
|
|
|
|
fmt.Println(lipgloss.NewStyle().
|
2022-07-12 16:07:29 +02:00
|
|
|
Foreground(lipgloss.Color(o.Style.Foreground)).
|
|
|
|
Background(lipgloss.Color(o.Style.Background)).
|
|
|
|
BorderBackground(lipgloss.Color(o.Style.BorderBackground)).
|
|
|
|
BorderForeground(lipgloss.Color(o.Style.BorderForeground)).
|
|
|
|
Align(decode.Align[o.Style.Align]).
|
|
|
|
Bold(o.Style.Bold).
|
|
|
|
Border(border[o.Style.Border]).
|
|
|
|
Margin(parseMargin(o.Style.Margin)).
|
|
|
|
Padding(parsePadding(o.Style.Padding)).
|
|
|
|
Height(o.Style.Height).
|
|
|
|
Width(o.Style.Width).
|
|
|
|
Faint(o.Style.Faint).
|
|
|
|
Italic(o.Style.Italic).
|
|
|
|
Strikethrough(o.Style.Strikethrough).
|
2022-07-06 19:54:32 +02:00
|
|
|
Render(text))
|
|
|
|
}
|