gnome-shell/src/extensions-tool/completion/bash/gnome-extensions
Florian Müllner a429fdbd08 extensions-tool: Add 'install' command
The ability to install unaudited extensions directly from a zip file
can be useful for testing and code review, so implement a corresponding
command that complements the previously added 'pack' command.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1234
2019-08-21 18:28:02 +02:00

78 lines
1.7 KiB
Plaintext

# Check for bash
[ -z "$BASH_VERSION" ] && return
################################################################################
__gnome_extensions() {
local commands="version enable disable info install show list create pack"
local COMMAND=${COMP_WORDS[1]}
_init_completion -s || return
case "${COMP_CWORD}" in
1)
COMPREPLY=($(compgen -W "help $commands" -- "$2"))
return 0
;;
2)
case "$COMMAND" in
help)
COMPREPLY=($(compgen -W "$commands" -- "$2"))
return 0
;;
disable)
local list_opt=--enabled
;;&
enable)
local list_opt=--disabled
;;&
enable|disable|info|show)
COMPREPLY=($(compgen -W "`gnome-extensions list $list_opt`" -- "$2"))
return 0
;;
esac
;;
esac
case "$COMMAND" in
pack)
case "$prev" in
--podir|--out-dir|-o)
_filedir -d
return 0
;;
--schema)
_filedir gschema.xml
return 0
;;
--extra-source)
_filedir
return 0
;;
esac
;;
install)
if [[ $cur != -* ]]
then
_filedir zip
return 0
fi
;;
esac
# Stop if we are currently waiting for an option value
$split && return
# Otherwise, get the supported options for ${COMMAND} (if any)
COMPREPLY=($(compgen -W "$(_parse_help $1 "help $COMMAND")" -- "$2"))
[[ $COMPREPLY == *= ]] && compopt -o nospace
return 0
}
################################################################################
complete -F __gnome_extensions gnome-extensions