Unified · Split
| @@ -0,0 +1,42 @@ | ||
| 1 | +#!/usr/bin/env bash | |
| 2 | + | |
| 3 | +_split2flac () { | |
| 4 | + local cur prev opts formats | |
| 5 | + | |
| 6 | + _get_comp_words_by_ref cur prev | |
| 7 | + | |
| 8 | + opts="-p -o -of -cue -cuecharset -nask -f -e -eh -enca -c -nc -C -nC -cs -d -nd -D -nD -F -colors -nocolors -g -ng -s -h -v" | |
| 9 | + formats="flac m4a mp3 ogg wav" | |
| 10 | + | |
| 11 | + if [[ ${cur} == -* ]] ; then | |
| 12 | + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) | |
| 13 | + else | |
| 14 | + case "${prev}" in | |
| 15 | + -o) | |
| 16 | + _filedir -d | |
| 17 | + ;; | |
| 18 | + -of|-e|-enca|-C|-cs) | |
| 19 | + # no completion, wait for user input | |
| 20 | + ;; | |
| 21 | + -cue) | |
| 22 | + _filedir cue | |
| 23 | + ;; | |
| 24 | + -cuecharset) | |
| 25 | + local available_locales | |
| 26 | + available_locales=$( iconv -l | sed 's,//,,g' ) | |
| 27 | + COMPREPLY=( $(compgen -W "${available_locales}" -- ${cur}) ) | |
| 28 | + ;; | |
| 29 | + -c) | |
| 30 | + _filedir | |
| 31 | + ;; | |
| 32 | + -f) | |
| 33 | + COMPREPLY=( $(compgen -W "${formats}" -- ${cur}) ) | |
| 34 | + ;; | |
| 35 | + *) | |
| 36 | + _filedir | |
| 37 | + ;; | |
| 38 | + esac | |
| 39 | + fi | |
| 40 | +} | |
| 41 | + | |
| 42 | +complete -F _split2flac split2flac | |