completions/sv: Use path

This commit is contained in:
Fabian Boehm 2023-04-29 15:58:52 +02:00
parent 05e7732cb8
commit 32715ee504

View File

@ -11,20 +11,13 @@ set -l commands \
try-restart check try-restart check
function __fish_complete_sv_list_services function __fish_complete_sv_list_services
set -l svdir set -l svdir (path filter -d -- $SVDIR \
for candidate_svdir in \
"$SVDIR" \
/run/runit/runsvdir/current \ /run/runit/runsvdir/current \
/run/runit/service \ /run/runit/service \
/etc/services \ /etc/services \
/services /services)
if test -d $candidate_svdir
set svdir $candidate_svdir
break
end
end
set -q svdir[1]; or return set -q svdir[1]; or return
set -l services (command ls $svdir) set -l services (path basename -- $svdir[1]/*)
set -l sv_status (sv status $services 2>/dev/null | set -l sv_status (sv status $services 2>/dev/null |
string replace -ar ';.*$' '') string replace -ar ';.*$' '')
and string replace -r "^(\w+: )(.*?):" '$2\t$1' $sv_status and string replace -r "^(\w+: )(.*?):" '$2\t$1' $sv_status