From 543d6c0db197b624f8cf8be296fa2e5d37d3e6c2 Mon Sep 17 00:00:00 2001 From: Carlo Sala Date: Tue, 28 Dec 2021 15:54:59 +0100 Subject: [PATCH] feat(rbw): add completion for `rbw` Bitwarden client (#10346) --- .github/actions/spelling/expect.txt | 6 ++++-- plugins/rbw/README.md | 12 ++++++++++++ plugins/rbw/rbw.plugin.zsh | 19 +++++++++++++++++++ 3 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 plugins/rbw/README.md create mode 100644 plugins/rbw/rbw.plugin.zsh diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 65215c6c3..5c5a04ff1 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -22,8 +22,8 @@ acr acroread acs acsc -acss acsp +acss actionformats Adamantium adb @@ -312,6 +312,7 @@ bisd bitboxer bitbucket bitswap +bitwarden blkio blockprofile blockprofilerate @@ -3119,6 +3120,7 @@ rbenv rbenvdirs rbfu RBUFFER +rbw rcfile Rchive rcs @@ -4442,8 +4444,8 @@ zrr zrs zscore zse -zsh'ed zsh +zsh'ed zshaddhistory zshcmd zshcommands diff --git a/plugins/rbw/README.md b/plugins/rbw/README.md new file mode 100644 index 000000000..87d073d24 --- /dev/null +++ b/plugins/rbw/README.md @@ -0,0 +1,12 @@ +# Bitwarden (unofficial) CLI plugin + +This plugin adds completion for [rbw](https://github.com/doy/rbw), an unofficial +CLI for [Bitwarden](https://bitwarden.com). + +To use it, add `rbw` to the plugins array in your zshrc file: + +```zsh +plugins=(... rbw) +``` + +This plugin does not add any aliases. diff --git a/plugins/rbw/rbw.plugin.zsh b/plugins/rbw/rbw.plugin.zsh new file mode 100644 index 000000000..3825be7a6 --- /dev/null +++ b/plugins/rbw/rbw.plugin.zsh @@ -0,0 +1,19 @@ +if (( ! $+commands[rbw] )); then + return +fi + +# TODO: 2021-12-28: remove this bit of code as it exists in oh-my-zsh.sh +# Add completions folder in $ZSH_CACHE_DIR +command mkdir -p "$ZSH_CACHE_DIR/completions" +(( ${fpath[(Ie)"$ZSH_CACHE_DIR/completions"]} )) || fpath=("$ZSH_CACHE_DIR/completions" $fpath) + + +# If the completion file doesn't exist yet, we need to autoload it and +# bind it to `rbw`. Otherwise, compinit will have already done that. +if [[ ! -f "$ZSH_CACHE_DIR/completions/_rbw" ]]; then + declare -A _comps + autoload -Uz _rbw + _comps[rbw]=_rbw +fi + +rbw gen-completions zsh >| "$ZSH_CACHE_DIR/completions/_rbw" &|