From df200c943a1dcfa040f334b8006e495af39205fd Mon Sep 17 00:00:00 2001 From: Zachary Craig Date: Fri, 18 Jul 2025 06:44:05 -0400 Subject: feat(keychain): support >2.9 (#13189) Co-authored-by: Carlo Sala --- plugins/keychain/keychain.plugin.zsh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'plugins/keychain/keychain.plugin.zsh') diff --git a/plugins/keychain/keychain.plugin.zsh b/plugins/keychain/keychain.plugin.zsh index f122f7982..8caf671f5 100644 --- a/plugins/keychain/keychain.plugin.zsh +++ b/plugins/keychain/keychain.plugin.zsh @@ -19,8 +19,15 @@ function { # load additional options zstyle -a :omz:plugins:keychain options options - # start keychain... - keychain ${^options:-} --agents ${agents:-gpg} ${^identities} --host $SHORT_HOST + # Check keychain version to decide whether to use --agents + local version_string=$(keychain --version 2>&1 | head -n 2 | tail -n 1 | cut -d ' ' -f 4) + # start keychain, only use --agents for versions below 2.9.0 + autoload -Uz is-at-least + if is-at-least 2.9 "$version_string"; then + keychain ${^options:-} --agents ${agents:-gpg} ${^identities} --host $SHORT_HOST + else + keychain ${^options:-} ${^identities} --host $SHORT_HOST + fi # Get the filenames to store/lookup the environment from _keychain_env_sh="$HOME/.keychain/$SHORT_HOST-sh" -- cgit v1.2.3-70-g09d2 From 8425e9774ea4be998a51c8c73c7f6e33000f9176 Mon Sep 17 00:00:00 2001 From: Carlo Sala Date: Mon, 21 Jul 2025 10:04:10 +0200 Subject: fix(keychain): reversed logic Closes #13106 --- plugins/keychain/keychain.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'plugins/keychain/keychain.plugin.zsh') diff --git a/plugins/keychain/keychain.plugin.zsh b/plugins/keychain/keychain.plugin.zsh index 8caf671f5..ce5351bce 100644 --- a/plugins/keychain/keychain.plugin.zsh +++ b/plugins/keychain/keychain.plugin.zsh @@ -24,9 +24,9 @@ function { # start keychain, only use --agents for versions below 2.9.0 autoload -Uz is-at-least if is-at-least 2.9 "$version_string"; then - keychain ${^options:-} --agents ${agents:-gpg} ${^identities} --host $SHORT_HOST - else keychain ${^options:-} ${^identities} --host $SHORT_HOST + else + keychain ${^options:-} --agents ${agents:-gpg} ${^identities} --host $SHORT_HOST fi # Get the filenames to store/lookup the environment from -- cgit v1.2.3-70-g09d2 From 9d93dfaa60ccc7980ad69b75b1accae0232e4e8f Mon Sep 17 00:00:00 2001 From: Carlo Sala Date: Sat, 15 Nov 2025 11:39:09 -0300 Subject: fix(keychain): use pattern matching to detect version (#13423) --- plugins/keychain/keychain.plugin.zsh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'plugins/keychain/keychain.plugin.zsh') diff --git a/plugins/keychain/keychain.plugin.zsh b/plugins/keychain/keychain.plugin.zsh index ce5351bce..23cf1af9a 100644 --- a/plugins/keychain/keychain.plugin.zsh +++ b/plugins/keychain/keychain.plugin.zsh @@ -20,10 +20,11 @@ function { zstyle -a :omz:plugins:keychain options options # Check keychain version to decide whether to use --agents - local version_string=$(keychain --version 2>&1 | head -n 2 | tail -n 1 | cut -d ' ' -f 4) + local version_string=$(keychain --version 2>&1) # start keychain, only use --agents for versions below 2.9.0 autoload -Uz is-at-least - if is-at-least 2.9 "$version_string"; then + if [[ "$version_string" =~ 'keychain ([0-9]+\.[0-9]+)' ]] && \ + is-at-least 2.9 "$match[1]"; then keychain ${^options:-} ${^identities} --host $SHORT_HOST else keychain ${^options:-} --agents ${agents:-gpg} ${^identities} --host $SHORT_HOST -- cgit v1.2.3-70-g09d2