From 4298c0b1eb31b7563eb608e3fbf4069488ada08d Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Fri, 14 Mar 2025 16:46:23 +0900 Subject: Add `--ghost=TEXT` to display a ghost text when the input is empty --- src/terminal.go | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/terminal.go') diff --git a/src/terminal.go b/src/terminal.go index 19230a9d..8f8b800a 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -234,6 +234,7 @@ type Terminal struct { wrap bool wrapSign string wrapSignWidth int + ghost string separator labelPrinter separatorLen int spinner []string @@ -847,6 +848,7 @@ func NewTerminal(opts *Options, eventBox *util.EventBox, executor *util.Executor infoCommand: opts.InfoCommand, infoStyle: opts.InfoStyle, infoPrefix: opts.InfoPrefix, + ghost: opts.Ghost, separator: nil, spinner: makeSpinner(opts.Unicode), promptString: opts.Prompt, @@ -2359,6 +2361,11 @@ func (t *Terminal) printPrompt() { t.prompt() before, after := t.updatePromptOffset() + if len(before) == 0 && len(after) == 0 && len(t.ghost) > 0 { + w.CPrint(tui.ColInput.WithAttr(tui.Dim), t.ghost) + return + } + color := tui.ColInput if t.paused { color = tui.ColDisabled -- cgit v1.2.3