From c5470fdf742c34b79fb037f906921f2d5fc71082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sat, 30 Jan 2010 12:41:54 +0200 Subject: [PATCH] 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. --- contrib/java | 11 +++++------ 1 file 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