diff options
author | Robin Jarry <robin@jarry.cc> | 2023-12-22 15:51:14 +0100 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2024-01-17 11:52:59 +0100 |
commit | 3622f7a99e91bfe38eab9e91dc982aafa00fe211 (patch) | |
tree | 071af82a070719d2b4f46dca430a892941f70214 /commands/util.go | |
parent | 765761c5bf49799e7d74535b9727062c869fc358 (diff) | |
download | aerc-3622f7a99e91bfe38eab9e91dc982aafa00fe211.tar.gz |
cd: fix completion of folders with a space
Folders that contain spaces are surrounded by quotes. They can never end
with '/'. Hence they are never returned in the completion results.
Update CompletePath with an additional onlyDirs argument to take care of
this before quotes are inserted.
Fixes: abe228b14d97 ("commands: use completion from go-opt")
Fixes: https://todo.sr.ht/~rjarry/aerc/204
Reported-by: Bence Ferdinandy <bence@ferdinandy.com>
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Bence Ferdinandy <bence@ferdinandy.com>
Diffstat (limited to 'commands/util.go')
-rw-r--r-- | commands/util.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/commands/util.go b/commands/util.go index e7940017..af8d3dfa 100644 --- a/commands/util.go +++ b/commands/util.go @@ -71,7 +71,7 @@ func QuickTerm(args []string, stdin io.Reader) (*app.Terminal, error) { } // CompletePath provides filesystem completions given a starting path. -func CompletePath(path string) []string { +func CompletePath(path string, onlyDirs bool) []string { if path == ".." || strings.HasSuffix(path, "/..") { return []string{path + "/"} } @@ -93,6 +93,8 @@ func CompletePath(path string) []string { for _, m := range matches { if isDir(m) { m += "/" + } else if onlyDirs { + continue } if strings.HasPrefix(filepath.Base(m), ".") && !includeHidden { continue |