diff options
Diffstat (limited to 'completions/zsh/_rest-run')
-rw-r--r-- | completions/zsh/_rest-run | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/completions/zsh/_rest-run b/completions/zsh/_rest-run index 003caaf..c9a642b 100644 --- a/completions/zsh/_rest-run +++ b/completions/zsh/_rest-run @@ -22,6 +22,7 @@ function _rest-run { args+=( '1:*:(POST GET PUT PATCH DELETE)' + '2:*:_rest-run_url_opts' '-ne[Skip request body edit]' '-b[Body options]: :_rest-run_body_opts' '-r[Response options]: :_rest-run_response_opts' @@ -36,6 +37,18 @@ function _rest-run { _arguments -C $args } +function _rest-run_url_opts { + local -a _values + + _values=() + + tail -n -50 $HOME/.cache/rest-run/request-history 2> /dev/null | while read -r line; do + _values+=("$(echo $line | sed 's/^[A-Z]*\s//g')") + done + + compadd -a _values +} + function _rest-run_body_opts { local -a _descriptions _values @@ -100,7 +113,7 @@ function _rest-run_select_response_opts { local domain="$(_rest-run_read_domain)" local -a _values - for f in $(find $HOME/.cache/rest-run/$domain -type f -iname '*response*'); do + for f in $(find $HOME/.cache/rest-run/$domain -type f -iname '*response*.log' 2> /dev/null | head -50); do _values+=("$(echo "$f" | sed 's/^.*\/\.cache\/rest-run\///g')") done |