From 04ff6261ca172aceb09bad926da68c41ba17b78e Mon Sep 17 00:00:00 2001
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
Date: Fri, 18 Apr 2014 12:30:50 +0200
Subject: bash-completion: filter dot files from results

---
 src/completion/pass.bash-completion | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

(limited to 'src/completion/pass.bash-completion')

diff --git a/src/completion/pass.bash-completion b/src/completion/pass.bash-completion
index d8d65c7..332bf51 100644
--- a/src/completion/pass.bash-completion
+++ b/src/completion/pass.bash-completion
@@ -12,15 +12,20 @@ _pass_complete_entries () {
 	local IFS=$'\n'
 	local items=($(compgen -f $prefix$cur))
 	for item in ${items[@]}; do
-		[[ $item == $prefix.* ]] && continue
+		[[ $item =~ /\.[^/]*$ ]] && continue
 
 		# if there is a unique match, and it is a directory with one entry
 		# autocomplete the subentry as well (recursively)
 		if [[ ${#items[@]} -eq 1 && $autoexpand -eq 1 ]]; then
 			while [[ -d $item ]]; do
 				local subitems=($(compgen -f "$item/"))
-				if [[ ${#subitems[@]} -eq 1 ]]; then
-					item="${subitems[0]}"
+				local filtereditems=( )
+				for item2 in "${subitems[@]}"; do
+					[[ $item2 =~ /\.[^/]*$ ]] && continue
+					filtereditems+=( "$item2" )
+				done
+				if [[ ${#filtereditems[@]} -eq 1 ]]; then
+					item="${filtereditems[0]}"
 				else
 					break
 				fi
-- 
cgit v1.2.3