From 7b070612da12a2072bb5877c6efe9c219ca65ffa Mon Sep 17 00:00:00 2001 From: Nuri Jung Date: Tue, 23 Apr 2024 16:49:16 +0900 Subject: [PATCH] feat(completion/zsh): list zoxide entries for corresponding options --- contrib/completions/_zoxide | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/contrib/completions/_zoxide b/contrib/completions/_zoxide index fd898e6..27915ff 100644 --- a/contrib/completions/_zoxide +++ b/contrib/completions/_zoxide @@ -2,6 +2,16 @@ autoload -U is-at-least +__zoxide_list() { + local scored_list + local -a zoxide_list + + scored_list="$( + zoxide query --list --score | sed -E 's/^\s+(\S+)\s+(.*)$/\2:\1/g')" + zoxide_list=("${(@f)scored_list}") + _describe -t paths 'zoxide entries' zoxide_list +} + _zoxide() { typeset -A opt_args typeset -a _arguments_options @@ -59,7 +69,7 @@ _arguments "${_arguments_options[@]}" \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ -':path:' \ +':path:__zoxide_list' \ && ret=0 ;; (delete) @@ -68,7 +78,7 @@ _arguments "${_arguments_options[@]}" \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ -':path:' \ +':path:__zoxide_list' \ && ret=0 ;; (increment) @@ -77,7 +87,7 @@ _arguments "${_arguments_options[@]}" \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ -':path:' \ +':path:__zoxide_list' \ && ret=0 ;; (reload) @@ -139,7 +149,7 @@ _arguments "${_arguments_options[@]}" \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ -'*::paths:_files -/' \ +'*::paths:__zoxide_list' \ && ret=0 ;; esac