From beb83077d816728ed11194ada25d21c80f4a3917 Mon Sep 17 00:00:00 2001 From: Joshua Cold Date: Sat, 7 May 2022 11:51:17 -0600 Subject: [PATCH 1/4] Fix zsh hanging when tab completing add/checkout --- completion/zsh/_yadm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/completion/zsh/_yadm b/completion/zsh/_yadm index 9423ac5..4fbfc9d 100644 --- a/completion/zsh/_yadm +++ b/completion/zsh/_yadm @@ -7,6 +7,19 @@ zstyle -T ':completion:*:yadm:argument-1:descriptions:' format && \ zstyle -T ':completion:*:yadm:*:yadm' group-name && \ zstyle ':completion:*:yadm:*:yadm' group-name '' +function _yadm-add(){ + yadm_path="$(yadm rev-parse --show-toplevel)" + yadm_options=$(yadm status --porcelain=v1 | + awk -v yadm_path=${yadm_path} '{printf "%s/\"%s\"\\:\"%s\" ", yadm_path, $2, $1 }' ) + _alternative \ + "args:custom arg:(($yadm_options))" \ + 'files:filename:_files' +} + +function _yadm-checkout(){ + _yadm-add +} + _yadm-alt() { return 0 } From 7573e18a89f7b687bc3c2200c165e37ae143b759 Mon Sep 17 00:00:00 2001 From: Joshua Cold Date: Sat, 7 May 2022 12:41:00 -0600 Subject: [PATCH 2/4] Fix duplicates from completion --- completion/zsh/_yadm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/completion/zsh/_yadm b/completion/zsh/_yadm index 4fbfc9d..eb9d644 100644 --- a/completion/zsh/_yadm +++ b/completion/zsh/_yadm @@ -8,12 +8,13 @@ zstyle -T ':completion:*:yadm:*:yadm' group-name && \ zstyle ':completion:*:yadm:*:yadm' group-name '' function _yadm-add(){ + local -a yadm_options yadm_path yadm_path="$(yadm rev-parse --show-toplevel)" - yadm_options=$(yadm status --porcelain=v1 | - awk -v yadm_path=${yadm_path} '{printf "%s/\"%s\"\\:\"%s\" ", yadm_path, $2, $1 }' ) - _alternative \ - "args:custom arg:(($yadm_options))" \ - 'files:filename:_files' + yadm_options=($(yadm status --porcelain=v1 | + awk -v yadm_path=${yadm_path} '{printf "%s/%s ", yadm_path, $2}' )) + + _describe 'command' yadm_options + _files } function _yadm-checkout(){ From 29897343592facee8dc4d5bf21c2b3a50ae925d5 Mon Sep 17 00:00:00 2001 From: Joshua Cold Date: Sat, 7 May 2022 13:32:12 -0600 Subject: [PATCH 3/4] Add back in the descriptions --- completion/zsh/_yadm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/completion/zsh/_yadm b/completion/zsh/_yadm index eb9d644..451056c 100644 --- a/completion/zsh/_yadm +++ b/completion/zsh/_yadm @@ -11,9 +11,11 @@ function _yadm-add(){ local -a yadm_options yadm_path yadm_path="$(yadm rev-parse --show-toplevel)" yadm_options=($(yadm status --porcelain=v1 | - awk -v yadm_path=${yadm_path} '{printf "%s/%s ", yadm_path, $2}' )) + awk -v yadm_path=${yadm_path} '{printf "%s/%s:%s\n", yadm_path, $2, $1}' )) + local expl + local line=( $yadm_options[1,CURRENT-1] ) - _describe 'command' yadm_options + _describe 'command' yadm_options -F line _files } From 2cc64a2fa0aa52fa37746bdd9ced5e68e13de456 Mon Sep 17 00:00:00 2001 From: Joshua Cold Date: Sat, 7 May 2022 13:38:05 -0600 Subject: [PATCH 4/4] remove extra lines --- completion/zsh/_yadm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/completion/zsh/_yadm b/completion/zsh/_yadm index 451056c..be2dc51 100644 --- a/completion/zsh/_yadm +++ b/completion/zsh/_yadm @@ -12,10 +12,8 @@ function _yadm-add(){ yadm_path="$(yadm rev-parse --show-toplevel)" yadm_options=($(yadm status --porcelain=v1 | awk -v yadm_path=${yadm_path} '{printf "%s/%s:%s\n", yadm_path, $2, $1}' )) - local expl - local line=( $yadm_options[1,CURRENT-1] ) - _describe 'command' yadm_options -F line + _describe 'command' yadm_options _files }