summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVille Skyttä <ville.skytta@iki.fi>2010-01-30 12:41:54 +0200
committerVille Skyttä <ville.skytta@iki.fi>2010-01-30 12:41:54 +0200
commitc5470fdf742c34b79fb037f906921f2d5fc71082 (patch)
tree283301452455193456c36ad6470a112d23dc9f3c
parentb996ff01cbc30bd25143b4a296358ab8f7bbc37b (diff)
downloadbash-completion-c5470fdf742c34b79fb037f906921f2d5fc71082.tar.gz
Simplify java classes-in-classpath-dirs completion.
We intentionally don't look into subdirs of dirs in classpath (Debian: #496828) so a plain "ls" instead of "find" with non-portable -maxdepth is fine.
-rw-r--r--contrib/java11
1 files changed, 5 insertions, 6 deletions
diff --git a/contrib/java b/contrib/java
index cbd29f19..b9418ed8 100644
--- a/contrib/java
+++ b/contrib/java
@@ -71,12 +71,11 @@ _java_classes()
fi
elif [ -d $i ]; then
- i=${i%/}
-
- # See Debian bug #496828
- COMPREPLY=( "${COMPREPLY[@]}" $( find "$i" -type f \
- -maxdepth 1 -path "$i/$cur*.class" 2>/dev/null | \
- command grep -v "\\$" | sed -e "s|^$i/||" ) )
+ # Intentionally looking for *.class only in $i (not subdirs),
+ # see Debian bug #496828.
+ COMPREPLY=( "${COMPREPLY[@]}"
+ $( command ls $i/$cur*.class 2>/dev/null | \
+ sed -ne '/\$/d' -e "s|^$i//*||p" ) )
# FIXME: if we have foo.class and foo/, the completion
# returns "foo/"... how to give precedence to files