# bash completion for mkisofs/genisoimage

(have mkisofs || have genisoimage) &&
_mkisofs()
{
    local cur prev

    COMPREPLY=()
    cur=`_get_cword`
    prev=${COMP_WORDS[COMP_CWORD-1]}

    case "$prev" in
        -@(o|abstract|biblio|check-session|copyright|log-file|root-info|prep-boot|*-list))
            _filedir
            return 0
            ;;
        -*-charset)
            COMPREPLY=( $( compgen -W '$( mkisofs -input-charset \
                    help 2>&1 | tail -n +3 )' -- "$cur" ) )
            return 0
            ;;
        -uid)
            _uids
            return 0
            ;;
        -gid)
            _gids
            return 0
            ;;
    esac

    if [[ "$cur" == -* ]]; then
        COMPREPLY=( $( compgen -W '-abstract -A -allow-lowercase \
            -allow-multidot -biblio -cache-inodes \
            -no-cache-inodes -b -eltorito-alt-boot -B -G \
            -hard-disk-boot -no-emul-boot -no-boot \
            -boot-load-seg -boot-load-size \
            -boot-info-table -C -c -check-oldname \
            -check-session -copyright -d -D -dir-mode \
            -dvd-video -f -file-mode -gid -gui \
            -graft-points -hide -hide-list -hidden \
            -hidden-list -hide-joliet -hide-joliet-list \
            -hide-joliet-trans-tbl -hide-rr-moved \
            -input-charset -output-charset -iso-level -J \
            -joliet-long -jcharset -l -L -log-file -m \
            -exclude-list -max-iso9660-filenames -M -N \
            -new-dir-mode -nobak -no-bak -force-rr -no-rr \
            -no-split-symlink-components \
            -no-split-symlink-fields -o -pad -no-pad \
            -path-list -P -p -print-size -quiet -R -r \
            -relaxed-filenames -sort -split-output \
            -stream-media-size -stream-file-name -sysid -T\
            -table-name -ucs-level -udf -uid \
            -use-fileversion -U -no-iso-translate -V \
            -volset -volset-size -volset-seqno -v -x -z \
            -hfs -apple -map -magic -hfs-creator \
            -hfs-type -probe -no-desktop -mac-name \
            -boot-hfs-file -part -auto -cluster-size \
            -hide-hfs -hide-hfs-list -hfs-volid \
            -icon-position -root-info -prep-boot \
            -input-hfs-charset -output-hfs-charset \
            -hfs-unlock -hfs-bless -hfs-parms --cap \
            --netatalk --double --ethershare --ushare \
            --exchange --sgi --xinet --macbin --single \
            --dave --sfm --osx-double --osx-hfs' -- "$cur" ))
    else
        _filedir
    fi

} &&
complete -F _mkisofs $filenames mkisofs genisoimage

# Local variables:
# mode: shell-script
# sh-basic-offset: 4
# sh-indent-comment: t
# indent-tabs-mode: nil
# End:
# ex: ts=4 sw=4 et filetype=sh
