aboutsummaryrefslogtreecommitdiff
path: root/completions
diff options
context:
space:
mode:
Diffstat (limited to 'completions')
-rw-r--r--completions/zsh/_rest-run15
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