diff --git a/_google b/_google new file mode 100644 index 0000000..82f8508 --- /dev/null +++ b/_google @@ -0,0 +1,64 @@ +#compdef google +# ------------------------------------------------------------------------------ +# Description +# ----------- +# +# Completion script for googlecl (https://code.google.com/p/googlecl/) +# +# Source: https://raw.github.com/dadrc/zsh-cfg/master/completions/_google +# +# ------------------------------------------------------------------------------ +# Authors +# ------- +# +# * dadrc (https://github.com/dadrc) +# * Ben O'Hara (https://github.com/benohara) +# +# ------------------------------------------------------------------------------ +# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- +# vim: ft=zsh sw=2 ts=2 et +# ------------------------------------------------------------------------------ + +_google() { + # init variables + local curcontext="$curcontext" state line + typeset -A opt_args + + # init state + _arguments \ + '1: :->service'\ + '2: :->task' + + case $state in + service) + _arguments '1:service:(picasa blogger youtube docs contacts calendar finance)' + ;; + *) + case $words[2] in + picasa) + compadd "$@" get create list list-albums tag post delete + ;; + blogger) + compadd "$@" post tag list delete + ;; + youtube) + compadd "$@" post tag list delete + ;; + docs) + compadd "$@" edit delete list upload get + ;; + contacts) + compadd "$@" list list-groups add add-groups delete-groups delete + ;; + calendar) + compadd "$@" add list today delete + ;; + finance) + compadd "$@" list-txn delete-pos create-pos delete-txn create create-txn list list-pos delete + ;; + *) + esac + esac +} + +_google "$@" \ No newline at end of file