Skip to content

Commit 29f045f

Browse files
committed
feat(input): allow placeholder style customization
1 parent cd115c4 commit 29f045f

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

input/command.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ func (o Options) Run() error {
2727
i.Placeholder = o.Placeholder
2828
i.Width = o.Width
2929
i.PromptStyle = o.PromptStyle.ToLipgloss()
30+
i.PlaceholderStyle = o.PlaceholderStyle.ToLipgloss()
3031
i.Cursor.Style = o.CursorStyle.ToLipgloss()
3132
i.Cursor.SetMode(cursor.Modes[o.CursorMode])
3233
i.CharLimit = o.CharLimit

input/options.go

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@ import (
88

99
// Options are the customization options for the input.
1010
type Options struct {
11-
Placeholder string `help:"Placeholder value" default:"Type something..." env:"GUM_INPUT_PLACEHOLDER"`
12-
Prompt string `help:"Prompt to display" default:"> " env:"GUM_INPUT_PROMPT"`
13-
PromptStyle style.Styles `embed:"" prefix:"prompt." envprefix:"GUM_INPUT_PROMPT_"`
14-
CursorStyle style.Styles `embed:"" prefix:"cursor." set:"defaultForeground=212" envprefix:"GUM_INPUT_CURSOR_"`
15-
CursorMode string `prefix:"cursor." name:"mode" help:"Cursor mode" default:"blink" enum:"blink,hide,static" env:"GUM_INPUT_CURSOR_MODE"`
16-
Value string `help:"Initial value (can also be passed via stdin)" default:""`
17-
CharLimit int `help:"Maximum value length (0 for no limit)" default:"400"`
18-
Width int `help:"Input width (0 for terminal width)" default:"40" env:"GUM_INPUT_WIDTH"`
19-
Password bool `help:"Mask input characters" default:"false"`
20-
Header string `help:"Header value" default:"" env:"GUM_INPUT_HEADER"`
21-
HeaderStyle style.Styles `embed:"" prefix:"header." set:"defaultForeground=240" envprefix:"GUM_INPUT_HEADER_"`
22-
Timeout time.Duration `help:"Timeout until input aborts" default:"0" env:"GUM_INPUT_TIMEOUT"`
11+
Placeholder string `help:"Placeholder value" default:"Type something..." env:"GUM_INPUT_PLACEHOLDER"`
12+
Prompt string `help:"Prompt to display" default:"> " env:"GUM_INPUT_PROMPT"`
13+
PromptStyle style.Styles `embed:"" prefix:"prompt." envprefix:"GUM_INPUT_PROMPT_"`
14+
PlaceholderStyle style.Styles `embed:"" prefix:"placeholder." envprefix:"GUM_INPUT_PLACEHOLDER_"`
15+
CursorStyle style.Styles `embed:"" prefix:"cursor." set:"defaultForeground=212" envprefix:"GUM_INPUT_CURSOR_"`
16+
CursorMode string `prefix:"cursor." name:"mode" help:"Cursor mode" default:"blink" enum:"blink,hide,static" env:"GUM_INPUT_CURSOR_MODE"`
17+
Value string `help:"Initial value (can also be passed via stdin)" default:""`
18+
CharLimit int `help:"Maximum value length (0 for no limit)" default:"400"`
19+
Width int `help:"Input width (0 for terminal width)" default:"40" env:"GUM_INPUT_WIDTH"`
20+
Password bool `help:"Mask input characters" default:"false"`
21+
Header string `help:"Header value" default:"" env:"GUM_INPUT_HEADER"`
22+
HeaderStyle style.Styles `embed:"" prefix:"header." set:"defaultForeground=240" envprefix:"GUM_INPUT_HEADER_"`
23+
Timeout time.Duration `help:"Timeout until input aborts" default:"0" env:"GUM_INPUT_TIMEOUT"`
2324
}

0 commit comments

Comments
 (0)