#/usr/bin/env bash

# SPDX-FileCopyrightText: 2022 stenc authors
# SPDX-License-Identifier: GPL-2.0-or-later

#stenc bash completion

_stenc () {
    local cur prev words cword
    _init_completion || return

    COMPREPLY=()

    case $prev in
        --version )
            return
            ;;
        -f )
            #list tape devices
            if [[ $(uname) == Linux ]]; then
                for tape in /sys/class/scsi_tape/*;
                  do devs+="/dev/${tape##*/} ";
                done;
                COMPREPLY=($(compgen -W "$devs" -- "$cur"))
            else
                _filedir
            fi
            return
            ;;
        -e | --encrypt )
            COMPREPLY=($(compgen -W 'off on' -- "$cur"))
            return
            ;;
        -d | --decrypt )
            COMPREPLY=($(compgen -W 'off on mixed' -- "$cur"))
            return
            ;;
        -k | --key-file )
            _filedir
            return
            ;;
    esac

    if [[ $cur == -* ]]; then
        COMPREPLY=($(compgen -W '-f --file -e --encrypt -d --decrypt -k --key-file -a --algorithm --allow-raw-read --no-allow-raw-read --ckod -h --help --version' -- "$cur"))
        return
    fi
}
complete -F _stenc stenc
