From 1caace8f4c0faf09f32a2955ba2fea65c4193e78 Mon Sep 17 00:00:00 2001
From: Paul Holzinger <paul.holzinger@web.de>
Date: Mon, 8 Feb 2021 18:31:30 +0100
Subject: [PATCH] Allow path completion for podman create/run --rootfs

If the --rootfs flag is set podman create/run expect a host
path as first argument. The shell completion should provide
path completion in that case.

[NO TESTS NEEDED]
This can manually be verified with `podman run --rootfs [TAB]`.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
---
 cmd/podman/common/completion.go | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/cmd/podman/common/completion.go b/cmd/podman/common/completion.go
index 09dd74e201..92163efde4 100644
--- a/cmd/podman/common/completion.go
+++ b/cmd/podman/common/completion.go
@@ -426,6 +426,12 @@ func AutocompleteCreateRun(cmd *cobra.Command, args []string, toComplete string)
 		return nil, cobra.ShellCompDirectiveNoFileComp
 	}
 	if len(args) < 1 {
+		// check if the rootfs flag is set
+		// if it is set to true provide directory completion
+		rootfs, err := cmd.Flags().GetBool("rootfs")
+		if err == nil && rootfs {
+			return nil, cobra.ShellCompDirectiveFilterDirs
+		}
 		return getImages(cmd, toComplete)
 	}
 	// TODO: add path completion for files in the image