diff options
author | Ville Skyttä <ville.skytta@iki.fi> | 2010-01-30 12:41:54 +0200 |
---|---|---|
committer | Ville Skyttä <ville.skytta@iki.fi> | 2010-01-30 12:41:54 +0200 |
commit | c5470fdf742c34b79fb037f906921f2d5fc71082 (patch) | |
tree | 283301452455193456c36ad6470a112d23dc9f3c | |
parent | b996ff01cbc30bd25143b4a296358ab8f7bbc37b (diff) | |
download | bash-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/java | 11 |
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 |