mirror of https://github.com/mvdan/fdroidcl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.4 KiB
50 lines
1.4 KiB
#compdef fdroidcl |
|
|
|
_fdroidcl() { |
|
local -a commands |
|
commands=( |
|
'update:update the index' |
|
'search:search available apps' |
|
'show:show detailed info about an app' |
|
'list:list all known values of a kind' |
|
'devices:list connected devices' |
|
'download:download an app' |
|
'install:install or upgrade an app' |
|
'uninstall:uninstall an app' |
|
'defaults:reset to the default settings') |
|
|
|
_arguments \ |
|
'1:command:{_describe -t commands command commands}' \ |
|
'*:: :_fdroidcl_options' |
|
return 0 |
|
} |
|
|
|
(( $+functions[_fdroidcl_options] )) || |
|
_fdroidcl_options() { |
|
local -a packages |
|
case ${(Q)words[1]} in |
|
(list) |
|
_describe -t lists list '(categories)' |
|
;; |
|
(search) |
|
_arguments -S \ |
|
'-q[print package names only]' \ |
|
'-o[sort order]:sort order:(added updated)' \ |
|
'(-u)-i[filter installed apps]' \ |
|
'(-i)-u[filter apps with updates]' \ |
|
'-d[filter apps by last updated]:updated since (days):' \ |
|
'-c[filter apps by category]:category:_fdroidcl_categories' |
|
;; |
|
(show|download|install|uninstall) |
|
packages=(${(f)"$(fdroidcl search -q 2> /dev/null)"}) |
|
_describe -t packages package packages |
|
;; |
|
esac |
|
} |
|
|
|
(( $+functions[_fdroidcl_categories] )) || |
|
_fdroidcl_categories() { |
|
local -a categories |
|
categories=(${(f)"$(fdroidcl list categories 2> /dev/null)"}) |
|
_describe -t categories category categories |
|
}
|
|
|