From 7e5b494ae4d5705d3a2ba358c4bebb53996c3f6c Mon Sep 17 00:00:00 2001 From: Maas Lalani Date: Sat, 13 Jan 2024 15:26:27 -0500 Subject: [PATCH] feat(input): allow placeholder style customization --- input/command.go | 1 + input/options.go | 25 +++++++++++++------------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/input/command.go b/input/command.go index b79acd0..d37deb5 100644 --- a/input/command.go +++ b/input/command.go @@ -27,6 +27,7 @@ func (o Options) Run() error { i.Placeholder = o.Placeholder i.Width = o.Width i.PromptStyle = o.PromptStyle.ToLipgloss() + i.PlaceholderStyle = o.PlaceholderStyle.ToLipgloss() i.Cursor.Style = o.CursorStyle.ToLipgloss() i.Cursor.SetMode(cursor.Modes[o.CursorMode]) i.CharLimit = o.CharLimit diff --git a/input/options.go b/input/options.go index 82ba508..617ec38 100644 --- a/input/options.go +++ b/input/options.go @@ -8,16 +8,17 @@ import ( // Options are the customization options for the input. type Options struct { - Placeholder string `help:"Placeholder value" default:"Type something..." env:"GUM_INPUT_PLACEHOLDER"` - Prompt string `help:"Prompt to display" default:"> " env:"GUM_INPUT_PROMPT"` - PromptStyle style.Styles `embed:"" prefix:"prompt." envprefix:"GUM_INPUT_PROMPT_"` - CursorStyle style.Styles `embed:"" prefix:"cursor." set:"defaultForeground=212" envprefix:"GUM_INPUT_CURSOR_"` - CursorMode string `prefix:"cursor." name:"mode" help:"Cursor mode" default:"blink" enum:"blink,hide,static" env:"GUM_INPUT_CURSOR_MODE"` - Value string `help:"Initial value (can also be passed via stdin)" default:""` - CharLimit int `help:"Maximum value length (0 for no limit)" default:"400"` - Width int `help:"Input width (0 for terminal width)" default:"40" env:"GUM_INPUT_WIDTH"` - Password bool `help:"Mask input characters" default:"false"` - Header string `help:"Header value" default:"" env:"GUM_INPUT_HEADER"` - HeaderStyle style.Styles `embed:"" prefix:"header." set:"defaultForeground=240" envprefix:"GUM_INPUT_HEADER_"` - Timeout time.Duration `help:"Timeout until input aborts" default:"0" env:"GUM_INPUT_TIMEOUT"` + Placeholder string `help:"Placeholder value" default:"Type something..." env:"GUM_INPUT_PLACEHOLDER"` + Prompt string `help:"Prompt to display" default:"> " env:"GUM_INPUT_PROMPT"` + PromptStyle style.Styles `embed:"" prefix:"prompt." envprefix:"GUM_INPUT_PROMPT_"` + PlaceholderStyle style.Styles `embed:"" prefix:"placeholder." envprefix:"GUM_INPUT_PLACEHOLDER_"` + CursorStyle style.Styles `embed:"" prefix:"cursor." set:"defaultForeground=212" envprefix:"GUM_INPUT_CURSOR_"` + CursorMode string `prefix:"cursor." name:"mode" help:"Cursor mode" default:"blink" enum:"blink,hide,static" env:"GUM_INPUT_CURSOR_MODE"` + Value string `help:"Initial value (can also be passed via stdin)" default:""` + CharLimit int `help:"Maximum value length (0 for no limit)" default:"400"` + Width int `help:"Input width (0 for terminal width)" default:"40" env:"GUM_INPUT_WIDTH"` + Password bool `help:"Mask input characters" default:"false"` + Header string `help:"Header value" default:"" env:"GUM_INPUT_HEADER"` + HeaderStyle style.Styles `embed:"" prefix:"header." set:"defaultForeground=240" envprefix:"GUM_INPUT_HEADER_"` + Timeout time.Duration `help:"Timeout until input aborts" default:"0" env:"GUM_INPUT_TIMEOUT"` }