diff options
Diffstat (limited to 'zsh')
| -rw-r--r-- | zsh/functions/_vault | 3 | ||||
| -rw-r--r-- | zsh/functions/vault | 14 | ||||
| -rw-r--r-- | zsh/rc | 2 |
3 files changed, 18 insertions, 1 deletions
diff --git a/zsh/functions/_vault b/zsh/functions/_vault new file mode 100644 index 0000000..5cab4e5 --- /dev/null +++ b/zsh/functions/_vault @@ -0,0 +1,3 @@ +#compdef vault + +_arguments ": :(close open)" ": :_path_files" diff --git a/zsh/functions/vault b/zsh/functions/vault new file mode 100644 index 0000000..abe0158 --- /dev/null +++ b/zsh/functions/vault @@ -0,0 +1,14 @@ +# -*- mode: sh -*- + +case $1 in + close) + hdiutil unmount -quiet $2 + ;; + open) + op get item ${2:t} --fields password --session $(op signin --raw) \ + | hdiutil attach -quiet -stdinpass $2 + ;; + *) + return 1 + ;; +esac @@ -10,7 +10,7 @@ done } -autoload -Uz compinit op-ssh-add zmv +autoload -Uz compinit op-ssh-add vault zmv [[ ! -d ${XDG_CACHE_HOME}/zsh ]] && mkdir -p ${XDG_CACHE_HOME}/zsh zstyle ':completion:*' cache-path ${XDG_CACHE_HOME}/zsh/cache |
