aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar terceiro <terceiro@softwarelivre.org>2009-02-05 05:17:57 +1000
committerGravatar terceiro <terceiro@softwarelivre.org>2009-02-05 05:17:57 +1000
commitc08c313c0a077249ec49ee5737a3e3d9898a7f50 (patch)
tree79dbd37a43ea02a88d21526864e01d761314a030
parentdfd70057b30e811b9895e9f735bb1bccc662b642 (diff)
adds completion for Debian's invoke-rc.d command
Ignore-this: f9ff385e3c239cedfbc9850b06822bba darcs-hash:20090204191757-69c1e-a55c2a720fd784c7be2534feacecd5e2ebdbeecd.gz
-rw-r--r--share/completions/invoke-rc.d.fish18
-rw-r--r--share/functions/__fish_print_debian_services.fish7
2 files changed, 25 insertions, 0 deletions
diff --git a/share/completions/invoke-rc.d.fish b/share/completions/invoke-rc.d.fish
new file mode 100644
index 00000000..d3f50ded
--- /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 00000000..378e6e39
--- /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