summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVille Skyttä <ville.skytta@iki.fi>2011-02-05 12:06:53 +0200
committerVille Skyttä <ville.skytta@iki.fi>2011-02-05 12:06:53 +0200
commit6aecdb5f4cf0fe8b44ee6a3a6442898141185711 (patch)
treeba03adf5f58867a98ac027b0c63a0ffabbc0487b
parentb8ad9989234a7b170c653ae5b50622b45cd89ba3 (diff)
downloadbash-completion-6aecdb5f4cf0fe8b44ee6a3a6442898141185711.tar.gz
Avoid some unnecessary stat calls.
-rw-r--r--completions/java2
-rw-r--r--completions/mutt7
-rw-r--r--completions/service4
3 files changed, 8 insertions, 5 deletions
diff --git a/completions/java b/completions/java
index eacd85e3..b8bbb79e 100644
--- a/completions/java
+++ b/completions/java
@@ -60,7 +60,7 @@ _java_classes()
cur=${cur//.//}
# parse each classpath element for classes
for i in ${classpath//:/ }; do
- if [[ -r $i && "$i" == *.@(jar|zip) ]]; then
+ if [[ "$i" == *.@(jar|zip) && -r $i ]]; then
if type zipinfo &>/dev/null; then
COMPREPLY=( "${COMPREPLY[@]}" $( zipinfo -1 \
"$i" "$cur*" 2>/dev/null | \
diff --git a/completions/mutt b/completions/mutt
index a753a652..e5e9d289 100644
--- a/completions/mutt
+++ b/completions/mutt
@@ -37,8 +37,11 @@ _muttrc()
done
if [ -z "$muttrc" ]; then
- [ -f ~/.${muttcmd}/${muttcmd}rc ] && muttrc="~/.${muttcmd}/${muttcmd}rc"
- [ -f ~/.${muttcmd}rc ] && muttrc="~/.${muttcmd}rc"
+ if [ -f ~/.${muttcmd}rc ]; then
+ muttrc="~/.${muttcmd}rc"
+ elif [ -f ~/.${muttcmd}/${muttcmd}rc ]; then
+ muttrc="~/.${muttcmd}/${muttcmd}rc"
+ fi
fi
printf "%s" "$muttrc"
} # _muttrc()
diff --git a/completions/service b/completions/service
index ffd24366..1a36f59b 100644
--- a/completions/service
+++ b/completions/service
@@ -19,11 +19,11 @@ _service()
# don't complete past 2nd token
[ $COMP_CWORD -gt 2 ] && return 0
- [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d
-
if [[ $COMP_CWORD -eq 1 && $prev == "service" ]]; then
_services
else
+ [ -d /etc/rc.d/init.d ] && \
+ sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d
COMPREPLY=( $( compgen -W '`sed -e "y/|/ /" \
-ne "s/^.*\(U\|msg_u\)sage.*{\(.*\)}.*$/\2/p" \
$sysvdir/${prev##*/} 2>/dev/null`' -- "$cur" ) )