Skip to content

Commit

Permalink
Update zsh completion script
Browse files Browse the repository at this point in the history
  • Loading branch information
Çagdas Bozman committed Feb 12, 2013
1 parent 5dbc9dc commit f846a3b
Showing 1 changed file with 31 additions and 8 deletions.
39 changes: 31 additions & 8 deletions shell/opam_completion_zsh.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,61 +6,84 @@ _opam_add()
_opam_global_options()
{
local res
res="$( opam --help 2>/dev/null | grep '^ -' | sed 's/ *//;s/ .*//' )"
res="$( opam --help=plain 2>/dev/null | grep '^ -' | sed 's/ *//;s/[ ,\[\=].*//' )"
_opam_add "$res"
}

_opam_commands()
{
local res
res="$( opam help topics 2>/dev/null | sed 's/ *//;s/ .*//' | grep -v '^-' )"
res="$( opam help topics )"
_opam_add "$res"
}

_opam_flags()
{
local res cmd
cmd="$1"
res="$( opam $cmd --help 2>/dev/null | grep '^ -' | sed 's/ *//;s/ .*//' | grep -v '^--' )"
res="$( opam $cmd --help=plain 2>/dev/null | grep '^ -' | sed 's/ *//;s/[ ,\[\=].*//' )"
_opam_add "$res"
}

_opam_packages()
{
local res
res="$( opam list --short )"
res="$( opam list -s )"
_opam_add "$res"
}

_opam_installed_packages()
{
local res
res="$( opam list --short --installed )"
res="$( opam list -i -s )"
_opam_add "$res"
}

_opam_compilers()
{
local res count
res="$( opam switch -s 2>/dev/null | sed 's/^[ ~] *//' )"
res="$( opam switch -s )"
_opam_add "$res"
}

_opam_config_subcommands()
{
_opam_add "env var list subst includes bytecomp asmcomp bytelink asmlink"
}

_opam_config_vars()
{
local res
res="$( opam config -list-vars 2>/dev/null | sed 's/ *//;s/ .*//' )"
res="$( opam config list 2>/dev/null | sed 's/ *//;s/ .*//' )"
_opam_reply="$res"
}

_opam_repository_subcommands()
{
_opam_add "add remove list priority"
}

_opam_repositories()
{
local res
res="$( opam remote -s )"
_opam_add "$res"
}

_opam_repositories_only()
{
_opam_reply="$( opam remote -s )"
}
_opam()
{
local cmd cur prev

COMPREPLY=()
COMPREPLY=()
cmd=${COMP_WORDS[1]}
subcmd=${COMP_WORDS[2]}
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
reprev=${COMP_WORDS[COMP_CWORD-2]}
_opam_reply=""

_opam_global_options
Expand Down

0 comments on commit f846a3b

Please sign in to comment.