m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2012-07-26 19:54:37 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2012-07-26 19:54:37 +0200
commit4311b7728ec75eb9cf08302c57376ad0a46673a8 (patch)
tree4426ee0ceda21ec2142475f57ee8f57ccbe26559
parent5f12b6443d362a3949f0c289d59c3acf2bc6c649 (diff)
Add rudimentry bash-completion script. Needs work.
-rw-r--r--bash-completion.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/bash-completion.sh b/bash-completion.sh
new file mode 100644
index 0000000..f3d285a
--- /dev/null
+++ b/bash-completion.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+_pass()
+{
+ local cur prev prefix suffix gen
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ prefix="$HOME/.password-store/"
+ suffix=".gpg"
+
+ if [[ $prev == --* ]]; then
+ return 0
+ fi
+
+ for item in $(compgen -f $prefix$cur); do
+ if [[ $item == $prefix.* ]]; then
+ continue
+ fi
+ if [[ -d $item ]]; then
+ item="$item/"
+ fi
+ item="${item%$suffix}"
+ gen="$gen ${item#$prefix}"
+ done
+
+ COMPREPLY=( $gen )
+}
+complete -o filenames -o nospace -F _pass pass