aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/functions/__fish_make_completion_signals.fish
diff options
context:
space:
mode:
authorGravatar gonchar <gonchar@gonchar-lt.jinr.ru>2011-09-23 12:24:21 +0400
committerGravatar gonchar <gonchar@gonchar-lt.jinr.ru>2011-09-23 12:24:21 +0400
commitc66ec4df3d57bcbd8eb1fb3d92c3cd80e1c215b5 (patch)
tree26687f27243c7df719f3b14d87b085d8560146bf /share/functions/__fish_make_completion_signals.fish
parentc25c48f76369d61e23de283d34f9b5b80d19f022 (diff)
* __fish_complete_subcommand_root now passes arguments to
__fish_complete_subcommand * sudo: - now can be completed bu group and user (-u and -g keys). - subcommand completion is fixed * __fish_complete_proc.fish is added to complete killall command with list of running processes * __fish_complete_tex.fish is updated with common options * __fish_make_completion_signals.fish is added to make a list of kill signals for kill and killall * completions: - minor filetype completions are added for djview, xpdf, mupdf, gv, xdvi - adduser is copmleted by user and group - dlocate and dpkg are completed by packages - find: -executable options is added - htop: options - funced and funcsave are completed by function names - ifdown and ifup are copmleted by interfaces - kill and killall: options, signals and processes - latexmk, ln, nm: options - lualatex and xelatex copmletions - sudo: -u and -g options - wvdial: presets
Diffstat (limited to 'share/functions/__fish_make_completion_signals.fish')
-rw-r--r--share/functions/__fish_make_completion_signals.fish17
1 files changed, 17 insertions, 0 deletions
diff --git a/share/functions/__fish_make_completion_signals.fish b/share/functions/__fish_make_completion_signals.fish
new file mode 100644
index 00000000..a8d97819
--- /dev/null
+++ b/share/functions/__fish_make_completion_signals.fish
@@ -0,0 +1,17 @@
+function __fish_make_completion_signals --description 'Make list of kill signals for copmletion'
+ set -q __kill_signals; and return 0
+
+ if kill -L ^/dev/null >/dev/null
+ # Debian and some related systems use 'kill -L' to write out a numbered list
+ # of signals. Use this to complete on both number _and_ on signal name.
+ complete -c kill -s L --description "List codes and names of available signals"
+ set -g __kill_signals (kill -L | sed -e 's/\([0-9][0-9]*\) *\([A-Z,0-9][A-Z,0-9]*\)/\1 \2\n/g;s/ +/ /g' | sed -e 's/^ \+//' | sgrep -E '^[^ ]+')
+ else
+ # Posix systems print out the name of a signal using 'kill -l
+ # SIGNUM', so we use this instead.
+ complete -c kill -s l --description "List names of available signals"
+ for i in (seq 31)
+ set -g __kill_signals $signals $i" "(kill -l $i)
+ end
+ end
+end