summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Murzov <e-mail@date.by>2011-12-29 04:46:00 +0400
committerIgor Murzov <e-mail@date.by>2011-12-29 23:36:32 +0400
commitd0a14954ab45cb79aba9bff44d5ba910eac7925d (patch)
tree5fe67240c138b464aa7857abe4c020de883e34b9
parent6621f37c5dc2cf59ba2c34ee038f5699418e643e (diff)
downloadbash-completion-sudo.tar.gz
sudoedit: New completion.sudo
-rw-r--r--completions/.gitignore1
-rw-r--r--completions/Makefile.am5
-rw-r--r--completions/sudo5
3 files changed, 10 insertions, 1 deletions
diff --git a/completions/.gitignore b/completions/.gitignore
index 4e86f85c..0e234def 100644
--- a/completions/.gitignore
+++ b/completions/.gitignore
@@ -151,6 +151,7 @@ smbtree
sparc-koji
spovray
stream
+sudoedit
tightvncviewer
tracepath6
typeset
diff --git a/completions/Makefile.am b/completions/Makefile.am
index f8d53878..6781981c 100644
--- a/completions/Makefile.am
+++ b/completions/Makefile.am
@@ -498,6 +498,7 @@ CLEANFILES = \
sparc-koji \
spovray \
stream \
+ sudoedit \
tightvncviewer \
tracepath6 \
typeset \
@@ -770,6 +771,10 @@ symlinks:
rm -f $(targetdir)/$$file && \
$(LN_S) ssh $(targetdir)/$$file ; \
done
+ for file in sudoedit ; do \
+ rm -f $(targetdir)/$$file && \
+ $(LN_S) sudo $(targetdir)/$$file ; \
+ done
for file in tracepath6 ; do \
rm -f $(targetdir)/$$file && \
$(LN_S) tracepath $(targetdir)/$$file ; \
diff --git a/completions/sudo b/completions/sudo
index 53fa75aa..b13b7313 100644
--- a/completions/sudo
+++ b/completions/sudo
@@ -6,6 +6,9 @@ _sudo()
_init_completion || return
local i mode=normal
+ [[ $1 == *sudoedit ]] && mode=edit
+
+ [[ $mode == normal ]] &&
for (( i=1; i <= COMP_CWORD; i++ )); do
if [[ ${COMP_WORDS[i]} != -* ]]; then
local PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin
@@ -43,6 +46,6 @@ _sudo()
if [[ $mode == edit ]]; then
_filedir
fi
-} && complete -F _sudo sudo
+} && complete -F _sudo sudo sudoedit
# ex: ts=4 sw=4 et filetype=sh