Skip to content
This repository
tree: 73f7770537
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 68 lines (54 sloc) 2.844 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
#compdef cpanm

##
# cpanminus Z Shell completion script
##
#
# Current supported cpanm version: 1.4000 (Tue Mar 8 01:00:49 PST 2011)
#
# The latest code is always located at:
# https://github.com/rshhh/cpanminus/blob/master/etc/_cpanm
#

local arguments curcontext="$curcontext"
typeset -A opt_args


arguments=(

# Commands
# '(--install -i)'{--install,-i}'[Installs the modules]'
  '(- :)--self-upgrade[Upgrades itself]'
  '(- :)--info[Displays distribution info on CPAN]'
  '(--installdeps)--installdeps[Only install dependencies]'
  '(--look)--look[Download/unpack the distribution and then open the directory with your shell]'
  '(- :)'{--help,-h}'[Displays help information]'
  '(- :)'{--version,-V}'[Displays software version]'

# Options
  {--force,-f}'[Force install]'
  {--notest,-n}'[Do not run unit tests]'
  {--sudo,-S}'[sudo to run install commands]'
  '(-v --verbose --quiet -q)'{--verbose,-v}'[Turns on chatty output]'
  '(-q --quiet --verbose -v)'{--quiet,-q}'[Turns off all output]'
  {--local-lib,-l}'[Specify the install base to install modules]'
  {--local-lib-contained,-L}'[Specify the install base to install all non-core modules]'
  '--mirror[Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/)]:URLs:_urls'
  '--mirror-only[Use the mirror\''s index file instead of the CPAN Meta DB]'
  '--prompt[Prompt when configure/build/test fails]'
  '--reinstall[Reinstall the distribution even if you already have the latest version installed]'
  '--interactive[Turn on interactive configure]'

  '--scandeps[Scan the depencencies of given modules and output the tree in a text format]'
  '--format[Specify what format to display the scanned dependency tree]:scandeps format:(tree json yaml dists)'

  '--save-dists[Specify the optional directory path to copy downloaded tarballs]'
# '--uninst-shadows[Uninstalls the shadow files of the distribution that you\''re installing]'

  '--auto-cleanup[Number of days that cpanm\''s work directories expire in. Defaults to 7]'
  '(--no-man-pages)--man-pages[Generates man pages for executables (man1) and libraries (man3)]'
  '(--man-pages)--no-man-pages[Do not generate man pages]'


  # Note: Normally with "--lwp", "--wget" and "--curl" options set to true (which is the default) cpanm tries LWP,
  # Wget, cURL and HTTP::Tiny (in that order) and uses the first one available.
  # (So that the exclusions are not enabled here for the completion)
  '(--lwp)--lwp[Use LWP module to download stuff]'
  '(--wget)--wget[Use GNU Wget (if available) to download stuff]'
  '(--curl)--curl[Use cURL (if available) to download stuff]'

# Other completions
  '*:Local directory or archive:_files -/ -g "*.(tar.gz|tgz|tar.bz2|zip)(-.)"'
  # '*::args: _normal' # this looks for default files (any files)
)
_arguments -s $arguments \
  && return 0

return 1
Something went wrong with that request. Please try again.