Package: rake
Version: 0.5.3-1
Severity: wishlist
Tags: patch

Here's a bash completion function that adds command line completion 
for rake. It needs to be placed in /etc/bash_completion.d


_rake()
{
    local cur prev rakef i

    COMPREPLY=()
    cur=${COMP_WORDS[COMP_CWORD]}
    prev=${COMP_WORDS[COMP_CWORD-1]}
    rakef="Rakefile"

    if [[ "$prev" == "-f" ]]; then
        _filedir
        return 0
    fi

    if [[ "$cur" == *=* ]]; then
        prev=${cur/=*/}
        cur=${cur/*=/}
        if [[ "$prev" == "--rakefile=" ]]; then
            _filedir -o nospace
            return 0
        fi
    fi

    if [[ "$cur" == -* ]]; then
        COMPREPLY=( $( compgen -W '-n -H -I -N -P -q -f\
            -r -s -T -t -h -v -V\
            --dry-run --help '--libdir=' --nosearch --prereqs --quiet\
            '--rakefile=' '--require=' --silent --tasks --trace --usage\
            --verbose --version'\
            -- $cur ))
    else

        for (( i=0; i < [EMAIL PROTECTED]; i++)); do
            case "${COMP_WORDS[i]}" in
            -f)
                eval rakef=${COMP_WORDS[i+1]}
                break
                ;;
            --rakefile=*|--rakefile\=*)
                eval rakef=${COMP_WORDS[i]/*=/}
                break
                ;;
            esac
        done

        [ ! -f $rakef ] && return 0

        COMPREPLY=( $( rake -s -f "$rakef" -T | \
            awk -F ' ' '/^rake / { print $2 }' | \
            command grep "^$cur" ))

    fi
}
[ -n "${have:-}" ] && complete -F _rake $filenames rake


Cheers,
Michael

-- System Information:
Debian Release: 3.1
  APT prefers unstable
  APT policy: (990, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.11
Locale: LANG=POSIX, [EMAIL PROTECTED] (charmap=ISO-8859-15)

Versions of packages rake depends on:
ii  ruby                          1.8.2-1    An interpreter of object-oriented 

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to