diff --git a/share/functions/__fish_complete_ant_targets.fish b/share/functions/__fish_complete_ant_targets.fish index 55b77e444..b1447ce1e 100644 --- a/share/functions/__fish_complete_ant_targets.fish +++ b/share/functions/__fish_complete_ant_targets.fish @@ -1,7 +1,15 @@ +function __fish_complete_ant_targets -d "Print list of targets from build.xml and imported files" + set -l buildfile "build.xml" + if test -f $buildfile + # show ant targets + __fish_print_ant_targets $buildfile -function __fish_complete_ant_targets -d "Print list of targets from build.xml" - if test -f build.xml - sed -n "s/ *]* file=[\"']\([^\"']*\)[\"'].*\$/\1/p" < $buildfile) + + # iterate through files and display their targets + for file in $files; + __fish_filter_ant_targets $file + end end end - diff --git a/share/functions/__fish_filter_ant_targets.fish b/share/functions/__fish_filter_ant_targets.fish new file mode 100644 index 000000000..28ce2eb11 --- /dev/null +++ b/share/functions/__fish_filter_ant_targets.fish @@ -0,0 +1,3 @@ +function __fish_filter_ant_targets -d "Display targets within an ant build.xml file" + sed -n "s/^.*]* name=[\"']\([^\"']*\)[\"'].*\$/\1/p" < $argv[1] +end