diff options
author | Robin Jarry <robin@jarry.cc> | 2023-10-22 23:23:18 +0200 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-10-28 19:25:10 +0200 |
commit | abe228b14d97d8d47e8ff4406de387fac45cfe68 (patch) | |
tree | 56117403d1ae32d7253f86bab01a944a3cf225b9 /commands/msgview/save.go | |
parent | 30851656591293ed2e19340ab78c937855a11143 (diff) | |
download | aerc-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/msgview/save.go')
-rw-r--r-- | commands/msgview/save.go | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/commands/msgview/save.go b/commands/msgview/save.go index ea7599d3..9f2b71fc 100644 --- a/commands/msgview/save.go +++ b/commands/msgview/save.go @@ -22,7 +22,7 @@ type Save struct { CreateDirs bool `opt:"-p"` Attachments bool `opt:"-a"` AllAttachments bool `opt:"-A"` - Path string `opt:"..." required:"false" metavar:"<path>"` + Path string `opt:"path" required:"false" complete:"CompletePath"` } func init() { @@ -37,14 +37,12 @@ func (Save) Aliases() []string { return []string{"save"} } -func (s Save) Complete(args []string) []string { - trimmed := commands.Operands(args, s.Options()) - path := strings.Join(trimmed, " ") +func (*Save) CompletePath(arg string) []string { defaultPath := config.General.DefaultSavePath - if defaultPath != "" && !isAbsPath(path) { - path = filepath.Join(defaultPath, path) + if defaultPath != "" && !isAbsPath(arg) { + arg = filepath.Join(defaultPath, arg) } - return commands.CompletePath(xdg.ExpandHome(path)) + return commands.CompletePath(xdg.ExpandHome(arg)) } func (s Save) Execute(args []string) error { |