Add OptionShowCompletionAtStart option
This commit is contained in:
parent
407ba3c83c
commit
c7e4448406
@ -36,6 +36,7 @@ type CompletionManager struct {
|
|||||||
|
|
||||||
verticalScroll int
|
verticalScroll int
|
||||||
wordSeparator string
|
wordSeparator string
|
||||||
|
showAtStart bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetSelectedSuggestion returns the selected item.
|
// GetSelectedSuggestion returns the selected item.
|
||||||
|
@ -226,6 +226,14 @@ func OptionAddASCIICodeBind(b ...ASCIICodeBind) Option {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OptionShowCompletionAtStart to set completion window is open at start.
|
||||||
|
func OptionShowCompletionAtStart() Option {
|
||||||
|
return func(p *Prompt) error {
|
||||||
|
p.completion.showAtStart = true
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// New returns a Prompt with powerful auto-completion.
|
// New returns a Prompt with powerful auto-completion.
|
||||||
func New(executor Executor, completer Completer, opts ...Option) *Prompt {
|
func New(executor Executor, completer Completer, opts ...Option) *Prompt {
|
||||||
defaultWriter := NewStdoutWriter()
|
defaultWriter := NewStdoutWriter()
|
||||||
|
@ -51,6 +51,10 @@ func (p *Prompt) Run() {
|
|||||||
p.setUp()
|
p.setUp()
|
||||||
defer p.tearDown()
|
defer p.tearDown()
|
||||||
|
|
||||||
|
if p.completion.showAtStart {
|
||||||
|
p.completion.Update(*p.buf.Document())
|
||||||
|
}
|
||||||
|
|
||||||
p.renderer.Render(p.buf, p.completion)
|
p.renderer.Render(p.buf, p.completion)
|
||||||
|
|
||||||
bufCh := make(chan []byte, 128)
|
bufCh := make(chan []byte, 128)
|
||||||
@ -232,6 +236,10 @@ func (p *Prompt) Input() string {
|
|||||||
p.setUp()
|
p.setUp()
|
||||||
defer p.tearDown()
|
defer p.tearDown()
|
||||||
|
|
||||||
|
if p.completion.showAtStart {
|
||||||
|
p.completion.Update(*p.buf.Document())
|
||||||
|
}
|
||||||
|
|
||||||
p.renderer.Render(p.buf, p.completion)
|
p.renderer.Render(p.buf, p.completion)
|
||||||
bufCh := make(chan []byte, 128)
|
bufCh := make(chan []byte, 128)
|
||||||
stopReadBufCh := make(chan struct{})
|
stopReadBufCh := make(chan struct{})
|
||||||
|
Loading…
Reference in New Issue
Block a user