From c08c313c0a077249ec49ee5737a3e3d9898a7f50 Mon Sep 17 00:00:00 2001 From: terceiro Date: Thu, 5 Feb 2009 05:17:57 +1000 Subject: [PATCH] adds completion for Debian's invoke-rc.d command Ignore-this: f9ff385e3c239cedfbc9850b06822bba darcs-hash:20090204191757-69c1e-a55c2a720fd784c7be2534feacecd5e2ebdbeecd.gz --- share/completions/invoke-rc.d.fish | 18 ++++++++++++++++++ .../__fish_print_debian_services.fish | 7 +++++++ 2 files changed, 25 insertions(+) create mode 100644 share/completions/invoke-rc.d.fish create mode 100644 share/functions/__fish_print_debian_services.fish diff --git a/share/completions/invoke-rc.d.fish b/share/completions/invoke-rc.d.fish new file mode 100644 index 000000000..d3f50ded6 --- /dev/null +++ b/share/completions/invoke-rc.d.fish @@ -0,0 +1,18 @@ + +function __fish_invoke_rcd_has_service + set tokens (commandline -opc) + if [ (count $tokens) -eq 2 ] + return 0 + else + return 1 + end +end + +complete -f -c invoke-rc.d -n 'not __fish_invoke_rcd_has_service' -a '(__fish_print_debian_services)' +complete -f -c invoke-rc.d -n '__fish_invoke_rcd_has_service' -a 'start' -d 'Start the service' +complete -f -c invoke-rc.d -n '__fish_invoke_rcd_has_service' -a 'stop' -d 'Stop the service' +complete -f -c invoke-rc.d -n '__fish_invoke_rcd_has_service' -a 'restart' -d 'Restart the service' +complete -f -c invoke-rc.d -n '__fish_invoke_rcd_has_service' -a 'reload' -d 'Reload Configuration' +complete -f -c invoke-rc.d -n '__fish_invoke_rcd_has_service' -a 'force-reload' -d 'Force reloading configuration' +complete -f -c invoke-rc.d -n '__fish_invoke_rcd_has_service' -a 'status' -d 'Print the status of the service' + diff --git a/share/functions/__fish_print_debian_services.fish b/share/functions/__fish_print_debian_services.fish new file mode 100644 index 000000000..378e6e39b --- /dev/null +++ b/share/functions/__fish_print_debian_services.fish @@ -0,0 +1,7 @@ +function __fish_print_debian_services --description 'Prints services installed' + for service in /etc/init.d/* + if [ -x $service ] + basename $service + end + end +end