summaryrefslogtreecommitdiff
path: root/widgets
diff options
context:
space:
mode:
authorParasrah <dev@parasrah.com>2022-01-06 21:54:28 -0700
committerRobin Jarry <robin@jarry.cc>2022-01-07 13:54:10 +0100
commit71eda7d37c8ef38502c360b518fcbf5960497eea (patch)
tree07b9383865f65934001378f170c942242bc0f054 /widgets
parentb19b844a6326793f078b4a03eaf63ca96528796e (diff)
downloadaerc-71eda7d37c8ef38502c360b518fcbf5960497eea.zip
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.go12
-rw-r--r--widgets/exline.go6
2 files changed, 9 insertions, 9 deletions
diff --git a/widgets/aerc.go b/widgets/aerc.go
index 3c52f7e..e644f82 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 dd9c928..0d245fb 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 {