Improve Bash completion for various tools

This commit is contained in:
Wido den Hollander 2014-05-13 23:48:25 +02:00
parent 00225d739c
commit 8dd1190dd5
3 changed files with 29 additions and 12 deletions

View File

@ -16,6 +16,7 @@ _ceph()
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
prevprev="${COMP_WORDS[COMP_CWORD-2]}"
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "--conf -c --name --id -m --version -s --status -w --watch -o --out-file -i --in-file" -- ${cur}) )
@ -32,29 +33,41 @@ _ceph()
return 0
;;
auth)
COMPREPLY=( $(compgen -W "list add del" -- ${cur}) )
COMPREPLY=( $(compgen -W "list add del print_key print-key export get get-key import get-or-create get-or-create-key" -- ${cur}) )
return 0
;;
pg)
COMPREPLY=( $(compgen -W "stat dump getmap map send_pg_creates scrub deep-scrub repair" -- ${cur}) )
COMPREPLY=( $(compgen -W "stat dump dump_json dump_stuck force_create_pg getmap map send_pg_creates scrub deep-scrub repair" -- ${cur}) )
return 0
;;
osd)
COMPREPLY=( $(compgen -W "tell stat pool dump getmaxosd tree getmap getcrushmap lspools" -- ${cur}) )
COMPREPLY=( $(compgen -W "stat pool dump getmaxosd tree getmap getcrushmap lspools reweight-by-utilization trash tier" -- ${cur}) )
return 0
;;
mon)
COMPREPLY=( $(compgen -W "tell stat getmap" -- ${cur}) )
COMPREPLY=( $(compgen -W "stat getmap add remove dump" -- ${cur}) )
return 0
;;
mds)
COMPREPLY=( $(compgen -W "tell stat stat getmap dump compat" -- ${cur}) )
COMPREPLY=( $(compgen -W "stat stat getmap dump compat" -- ${cur}) )
return 0
;;
*)
COMPREPLY=( $(compgen -W "osd mon mds pg auth" -- ${cur}) )
pool)
COMPREPLY=( $(compgen -W "create delete rename stats set set-quota get rmsnap mksnap" -- ${cur}) )
return 0
;;
;;
health)
COMPREPLY=( $(compgen -W "detail" -- ${cur}) )
return 0
;;
tier)
COMPREPLY=( $(compgen -W "remove cache-mode" -- ${cur}) )
return 0
;;
ceph)
COMPREPLY=( $(compgen -W "osd mon mds pg auth health df" -- ${cur}) )
return 0
;;
esac
}
complete -F _ceph ceph

View File

@ -31,7 +31,7 @@ _rados()
COMPREPLY=( $(compgen -A hostname ${cur}) )
return 0
;;
*)
rados)
COMPREPLY=( $(compgen -W "lspools mkpool rmpool df ls chown get put create rm listxattr getxattr setxattr rmxattr stat mapext lssnap mksnap rmsnap rollback bench" -- ${cur}) )
return 0
;;

View File

@ -32,11 +32,15 @@ _rbd()
return 0
;;
snap)
COMPREPLY=( $(compgen -W "ls create rollback rm" -- ${cur}) )
COMPREPLY=( $(compgen -W "ls create rollback rm purge protect unprotect" -- ${cur}) )
return 0
;;
*)
COMPREPLY=( $(compgen -W "ls list info create resize rm export import cp copy mv rename snap watch map unmap showmapped" -- ${cur}) )
lock)
COMPREPLY=( $(compgen -W "list add remove" -- ${cur}) )
return 0
;;
rbd)
COMPREPLY=( $(compgen -W "ls list info create clone flatten resize rm export import diff export-diff import-diff cp copy mv rename snap watch lock bench-write map unmap showmapped" -- ${cur}) )
return 0
;;
esac