aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--commands/cd.go18
-rw-r--r--commands/compose/attach.go8
2 files changed, 24 insertions, 2 deletions
diff --git a/commands/cd.go b/commands/cd.go
index 8c9cb21..3630cae 100644
--- a/commands/cd.go
+++ b/commands/cd.go
@@ -3,6 +3,7 @@ package commands
import (
"errors"
"os"
+ "strings"
"git.sr.ht/~sircmpwn/aerc/widgets"
"github.com/mitchellh/go-homedir"
@@ -23,7 +24,22 @@ func (_ ChangeDirectory) Aliases() []string {
}
func (_ ChangeDirectory) Complete(aerc *widgets.Aerc, args []string) []string {
- return nil
+ path := ""
+ if len(args) >= 1 {
+ path = args[0]
+ }
+
+ completions := CompletePath(path)
+
+ var dirs []string
+ for _, c := range completions {
+ // filter out non-directories
+ if strings.HasSuffix(c, "/") {
+ dirs = append(dirs, c)
+ }
+ }
+
+ return dirs
}
func (_ ChangeDirectory) Execute(aerc *widgets.Aerc, args []string) error {
diff --git a/commands/compose/attach.go b/commands/compose/attach.go
index 43aa32d..7501a33 100644
--- a/commands/compose/attach.go
+++ b/commands/compose/attach.go
@@ -5,6 +5,7 @@ import (
"os"
"time"
+ "git.sr.ht/~sircmpwn/aerc/commands"
"git.sr.ht/~sircmpwn/aerc/widgets"
"github.com/gdamore/tcell"
"github.com/mitchellh/go-homedir"
@@ -21,7 +22,12 @@ func (_ Attach) Aliases() []string {
}
func (_ Attach) Complete(aerc *widgets.Aerc, args []string) []string {
- return nil
+ path := ""
+ if len(args) >= 1 {
+ path = args[0]
+ }
+
+ return commands.CompletePath(path)
}
func (_ Attach) Execute(aerc *widgets.Aerc, args []string) error {