diff --git a/compdef/_sv b/compdef/_sv index 673a671..d56981e 100644 --- a/compdef/_sv +++ b/compdef/_sv @@ -1,7 +1,7 @@ #compdef sv # completion for runit sv(1) -# Christian Neukirchen +# Leah Neukirchen # runit 2.1.1, services in /var/service are completed by default local ret=1 services @@ -35,10 +35,12 @@ cmds) check ret=0;; args) - if [[ $BUFFER == sudo* ]] then - services=( /var/service/*(-/N:t) ) + if [[ $BUFFER == "sudo "* + || $BUFFER == "doas "* + || $BUFFER == "su "*-c* ]] then + services=( /var/service/*(-/N:t) ) else - services=( ${SVDIR:-/var/service}/*(-/N:t) ) + services=( ${SVDIR:-/var/service}/*(-/N:t) ) fi (( $#services )) && _values services $services && ret=0 [[ $words[CURRENT] = */* ]] && _directories && ret=0 diff --git a/compdef/_sv-manage b/compdef/_sv-manage index c7ae698..c886896 100644 --- a/compdef/_sv-manage +++ b/compdef/_sv-manage @@ -5,4 +5,4 @@ local context state line _arguments \ "1:Action:(add rm remove)"\ - "*:service:_files -W /etc/sv" + "*:service:_files -W ${SVDIR_TEMPLATES:-/etc/sv}"