diff options
author | Parasrah <dev@parasrah.com> | 2022-01-06 21:54:28 -0700 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2022-01-07 13:54:10 +0100 |
commit | 71eda7d37c8ef38502c360b518fcbf5960497eea (patch) | |
tree | 07b9383865f65934001378f170c942242bc0f054 /widgets | |
parent | b19b844a6326793f078b4a03eaf63ca96528796e (diff) | |
download | aerc-71eda7d37c8ef38502c360b518fcbf5960497eea.tar.gz |
completions: add support for completing multiple addresses
as per the discussion https://lists.sr.ht/~sircmpwn/aerc/patches/15367
this handles completions in `completer/completer.go` by enabling the
completer to return a `prefix` that will be prepended to the selected
completion candidate.
Diffstat (limited to 'widgets')
-rw-r--r-- | widgets/aerc.go | 12 | ||||
-rw-r--r-- | widgets/exline.go | 6 |
2 files changed, 9 insertions, 9 deletions
diff --git a/widgets/aerc.go b/widgets/aerc.go index 3c52f7ee..e644f827 100644 --- a/widgets/aerc.go +++ b/widgets/aerc.go @@ -448,8 +448,8 @@ func (aerc *Aerc) BeginExCommand(cmd string) { }, func() { aerc.statusbar.Pop() aerc.focus(previous) - }, func(cmd string) []string { - return aerc.complete(cmd) + }, func(cmd string) ([]string, string) { + return aerc.complete(cmd), "" }, aerc.cmdHistory) aerc.statusbar.Push(exline) aerc.focus(exline) @@ -464,8 +464,8 @@ func (aerc *Aerc) RegisterPrompt(prompt string, cmd []string) { if err != nil { aerc.PushError(err.Error()) } - }, func(cmd string) []string { - return nil // TODO: completions + }, func(cmd string) ([]string, string) { + return nil, "" // TODO: completions }) aerc.prompts.Push(p) } @@ -491,8 +491,8 @@ func (aerc *Aerc) RegisterChoices(choices []Choice) { if err != nil { aerc.PushError(err.Error()) } - }, func(cmd string) []string { - return nil // TODO: completions + }, func(cmd string) ([]string, string) { + return nil, "" // TODO: completions }) aerc.prompts.Push(p) } diff --git a/widgets/exline.go b/widgets/exline.go index dd9c9280..0d245fba 100644 --- a/widgets/exline.go +++ b/widgets/exline.go @@ -12,14 +12,14 @@ type ExLine struct { ui.Invalidatable commit func(cmd string) finish func() - tabcomplete func(cmd string) []string + tabcomplete func(cmd string) ([]string, string) cmdHistory lib.History input *ui.TextInput conf *config.AercConfig } func NewExLine(conf *config.AercConfig, cmd string, commit func(cmd string), finish func(), - tabcomplete func(cmd string) []string, + tabcomplete func(cmd string) ([]string, string), cmdHistory lib.History) *ExLine { input := ui.NewTextInput("", conf.Ui).Prompt(":").Set(cmd) @@ -41,7 +41,7 @@ func NewExLine(conf *config.AercConfig, cmd string, commit func(cmd string), fin } func NewPrompt(conf *config.AercConfig, prompt string, commit func(text string), - tabcomplete func(cmd string) []string) *ExLine { + tabcomplete func(cmd string) ([]string, string)) *ExLine { input := ui.NewTextInput("", conf.Ui).Prompt(prompt) if conf.Ui.CompletionPopovers { |