summary refs log tree commit diff stats
path: root/commands/account/next.go
diff options
context:
space:
mode:
authorGregory Mullen <greg@cmdline.org>2019-06-27 10:33:11 -0700
committerDrew DeVault <sir@cmpwn.com>2019-06-29 14:24:19 -0400
commit2a0961701c4cabecc53d134ed1782e5612e64580 (patch)
tree57952ac82fb7104113ca7fc0e25dc3d225f77ea7 /commands/account/next.go
parent177651bddab145c8a56cdfeb0d57b5fd95a6d0e2 (diff)
downloadaerc-2a0961701c4cabecc53d134ed1782e5612e64580.tar.gz
Implement basic tab completion support
Tab completion currently only works on commands. Contextual completion
will be added in the future.
Diffstat (limited to 'commands/account/next.go')
-rw-r--r--commands/account/next.go21
1 files changed, 14 insertions, 7 deletions
diff --git a/commands/account/next.go b/commands/account/next.go
index 3b9260c..f306b48 100644
--- a/commands/account/next.go
+++ b/commands/account/next.go
@@ -9,18 +9,21 @@ import (
 	"git.sr.ht/~sircmpwn/aerc/widgets"
 )
 
+type NextPrevMsg struct{}
+
 func init() {
-	register("next", NextPrevMessage)
-	register("next-message", NextPrevMessage)
-	register("prev", NextPrevMessage)
-	register("prev-message", NextPrevMessage)
+	register(NextPrevMsg{})
 }
 
-func nextPrevMessageUsage(cmd string) error {
-	return errors.New(fmt.Sprintf("Usage: %s [<n>[%%]]", cmd))
+func (_ NextPrevMsg) Aliases() []string {
+	return []string{"next", "next-message", "prev", "prev-message"}
+}
+
+func (_ NextPrevMsg) Complete(aerc *widgets.Aerc, args []string) []string {
+	return nil
 }
 
-func NextPrevMessage(aerc *widgets.Aerc, args []string) error {
+func (_ NextPrevMsg) Execute(aerc *widgets.Aerc, args []string) error {
 	if len(args) > 2 {
 		return nextPrevMessageUsage(args[0])
 	}
@@ -63,3 +66,7 @@ func NextPrevMessage(aerc *widgets.Aerc, args []string) error {
 	}
 	return nil
 }
+
+func nextPrevMessageUsage(cmd string) error {
+	return errors.New(fmt.Sprintf("Usage: %s [<n>[%%]]", cmd))
+}