aboutsummaryrefslogtreecommitdiffstats
path: root/commands/compose/send.go
diff options
context:
space:
mode:
authorRobin Jarry <robin@jarry.cc>2023-10-22 23:23:18 +0200
committerRobin Jarry <robin@jarry.cc>2023-10-28 19:25:10 +0200
commitabe228b14d97d8d47e8ff4406de387fac45cfe68 (patch)
tree56117403d1ae32d7253f86bab01a944a3cf225b9 /commands/compose/send.go
parent30851656591293ed2e19340ab78c937855a11143 (diff)
downloadaerc-abe228b14d97d8d47e8ff4406de387fac45cfe68.tar.gz
commands: use completion from go-opt
Implement command completion with complete struct field tags from the get-opt library introduced earlier. Changelog-changed: Improved command completion. Signed-off-by: Robin Jarry <robin@jarry.cc> Reviewed-by: Koni Marti <koni.marti@gmail.com> Tested-by: Moritz Poldrack <moritz@poldrack.dev> Tested-by: Inwit <inwit@sindominio.net>
Diffstat (limited to 'commands/compose/send.go')
-rw-r--r--commands/compose/send.go19
1 files changed, 6 insertions, 13 deletions
diff --git a/commands/compose/send.go b/commands/compose/send.go
index e3672471..6f905628 100644
--- a/commands/compose/send.go
+++ b/commands/compose/send.go
@@ -28,8 +28,8 @@ import (
)
type Send struct {
- Archive string `opt:"-a" action:"ParseArchive" metavar:"flat|year|month"`
- CopyTo string `opt:"-t"`
+ Archive string `opt:"-a" action:"ParseArchive" metavar:"flat|year|month" complete:"CompleteArchive"`
+ CopyTo string `opt:"-t" complete:"CompleteFolders"`
}
func init() {
@@ -40,19 +40,12 @@ func (Send) Aliases() []string {
return []string{"send"}
}
-func (Send) Options() string {
- return "a:t:"
+func (*Send) CompleteArchive(arg string) []string {
+ return commands.CompletionFromList(msg.ARCHIVE_TYPES, arg)
}
-func (s Send) CompleteOption(r rune, term string) []string {
- if r == 't' {
- return commands.GetFolders([]string{term})
- }
- return nil
-}
-
-func (Send) Complete(args []string) []string {
- return nil
+func (*Send) CompleteFolders(arg string) []string {
+ return commands.GetFolders(arg)
}
func (s *Send) ParseArchive(arg string) error {