45 lines
1.2 KiB
Bash
45 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
# mfm Bash completion script
|
|
|
|
_mfm() {
|
|
local cur prev opts
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
|
|
# Options globales pour 'mfm'
|
|
local mfm_global_opts="-c --config -v --verbose -o --open --version -h --help"
|
|
|
|
# Commandes pour 'mfm'
|
|
local mfm_cmds="config mapping completion"
|
|
|
|
# Options pour 'config' et 'mapping'
|
|
local config_opts="init"
|
|
local mapping_opts="list create edit mount umount delete"
|
|
|
|
# Ajouter les options globales à chaque cas
|
|
case "${prev}" in
|
|
mfm)
|
|
COMPREPLY=($(compgen -W "${mfm_cmds} ${mfm_global_opts}" -- ${cur}))
|
|
return 0
|
|
;;
|
|
config)
|
|
COMPREPLY=($(compgen -W "${config_opts} ${mfm_global_opts}" -- ${cur}))
|
|
return 0
|
|
;;
|
|
mapping)
|
|
COMPREPLY=($(compgen -W "${mapping_opts} ${mfm_global_opts}" -- ${cur}))
|
|
return 0
|
|
;;
|
|
*)
|
|
if [[ ${cur} == -* ]]; then
|
|
COMPREPLY=($(compgen -W "${mfm_global_opts}" -- ${cur}))
|
|
fi
|
|
return 0
|
|
;;
|
|
esac
|
|
}
|
|
|
|
# Appliquer la complétion à la fonction 'mfm'
|
|
complete -F _mfm mfm
|