github.com/hiddeco/helm@v3.0.0-beta.3+incompatible/scripts/completions.bash (about)

     1  # bash completion for helm                                 -*- shell-script -*-
     2  
     3  __debug()
     4  {
     5      if [[ -n ${BASH_COMP_DEBUG_FILE} ]]; then
     6          echo "$*" >> "${BASH_COMP_DEBUG_FILE}"
     7      fi
     8  }
     9  
    10  # Homebrew on Macs have version 1.3 of bash-completion which doesn't include
    11  # _init_completion. This is a very minimal version of that function.
    12  __my_init_completion()
    13  {
    14      COMPREPLY=()
    15      _get_comp_words_by_ref "$@" cur prev words cword
    16  }
    17  
    18  __index_of_word()
    19  {
    20      local w word=$1
    21      shift
    22      index=0
    23      for w in "$@"; do
    24          [[ $w = "$word" ]] && return
    25          index=$((index+1))
    26      done
    27      index=-1
    28  }
    29  
    30  __contains_word()
    31  {
    32      local w word=$1; shift
    33      for w in "$@"; do
    34          [[ $w = "$word" ]] && return
    35      done
    36      return 1
    37  }
    38  
    39  __handle_reply()
    40  {
    41      __debug "${FUNCNAME[0]}"
    42      case $cur in
    43          -*)
    44              if [[ $(type -t compopt) = "builtin" ]]; then
    45                  compopt -o nospace
    46              fi
    47              local allflags
    48              if [ ${#must_have_one_flag[@]} -ne 0 ]; then
    49                  allflags=("${must_have_one_flag[@]}")
    50              else
    51                  allflags=("${flags[*]} ${two_word_flags[*]}")
    52              fi
    53              COMPREPLY=( $(compgen -W "${allflags[*]}" -- "$cur") )
    54              if [[ $(type -t compopt) = "builtin" ]]; then
    55                  [[ "${COMPREPLY[0]}" == *= ]] || compopt +o nospace
    56              fi
    57  
    58              # complete after --flag=abc
    59              if [[ $cur == *=* ]]; then
    60                  if [[ $(type -t compopt) = "builtin" ]]; then
    61                      compopt +o nospace
    62                  fi
    63  
    64                  local index flag
    65                  flag="${cur%%=*}"
    66                  __index_of_word "${flag}" "${flags_with_completion[@]}"
    67                  if [[ ${index} -ge 0 ]]; then
    68                      COMPREPLY=()
    69                      PREFIX=""
    70                      cur="${cur#*=}"
    71                      ${flags_completion[${index}]}
    72                      if [ -n "${ZSH_VERSION}" ]; then
    73                          # zfs completion needs --flag= prefix
    74                          eval "COMPREPLY=( \"\${COMPREPLY[@]/#/${flag}=}\" )"
    75                      fi
    76                  fi
    77              fi
    78              return 0;
    79              ;;
    80      esac
    81  
    82      # check if we are handling a flag with special work handling
    83      local index
    84      __index_of_word "${prev}" "${flags_with_completion[@]}"
    85      if [[ ${index} -ge 0 ]]; then
    86          ${flags_completion[${index}]}
    87          return
    88      fi
    89  
    90      # we are parsing a flag and don't have a special handler, no completion
    91      if [[ ${cur} != "${words[cword]}" ]]; then
    92          return
    93      fi
    94  
    95      local completions
    96      completions=("${commands[@]}")
    97      if [[ ${#must_have_one_noun[@]} -ne 0 ]]; then
    98          completions=("${must_have_one_noun[@]}")
    99      fi
   100      if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then
   101          completions+=("${must_have_one_flag[@]}")
   102      fi
   103      COMPREPLY=( $(compgen -W "${completions[*]}" -- "$cur") )
   104  
   105      if [[ ${#COMPREPLY[@]} -eq 0 && ${#noun_aliases[@]} -gt 0 && ${#must_have_one_noun[@]} -ne 0 ]]; then
   106          COMPREPLY=( $(compgen -W "${noun_aliases[*]}" -- "$cur") )
   107      fi
   108  
   109      if [[ ${#COMPREPLY[@]} -eq 0 ]]; then
   110          declare -F __custom_func >/dev/null && __custom_func
   111      fi
   112  
   113      __ltrim_colon_completions "$cur"
   114  }
   115  
   116  # The arguments should be in the form "ext1|ext2|extn"
   117  __handle_filename_extension_flag()
   118  {
   119      local ext="$1"
   120      _filedir "@(${ext})"
   121  }
   122  
   123  __handle_subdirs_in_dir_flag()
   124  {
   125      local dir="$1"
   126      pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1
   127  }
   128  
   129  __handle_flag()
   130  {
   131      __debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}"
   132  
   133      # if a command required a flag, and we found it, unset must_have_one_flag()
   134      local flagname=${words[c]}
   135      local flagvalue
   136      # if the word contained an =
   137      if [[ ${words[c]} == *"="* ]]; then
   138          flagvalue=${flagname#*=} # take in as flagvalue after the =
   139          flagname=${flagname%%=*} # strip everything after the =
   140          flagname="${flagname}=" # but put the = back
   141      fi
   142      __debug "${FUNCNAME[0]}: looking for ${flagname}"
   143      if __contains_word "${flagname}" "${must_have_one_flag[@]}"; then
   144          must_have_one_flag=()
   145      fi
   146  
   147      # if you set a flag which only applies to this command, don't show subcommands
   148      if __contains_word "${flagname}" "${local_nonpersistent_flags[@]}"; then
   149        commands=()
   150      fi
   151  
   152      # keep flag value with flagname as flaghash
   153      if [ -n "${flagvalue}" ] ; then
   154          flaghash[${flagname}]=${flagvalue}
   155      elif [ -n "${words[ $((c+1)) ]}" ] ; then
   156          flaghash[${flagname}]=${words[ $((c+1)) ]}
   157      else
   158          flaghash[${flagname}]="true" # pad "true" for bool flag
   159      fi
   160  
   161      # skip the argument to a two word flag
   162      if __contains_word "${words[c]}" "${two_word_flags[@]}"; then
   163          c=$((c+1))
   164          # if we are looking for a flags value, don't show commands
   165          if [[ $c -eq $cword ]]; then
   166              commands=()
   167          fi
   168      fi
   169  
   170      c=$((c+1))
   171  
   172  }
   173  
   174  __handle_noun()
   175  {
   176      __debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}"
   177  
   178      if __contains_word "${words[c]}" "${must_have_one_noun[@]}"; then
   179          must_have_one_noun=()
   180      elif __contains_word "${words[c]}" "${noun_aliases[@]}"; then
   181          must_have_one_noun=()
   182      fi
   183  
   184      nouns+=("${words[c]}")
   185      c=$((c+1))
   186  }
   187  
   188  __handle_command()
   189  {
   190      __debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}"
   191  
   192      local next_command
   193      if [[ -n ${last_command} ]]; then
   194          next_command="_${last_command}_${words[c]//:/__}"
   195      else
   196          if [[ $c -eq 0 ]]; then
   197              next_command="_$(basename "${words[c]//:/__}")"
   198          else
   199              next_command="_${words[c]//:/__}"
   200          fi
   201      fi
   202      c=$((c+1))
   203      __debug "${FUNCNAME[0]}: looking for ${next_command}"
   204      declare -F $next_command >/dev/null && $next_command
   205  }
   206  
   207  __handle_word()
   208  {
   209      if [[ $c -ge $cword ]]; then
   210          __handle_reply
   211          return
   212      fi
   213      __debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}"
   214      if [[ "${words[c]}" == -* ]]; then
   215          __handle_flag
   216      elif __contains_word "${words[c]}" "${commands[@]}"; then
   217          __handle_command
   218      elif [[ $c -eq 0 ]] && __contains_word "$(basename "${words[c]}")" "${commands[@]}"; then
   219          __handle_command
   220      else
   221          __handle_noun
   222      fi
   223      __handle_word
   224  }
   225  
   226  _helm_completion()
   227  {
   228      last_command="helm_completion"
   229      commands=()
   230  
   231      flags=()
   232      two_word_flags=()
   233      local_nonpersistent_flags=()
   234      flags_with_completion=()
   235      flags_completion=()
   236  
   237      flags+=("--debug")
   238      flags+=("--host=")
   239      flags+=("--kube-context=")
   240      flags+=("--tiller-namespace=")
   241  
   242      must_have_one_flag=()
   243      must_have_one_noun=()
   244      must_have_one_noun+=("bash")
   245      must_have_one_noun+=("zsh")
   246      noun_aliases=()
   247  }
   248  
   249  _helm_create()
   250  {
   251      last_command="helm_create"
   252      commands=()
   253  
   254      flags=()
   255      two_word_flags=()
   256      local_nonpersistent_flags=()
   257      flags_with_completion=()
   258      flags_completion=()
   259  
   260      flags+=("--starter=")
   261      two_word_flags+=("-p")
   262      local_nonpersistent_flags+=("--starter=")
   263      flags+=("--debug")
   264      flags+=("--host=")
   265      flags+=("--kube-context=")
   266      flags+=("--tiller-namespace=")
   267  
   268      must_have_one_flag=()
   269      must_have_one_noun=()
   270      noun_aliases=()
   271  }
   272  
   273  _helm_delete()
   274  {
   275      last_command="helm_delete"
   276      commands=()
   277  
   278      flags=()
   279      two_word_flags=()
   280      local_nonpersistent_flags=()
   281      flags_with_completion=()
   282      flags_completion=()
   283  
   284      flags+=("--dry-run")
   285      local_nonpersistent_flags+=("--dry-run")
   286      flags+=("--no-hooks")
   287      local_nonpersistent_flags+=("--no-hooks")
   288      flags+=("--keep-history")
   289      local_nonpersistent_flags+=("--keep-history")
   290      flags+=("--timeout=")
   291      local_nonpersistent_flags+=("--timeout=")
   292      flags+=("--tls")
   293      local_nonpersistent_flags+=("--tls")
   294      flags+=("--tls-ca-cert=")
   295      local_nonpersistent_flags+=("--tls-ca-cert=")
   296      flags+=("--tls-cert=")
   297      local_nonpersistent_flags+=("--tls-cert=")
   298      flags+=("--tls-key=")
   299      local_nonpersistent_flags+=("--tls-key=")
   300      flags+=("--tls-verify")
   301      local_nonpersistent_flags+=("--tls-verify")
   302      flags+=("--debug")
   303      flags+=("--host=")
   304      flags+=("--kube-context=")
   305      flags+=("--tiller-namespace=")
   306  
   307      must_have_one_flag=()
   308      must_have_one_noun=()
   309      noun_aliases=()
   310  }
   311  
   312  _helm_dependency_build()
   313  {
   314      last_command="helm_dependency_build"
   315      commands=()
   316  
   317      flags=()
   318      two_word_flags=()
   319      local_nonpersistent_flags=()
   320      flags_with_completion=()
   321      flags_completion=()
   322  
   323      flags+=("--keyring=")
   324      local_nonpersistent_flags+=("--keyring=")
   325      flags+=("--verify")
   326      local_nonpersistent_flags+=("--verify")
   327      flags+=("--debug")
   328      flags+=("--host=")
   329      flags+=("--kube-context=")
   330      flags+=("--tiller-namespace=")
   331  
   332      must_have_one_flag=()
   333      must_have_one_noun=()
   334      noun_aliases=()
   335  }
   336  
   337  _helm_dependency_list()
   338  {
   339      last_command="helm_dependency_list"
   340      commands=()
   341  
   342      flags=()
   343      two_word_flags=()
   344      local_nonpersistent_flags=()
   345      flags_with_completion=()
   346      flags_completion=()
   347  
   348      flags+=("--debug")
   349      flags+=("--host=")
   350      flags+=("--kube-context=")
   351      flags+=("--tiller-namespace=")
   352  
   353      must_have_one_flag=()
   354      must_have_one_noun=()
   355      noun_aliases=()
   356  }
   357  
   358  _helm_dependency_update()
   359  {
   360      last_command="helm_dependency_update"
   361      commands=()
   362  
   363      flags=()
   364      two_word_flags=()
   365      local_nonpersistent_flags=()
   366      flags_with_completion=()
   367      flags_completion=()
   368  
   369      flags+=("--keyring=")
   370      local_nonpersistent_flags+=("--keyring=")
   371      flags+=("--skip-refresh")
   372      local_nonpersistent_flags+=("--skip-refresh")
   373      flags+=("--verify")
   374      local_nonpersistent_flags+=("--verify")
   375      flags+=("--debug")
   376      flags+=("--host=")
   377      flags+=("--kube-context=")
   378      flags+=("--tiller-namespace=")
   379  
   380      must_have_one_flag=()
   381      must_have_one_noun=()
   382      noun_aliases=()
   383  }
   384  
   385  _helm_dependency()
   386  {
   387      last_command="helm_dependency"
   388      commands=()
   389      commands+=("build")
   390      commands+=("list")
   391      commands+=("update")
   392  
   393      flags=()
   394      two_word_flags=()
   395      local_nonpersistent_flags=()
   396      flags_with_completion=()
   397      flags_completion=()
   398  
   399      flags+=("--debug")
   400      flags+=("--host=")
   401      flags+=("--kube-context=")
   402      flags+=("--tiller-namespace=")
   403  
   404      must_have_one_flag=()
   405      must_have_one_noun=()
   406      noun_aliases=()
   407  }
   408  
   409  _helm_fetch()
   410  {
   411      last_command="helm_fetch"
   412      commands=()
   413  
   414      flags=()
   415      two_word_flags=()
   416      local_nonpersistent_flags=()
   417      flags_with_completion=()
   418      flags_completion=()
   419  
   420      flags+=("--ca-file=")
   421      local_nonpersistent_flags+=("--ca-file=")
   422      flags+=("--cert-file=")
   423      local_nonpersistent_flags+=("--cert-file=")
   424      flags+=("--destination=")
   425      two_word_flags+=("-d")
   426      local_nonpersistent_flags+=("--destination=")
   427      flags+=("--devel")
   428      local_nonpersistent_flags+=("--devel")
   429      flags+=("--key-file=")
   430      local_nonpersistent_flags+=("--key-file=")
   431      flags+=("--keyring=")
   432      local_nonpersistent_flags+=("--keyring=")
   433      flags+=("--prov")
   434      local_nonpersistent_flags+=("--prov")
   435      flags+=("--repo=")
   436      local_nonpersistent_flags+=("--repo=")
   437      flags+=("--untar")
   438      local_nonpersistent_flags+=("--untar")
   439      flags+=("--untardir=")
   440      local_nonpersistent_flags+=("--untardir=")
   441      flags+=("--verify")
   442      local_nonpersistent_flags+=("--verify")
   443      flags+=("--version=")
   444      local_nonpersistent_flags+=("--version=")
   445      flags+=("--debug")
   446      flags+=("--host=")
   447      flags+=("--kube-context=")
   448      flags+=("--tiller-namespace=")
   449  
   450      must_have_one_flag=()
   451      must_have_one_noun=()
   452      noun_aliases=()
   453  }
   454  
   455  _helm_get_hooks()
   456  {
   457      last_command="helm_get_hooks"
   458      commands=()
   459  
   460      flags=()
   461      two_word_flags=()
   462      local_nonpersistent_flags=()
   463      flags_with_completion=()
   464      flags_completion=()
   465  
   466      flags+=("--revision=")
   467      local_nonpersistent_flags+=("--revision=")
   468      flags+=("--debug")
   469      flags+=("--host=")
   470      flags+=("--kube-context=")
   471      flags+=("--tiller-namespace=")
   472  
   473      must_have_one_flag=()
   474      must_have_one_noun=()
   475      noun_aliases=()
   476  }
   477  
   478  _helm_get_manifest()
   479  {
   480      last_command="helm_get_manifest"
   481      commands=()
   482  
   483      flags=()
   484      two_word_flags=()
   485      local_nonpersistent_flags=()
   486      flags_with_completion=()
   487      flags_completion=()
   488  
   489      flags+=("--revision=")
   490      local_nonpersistent_flags+=("--revision=")
   491      flags+=("--debug")
   492      flags+=("--host=")
   493      flags+=("--kube-context=")
   494      flags+=("--tiller-namespace=")
   495  
   496      must_have_one_flag=()
   497      must_have_one_noun=()
   498      noun_aliases=()
   499  }
   500  
   501  _helm_get_values()
   502  {
   503      last_command="helm_get_values"
   504      commands=()
   505  
   506      flags=()
   507      two_word_flags=()
   508      local_nonpersistent_flags=()
   509      flags_with_completion=()
   510      flags_completion=()
   511  
   512      flags+=("--all")
   513      flags+=("-a")
   514      local_nonpersistent_flags+=("--all")
   515      flags+=("--revision=")
   516      local_nonpersistent_flags+=("--revision=")
   517      flags+=("--debug")
   518      flags+=("--host=")
   519      flags+=("--kube-context=")
   520      flags+=("--tiller-namespace=")
   521  
   522      must_have_one_flag=()
   523      must_have_one_noun=()
   524      noun_aliases=()
   525  }
   526  
   527  _helm_get()
   528  {
   529      last_command="helm_get"
   530      commands=()
   531      commands+=("hooks")
   532      commands+=("manifest")
   533      commands+=("values")
   534  
   535      flags=()
   536      two_word_flags=()
   537      local_nonpersistent_flags=()
   538      flags_with_completion=()
   539      flags_completion=()
   540  
   541      flags+=("--revision=")
   542      local_nonpersistent_flags+=("--revision=")
   543      flags+=("--tls")
   544      local_nonpersistent_flags+=("--tls")
   545      flags+=("--tls-ca-cert=")
   546      local_nonpersistent_flags+=("--tls-ca-cert=")
   547      flags+=("--tls-cert=")
   548      local_nonpersistent_flags+=("--tls-cert=")
   549      flags+=("--tls-key=")
   550      local_nonpersistent_flags+=("--tls-key=")
   551      flags+=("--tls-verify")
   552      local_nonpersistent_flags+=("--tls-verify")
   553      flags+=("--debug")
   554      flags+=("--host=")
   555      flags+=("--kube-context=")
   556      flags+=("--tiller-namespace=")
   557  
   558      must_have_one_flag=()
   559      must_have_one_noun=()
   560      noun_aliases=()
   561  }
   562  
   563  _helm_history()
   564  {
   565      last_command="helm_history"
   566      commands=()
   567  
   568      flags=()
   569      two_word_flags=()
   570      local_nonpersistent_flags=()
   571      flags_with_completion=()
   572      flags_completion=()
   573  
   574      flags+=("--max=")
   575      local_nonpersistent_flags+=("--max=")
   576      flags+=("--tls")
   577      local_nonpersistent_flags+=("--tls")
   578      flags+=("--tls-ca-cert=")
   579      local_nonpersistent_flags+=("--tls-ca-cert=")
   580      flags+=("--tls-cert=")
   581      local_nonpersistent_flags+=("--tls-cert=")
   582      flags+=("--tls-key=")
   583      local_nonpersistent_flags+=("--tls-key=")
   584      flags+=("--tls-verify")
   585      local_nonpersistent_flags+=("--tls-verify")
   586      flags+=("--debug")
   587      flags+=("--host=")
   588      flags+=("--kube-context=")
   589      flags+=("--tiller-namespace=")
   590  
   591      must_have_one_flag=()
   592      must_have_one_noun=()
   593      noun_aliases=()
   594  }
   595  
   596  _helm_home()
   597  {
   598      last_command="helm_home"
   599      commands=()
   600  
   601      flags=()
   602      two_word_flags=()
   603      local_nonpersistent_flags=()
   604      flags_with_completion=()
   605      flags_completion=()
   606  
   607      flags+=("--debug")
   608      flags+=("--host=")
   609      flags+=("--kube-context=")
   610      flags+=("--tiller-namespace=")
   611  
   612      must_have_one_flag=()
   613      must_have_one_noun=()
   614      noun_aliases=()
   615  }
   616  
   617  _helm_init()
   618  {
   619      last_command="helm_init"
   620      commands=()
   621  
   622      flags=()
   623      two_word_flags=()
   624      local_nonpersistent_flags=()
   625      flags_with_completion=()
   626      flags_completion=()
   627  
   628      flags+=("--canary-image")
   629      local_nonpersistent_flags+=("--canary-image")
   630      flags+=("--client-only")
   631      flags+=("-c")
   632      local_nonpersistent_flags+=("--client-only")
   633      flags+=("--dry-run")
   634      local_nonpersistent_flags+=("--dry-run")
   635      flags+=("--local-repo-url=")
   636      local_nonpersistent_flags+=("--local-repo-url=")
   637      flags+=("--net-host")
   638      local_nonpersistent_flags+=("--net-host")
   639      flags+=("--service-account=")
   640      local_nonpersistent_flags+=("--service-account=")
   641      flags+=("--skip-refresh")
   642      local_nonpersistent_flags+=("--skip-refresh")
   643      flags+=("--tiller-image=")
   644      two_word_flags+=("-i")
   645      local_nonpersistent_flags+=("--tiller-image=")
   646      flags+=("--tiller-tls")
   647      local_nonpersistent_flags+=("--tiller-tls")
   648      flags+=("--tiller-tls-cert=")
   649      local_nonpersistent_flags+=("--tiller-tls-cert=")
   650      flags+=("--tiller-tls-key=")
   651      local_nonpersistent_flags+=("--tiller-tls-key=")
   652      flags+=("--tiller-tls-verify")
   653      local_nonpersistent_flags+=("--tiller-tls-verify")
   654      flags+=("--tls-ca-cert=")
   655      local_nonpersistent_flags+=("--tls-ca-cert=")
   656      flags+=("--upgrade")
   657      local_nonpersistent_flags+=("--upgrade")
   658      flags+=("--debug")
   659      flags+=("--host=")
   660      flags+=("--kube-context=")
   661      flags+=("--tiller-namespace=")
   662  
   663      must_have_one_flag=()
   664      must_have_one_noun=()
   665      noun_aliases=()
   666  }
   667  
   668  _helm_inspect_chart()
   669  {
   670      last_command="helm_inspect_chart"
   671      commands=()
   672  
   673      flags=()
   674      two_word_flags=()
   675      local_nonpersistent_flags=()
   676      flags_with_completion=()
   677      flags_completion=()
   678  
   679      flags+=("--ca-file=")
   680      local_nonpersistent_flags+=("--ca-file=")
   681      flags+=("--cert-file=")
   682      local_nonpersistent_flags+=("--cert-file=")
   683      flags+=("--key-file=")
   684      local_nonpersistent_flags+=("--key-file=")
   685      flags+=("--keyring=")
   686      local_nonpersistent_flags+=("--keyring=")
   687      flags+=("--repo=")
   688      local_nonpersistent_flags+=("--repo=")
   689      flags+=("--verify")
   690      local_nonpersistent_flags+=("--verify")
   691      flags+=("--version=")
   692      local_nonpersistent_flags+=("--version=")
   693      flags+=("--debug")
   694      flags+=("--host=")
   695      flags+=("--kube-context=")
   696      flags+=("--tiller-namespace=")
   697  
   698      must_have_one_flag=()
   699      must_have_one_noun=()
   700      noun_aliases=()
   701  }
   702  
   703  _helm_inspect_values()
   704  {
   705      last_command="helm_inspect_values"
   706      commands=()
   707  
   708      flags=()
   709      two_word_flags=()
   710      local_nonpersistent_flags=()
   711      flags_with_completion=()
   712      flags_completion=()
   713  
   714      flags+=("--ca-file=")
   715      local_nonpersistent_flags+=("--ca-file=")
   716      flags+=("--cert-file=")
   717      local_nonpersistent_flags+=("--cert-file=")
   718      flags+=("--key-file=")
   719      local_nonpersistent_flags+=("--key-file=")
   720      flags+=("--keyring=")
   721      local_nonpersistent_flags+=("--keyring=")
   722      flags+=("--repo=")
   723      local_nonpersistent_flags+=("--repo=")
   724      flags+=("--verify")
   725      local_nonpersistent_flags+=("--verify")
   726      flags+=("--version=")
   727      local_nonpersistent_flags+=("--version=")
   728      flags+=("--debug")
   729      flags+=("--host=")
   730      flags+=("--kube-context=")
   731      flags+=("--tiller-namespace=")
   732  
   733      must_have_one_flag=()
   734      must_have_one_noun=()
   735      noun_aliases=()
   736  }
   737  
   738  _helm_inspect()
   739  {
   740      last_command="helm_inspect"
   741      commands=()
   742      commands+=("chart")
   743      commands+=("values")
   744  
   745      flags=()
   746      two_word_flags=()
   747      local_nonpersistent_flags=()
   748      flags_with_completion=()
   749      flags_completion=()
   750  
   751      flags+=("--ca-file=")
   752      local_nonpersistent_flags+=("--ca-file=")
   753      flags+=("--cert-file=")
   754      local_nonpersistent_flags+=("--cert-file=")
   755      flags+=("--key-file=")
   756      local_nonpersistent_flags+=("--key-file=")
   757      flags+=("--keyring=")
   758      local_nonpersistent_flags+=("--keyring=")
   759      flags+=("--repo=")
   760      local_nonpersistent_flags+=("--repo=")
   761      flags+=("--verify")
   762      local_nonpersistent_flags+=("--verify")
   763      flags+=("--version=")
   764      local_nonpersistent_flags+=("--version=")
   765      flags+=("--debug")
   766      flags+=("--host=")
   767      flags+=("--kube-context=")
   768      flags+=("--tiller-namespace=")
   769  
   770      must_have_one_flag=()
   771      must_have_one_noun=()
   772      noun_aliases=()
   773  }
   774  
   775  _helm_install()
   776  {
   777      last_command="helm_install"
   778      commands=()
   779  
   780      flags=()
   781      two_word_flags=()
   782      local_nonpersistent_flags=()
   783      flags_with_completion=()
   784      flags_completion=()
   785  
   786      flags+=("--ca-file=")
   787      local_nonpersistent_flags+=("--ca-file=")
   788      flags+=("--cert-file=")
   789      local_nonpersistent_flags+=("--cert-file=")
   790      flags+=("--devel")
   791      local_nonpersistent_flags+=("--devel")
   792      flags+=("--dry-run")
   793      local_nonpersistent_flags+=("--dry-run")
   794      flags+=("--key-file=")
   795      local_nonpersistent_flags+=("--key-file=")
   796      flags+=("--keyring=")
   797      local_nonpersistent_flags+=("--keyring=")
   798      flags+=("--name=")
   799      two_word_flags+=("-n")
   800      local_nonpersistent_flags+=("--name=")
   801      flags+=("--name-template=")
   802      local_nonpersistent_flags+=("--name-template=")
   803      flags+=("--namespace=")
   804      local_nonpersistent_flags+=("--namespace=")
   805      flags+=("--no-hooks")
   806      local_nonpersistent_flags+=("--no-hooks")
   807      flags+=("--replace")
   808      local_nonpersistent_flags+=("--replace")
   809      flags+=("--repo=")
   810      local_nonpersistent_flags+=("--repo=")
   811      flags+=("--set=")
   812      local_nonpersistent_flags+=("--set=")
   813      flags+=("--set-string=")
   814      local_nonpersistent_flags+=("--set-string=")
   815      flags+=("--timeout=")
   816      local_nonpersistent_flags+=("--timeout=")
   817      flags+=("--tls")
   818      local_nonpersistent_flags+=("--tls")
   819      flags+=("--tls-ca-cert=")
   820      local_nonpersistent_flags+=("--tls-ca-cert=")
   821      flags+=("--tls-cert=")
   822      local_nonpersistent_flags+=("--tls-cert=")
   823      flags+=("--tls-key=")
   824      local_nonpersistent_flags+=("--tls-key=")
   825      flags+=("--tls-verify")
   826      local_nonpersistent_flags+=("--tls-verify")
   827      flags+=("--values=")
   828      two_word_flags+=("-f")
   829      local_nonpersistent_flags+=("--values=")
   830      flags+=("--verify")
   831      local_nonpersistent_flags+=("--verify")
   832      flags+=("--version=")
   833      local_nonpersistent_flags+=("--version=")
   834      flags+=("--wait")
   835      local_nonpersistent_flags+=("--wait")
   836      flags+=("--debug")
   837      flags+=("--host=")
   838      flags+=("--kube-context=")
   839      flags+=("--tiller-namespace=")
   840  
   841      must_have_one_flag=()
   842      must_have_one_noun=()
   843      noun_aliases=()
   844  }
   845  
   846  _helm_lint()
   847  {
   848      last_command="helm_lint"
   849      commands=()
   850  
   851      flags=()
   852      two_word_flags=()
   853      local_nonpersistent_flags=()
   854      flags_with_completion=()
   855      flags_completion=()
   856  
   857      flags+=("--strict")
   858      local_nonpersistent_flags+=("--strict")
   859      flags+=("--debug")
   860      flags+=("--host=")
   861      flags+=("--kube-context=")
   862      flags+=("--tiller-namespace=")
   863  
   864      must_have_one_flag=()
   865      must_have_one_noun=()
   866      noun_aliases=()
   867  }
   868  
   869  _helm_list()
   870  {
   871      last_command="helm_list"
   872      commands=()
   873  
   874      flags=()
   875      two_word_flags=()
   876      local_nonpersistent_flags=()
   877      flags_with_completion=()
   878      flags_completion=()
   879  
   880      flags+=("--all")
   881      local_nonpersistent_flags+=("--all")
   882      flags+=("--date")
   883      flags+=("-d")
   884      local_nonpersistent_flags+=("--date")
   885      flags+=("--uninstalled")
   886      local_nonpersistent_flags+=("--uninstalled")
   887      flags+=("--uninstalling")
   888      local_nonpersistent_flags+=("--uninstalling")
   889      flags+=("--deployed")
   890      local_nonpersistent_flags+=("--deployed")
   891      flags+=("--failed")
   892      local_nonpersistent_flags+=("--failed")
   893      flags+=("--max=")
   894      two_word_flags+=("-m")
   895      local_nonpersistent_flags+=("--max=")
   896      flags+=("--namespace=")
   897      local_nonpersistent_flags+=("--namespace=")
   898      flags+=("--offset=")
   899      two_word_flags+=("-o")
   900      local_nonpersistent_flags+=("--offset=")
   901      flags+=("--reverse")
   902      flags+=("-r")
   903      local_nonpersistent_flags+=("--reverse")
   904      flags+=("--short")
   905      flags+=("-q")
   906      local_nonpersistent_flags+=("--short")
   907      flags+=("--tls")
   908      local_nonpersistent_flags+=("--tls")
   909      flags+=("--tls-ca-cert=")
   910      local_nonpersistent_flags+=("--tls-ca-cert=")
   911      flags+=("--tls-cert=")
   912      local_nonpersistent_flags+=("--tls-cert=")
   913      flags+=("--tls-key=")
   914      local_nonpersistent_flags+=("--tls-key=")
   915      flags+=("--tls-verify")
   916      local_nonpersistent_flags+=("--tls-verify")
   917      flags+=("--debug")
   918      flags+=("--host=")
   919      flags+=("--kube-context=")
   920      flags+=("--tiller-namespace=")
   921  
   922      must_have_one_flag=()
   923      must_have_one_noun=()
   924      noun_aliases=()
   925  }
   926  
   927  _helm_package()
   928  {
   929      last_command="helm_package"
   930      commands=()
   931  
   932      flags=()
   933      two_word_flags=()
   934      local_nonpersistent_flags=()
   935      flags_with_completion=()
   936      flags_completion=()
   937  
   938      flags+=("--destination=")
   939      two_word_flags+=("-d")
   940      local_nonpersistent_flags+=("--destination=")
   941      flags+=("--key=")
   942      local_nonpersistent_flags+=("--key=")
   943      flags+=("--keyring=")
   944      local_nonpersistent_flags+=("--keyring=")
   945      flags+=("--save")
   946      local_nonpersistent_flags+=("--save")
   947      flags+=("--sign")
   948      local_nonpersistent_flags+=("--sign")
   949      flags+=("--version=")
   950      local_nonpersistent_flags+=("--version=")
   951      flags+=("--debug")
   952      flags+=("--host=")
   953      flags+=("--kube-context=")
   954      flags+=("--tiller-namespace=")
   955  
   956      must_have_one_flag=()
   957      must_have_one_noun=()
   958      noun_aliases=()
   959  }
   960  
   961  _helm_plugin_install()
   962  {
   963      last_command="helm_plugin_install"
   964      commands=()
   965  
   966      flags=()
   967      two_word_flags=()
   968      local_nonpersistent_flags=()
   969      flags_with_completion=()
   970      flags_completion=()
   971  
   972      flags+=("--version=")
   973      local_nonpersistent_flags+=("--version=")
   974      flags+=("--debug")
   975      flags+=("--host=")
   976      flags+=("--kube-context=")
   977      flags+=("--tiller-namespace=")
   978  
   979      must_have_one_flag=()
   980      must_have_one_noun=()
   981      noun_aliases=()
   982  }
   983  
   984  _helm_plugin_list()
   985  {
   986      last_command="helm_plugin_list"
   987      commands=()
   988  
   989      flags=()
   990      two_word_flags=()
   991      local_nonpersistent_flags=()
   992      flags_with_completion=()
   993      flags_completion=()
   994  
   995      flags+=("--debug")
   996      flags+=("--host=")
   997      flags+=("--kube-context=")
   998      flags+=("--tiller-namespace=")
   999  
  1000      must_have_one_flag=()
  1001      must_have_one_noun=()
  1002      noun_aliases=()
  1003  }
  1004  
  1005  _helm_plugin_remove()
  1006  {
  1007      last_command="helm_plugin_remove"
  1008      commands=()
  1009  
  1010      flags=()
  1011      two_word_flags=()
  1012      local_nonpersistent_flags=()
  1013      flags_with_completion=()
  1014      flags_completion=()
  1015  
  1016      flags+=("--debug")
  1017      flags+=("--host=")
  1018      flags+=("--kube-context=")
  1019      flags+=("--tiller-namespace=")
  1020  
  1021      must_have_one_flag=()
  1022      must_have_one_noun=()
  1023      noun_aliases=()
  1024  }
  1025  
  1026  _helm_plugin_update()
  1027  {
  1028      last_command="helm_plugin_update"
  1029      commands=()
  1030  
  1031      flags=()
  1032      two_word_flags=()
  1033      local_nonpersistent_flags=()
  1034      flags_with_completion=()
  1035      flags_completion=()
  1036  
  1037      flags+=("--debug")
  1038      flags+=("--host=")
  1039      flags+=("--kube-context=")
  1040      flags+=("--tiller-namespace=")
  1041  
  1042      must_have_one_flag=()
  1043      must_have_one_noun=()
  1044      noun_aliases=()
  1045  }
  1046  
  1047  _helm_plugin()
  1048  {
  1049      last_command="helm_plugin"
  1050      commands=()
  1051      commands+=("install")
  1052      commands+=("list")
  1053      commands+=("remove")
  1054      commands+=("update")
  1055  
  1056      flags=()
  1057      two_word_flags=()
  1058      local_nonpersistent_flags=()
  1059      flags_with_completion=()
  1060      flags_completion=()
  1061  
  1062      flags+=("--debug")
  1063      flags+=("--host=")
  1064      flags+=("--kube-context=")
  1065      flags+=("--tiller-namespace=")
  1066  
  1067      must_have_one_flag=()
  1068      must_have_one_noun=()
  1069      noun_aliases=()
  1070  }
  1071  
  1072  _helm_repo_add()
  1073  {
  1074      last_command="helm_repo_add"
  1075      commands=()
  1076  
  1077      flags=()
  1078      two_word_flags=()
  1079      local_nonpersistent_flags=()
  1080      flags_with_completion=()
  1081      flags_completion=()
  1082  
  1083      flags+=("--ca-file=")
  1084      local_nonpersistent_flags+=("--ca-file=")
  1085      flags+=("--cert-file=")
  1086      local_nonpersistent_flags+=("--cert-file=")
  1087      flags+=("--key-file=")
  1088      local_nonpersistent_flags+=("--key-file=")
  1089      flags+=("--no-update")
  1090      local_nonpersistent_flags+=("--no-update")
  1091      flags+=("--debug")
  1092      flags+=("--host=")
  1093      flags+=("--kube-context=")
  1094      flags+=("--tiller-namespace=")
  1095  
  1096      must_have_one_flag=()
  1097      must_have_one_noun=()
  1098      noun_aliases=()
  1099  }
  1100  
  1101  _helm_repo_index()
  1102  {
  1103      last_command="helm_repo_index"
  1104      commands=()
  1105  
  1106      flags=()
  1107      two_word_flags=()
  1108      local_nonpersistent_flags=()
  1109      flags_with_completion=()
  1110      flags_completion=()
  1111  
  1112      flags+=("--merge=")
  1113      local_nonpersistent_flags+=("--merge=")
  1114      flags+=("--url=")
  1115      local_nonpersistent_flags+=("--url=")
  1116      flags+=("--debug")
  1117      flags+=("--host=")
  1118      flags+=("--kube-context=")
  1119      flags+=("--tiller-namespace=")
  1120  
  1121      must_have_one_flag=()
  1122      must_have_one_noun=()
  1123      noun_aliases=()
  1124  }
  1125  
  1126  _helm_repo_list()
  1127  {
  1128      last_command="helm_repo_list"
  1129      commands=()
  1130  
  1131      flags=()
  1132      two_word_flags=()
  1133      local_nonpersistent_flags=()
  1134      flags_with_completion=()
  1135      flags_completion=()
  1136  
  1137      flags+=("--debug")
  1138      flags+=("--host=")
  1139      flags+=("--kube-context=")
  1140      flags+=("--tiller-namespace=")
  1141  
  1142      must_have_one_flag=()
  1143      must_have_one_noun=()
  1144      noun_aliases=()
  1145  }
  1146  
  1147  _helm_repo_remove()
  1148  {
  1149      last_command="helm_repo_remove"
  1150      commands=()
  1151  
  1152      flags=()
  1153      two_word_flags=()
  1154      local_nonpersistent_flags=()
  1155      flags_with_completion=()
  1156      flags_completion=()
  1157  
  1158      flags+=("--debug")
  1159      flags+=("--host=")
  1160      flags+=("--kube-context=")
  1161      flags+=("--tiller-namespace=")
  1162  
  1163      must_have_one_flag=()
  1164      must_have_one_noun=()
  1165      noun_aliases=()
  1166  }
  1167  
  1168  _helm_repo_update()
  1169  {
  1170      last_command="helm_repo_update"
  1171      commands=()
  1172  
  1173      flags=()
  1174      two_word_flags=()
  1175      local_nonpersistent_flags=()
  1176      flags_with_completion=()
  1177      flags_completion=()
  1178  
  1179      flags+=("--debug")
  1180      flags+=("--host=")
  1181      flags+=("--kube-context=")
  1182      flags+=("--tiller-namespace=")
  1183  
  1184      must_have_one_flag=()
  1185      must_have_one_noun=()
  1186      noun_aliases=()
  1187  }
  1188  
  1189  _helm_repo()
  1190  {
  1191      last_command="helm_repo"
  1192      commands=()
  1193      commands+=("add")
  1194      commands+=("index")
  1195      commands+=("list")
  1196      commands+=("remove")
  1197      commands+=("update")
  1198  
  1199      flags=()
  1200      two_word_flags=()
  1201      local_nonpersistent_flags=()
  1202      flags_with_completion=()
  1203      flags_completion=()
  1204  
  1205      flags+=("--debug")
  1206      flags+=("--host=")
  1207      flags+=("--kube-context=")
  1208      flags+=("--tiller-namespace=")
  1209  
  1210      must_have_one_flag=()
  1211      must_have_one_noun=()
  1212      noun_aliases=()
  1213  }
  1214  
  1215  _helm_reset()
  1216  {
  1217      last_command="helm_reset"
  1218      commands=()
  1219  
  1220      flags=()
  1221      two_word_flags=()
  1222      local_nonpersistent_flags=()
  1223      flags_with_completion=()
  1224      flags_completion=()
  1225  
  1226      flags+=("--force")
  1227      flags+=("-f")
  1228      local_nonpersistent_flags+=("--force")
  1229      flags+=("--remove-helm-home")
  1230      local_nonpersistent_flags+=("--remove-helm-home")
  1231      flags+=("--tls")
  1232      local_nonpersistent_flags+=("--tls")
  1233      flags+=("--tls-ca-cert=")
  1234      local_nonpersistent_flags+=("--tls-ca-cert=")
  1235      flags+=("--tls-cert=")
  1236      local_nonpersistent_flags+=("--tls-cert=")
  1237      flags+=("--tls-key=")
  1238      local_nonpersistent_flags+=("--tls-key=")
  1239      flags+=("--tls-verify")
  1240      local_nonpersistent_flags+=("--tls-verify")
  1241      flags+=("--debug")
  1242      flags+=("--host=")
  1243      flags+=("--kube-context=")
  1244      flags+=("--tiller-namespace=")
  1245  
  1246      must_have_one_flag=()
  1247      must_have_one_noun=()
  1248      noun_aliases=()
  1249  }
  1250  
  1251  _helm_rollback()
  1252  {
  1253      last_command="helm_rollback"
  1254      commands=()
  1255  
  1256      flags=()
  1257      two_word_flags=()
  1258      local_nonpersistent_flags=()
  1259      flags_with_completion=()
  1260      flags_completion=()
  1261  
  1262      flags+=("--dry-run")
  1263      local_nonpersistent_flags+=("--dry-run")
  1264      flags+=("--force")
  1265      local_nonpersistent_flags+=("--force")
  1266      flags+=("--no-hooks")
  1267      local_nonpersistent_flags+=("--no-hooks")
  1268      flags+=("--recreate-pods")
  1269      local_nonpersistent_flags+=("--recreate-pods")
  1270      flags+=("--timeout=")
  1271      local_nonpersistent_flags+=("--timeout=")
  1272      flags+=("--tls")
  1273      local_nonpersistent_flags+=("--tls")
  1274      flags+=("--tls-ca-cert=")
  1275      local_nonpersistent_flags+=("--tls-ca-cert=")
  1276      flags+=("--tls-cert=")
  1277      local_nonpersistent_flags+=("--tls-cert=")
  1278      flags+=("--tls-key=")
  1279      local_nonpersistent_flags+=("--tls-key=")
  1280      flags+=("--tls-verify")
  1281      local_nonpersistent_flags+=("--tls-verify")
  1282      flags+=("--wait")
  1283      local_nonpersistent_flags+=("--wait")
  1284      flags+=("--debug")
  1285      flags+=("--host=")
  1286      flags+=("--kube-context=")
  1287      flags+=("--tiller-namespace=")
  1288  
  1289      must_have_one_flag=()
  1290      must_have_one_noun=()
  1291      noun_aliases=()
  1292  }
  1293  
  1294  _helm_search()
  1295  {
  1296      last_command="helm_search"
  1297      commands=()
  1298  
  1299      flags=()
  1300      two_word_flags=()
  1301      local_nonpersistent_flags=()
  1302      flags_with_completion=()
  1303      flags_completion=()
  1304  
  1305      flags+=("--regexp")
  1306      flags+=("-r")
  1307      local_nonpersistent_flags+=("--regexp")
  1308      flags+=("--version=")
  1309      two_word_flags+=("-v")
  1310      local_nonpersistent_flags+=("--version=")
  1311      flags+=("--versions")
  1312      flags+=("-l")
  1313      local_nonpersistent_flags+=("--versions")
  1314      flags+=("--debug")
  1315      flags+=("--host=")
  1316      flags+=("--kube-context=")
  1317      flags+=("--tiller-namespace=")
  1318  
  1319      must_have_one_flag=()
  1320      must_have_one_noun=()
  1321      noun_aliases=()
  1322  }
  1323  
  1324  _helm_serve()
  1325  {
  1326      last_command="helm_serve"
  1327      commands=()
  1328  
  1329      flags=()
  1330      two_word_flags=()
  1331      local_nonpersistent_flags=()
  1332      flags_with_completion=()
  1333      flags_completion=()
  1334  
  1335      flags+=("--address=")
  1336      local_nonpersistent_flags+=("--address=")
  1337      flags+=("--repo-path=")
  1338      local_nonpersistent_flags+=("--repo-path=")
  1339      flags+=("--url=")
  1340      local_nonpersistent_flags+=("--url=")
  1341      flags+=("--debug")
  1342      flags+=("--host=")
  1343      flags+=("--kube-context=")
  1344      flags+=("--tiller-namespace=")
  1345  
  1346      must_have_one_flag=()
  1347      must_have_one_noun=()
  1348      noun_aliases=()
  1349  }
  1350  
  1351  _helm_status()
  1352  {
  1353      last_command="helm_status"
  1354      commands=()
  1355  
  1356      flags=()
  1357      two_word_flags=()
  1358      local_nonpersistent_flags=()
  1359      flags_with_completion=()
  1360      flags_completion=()
  1361  
  1362      flags+=("--revision=")
  1363      flags+=("--tls")
  1364      local_nonpersistent_flags+=("--tls")
  1365      flags+=("--tls-ca-cert=")
  1366      local_nonpersistent_flags+=("--tls-ca-cert=")
  1367      flags+=("--tls-cert=")
  1368      local_nonpersistent_flags+=("--tls-cert=")
  1369      flags+=("--tls-key=")
  1370      local_nonpersistent_flags+=("--tls-key=")
  1371      flags+=("--tls-verify")
  1372      local_nonpersistent_flags+=("--tls-verify")
  1373      flags+=("--debug")
  1374      flags+=("--host=")
  1375      flags+=("--kube-context=")
  1376      flags+=("--tiller-namespace=")
  1377  
  1378      must_have_one_flag=()
  1379      must_have_one_noun=()
  1380      noun_aliases=()
  1381  }
  1382  
  1383  _helm_test()
  1384  {
  1385      last_command="helm_test"
  1386      commands=()
  1387  
  1388      flags=()
  1389      two_word_flags=()
  1390      local_nonpersistent_flags=()
  1391      flags_with_completion=()
  1392      flags_completion=()
  1393  
  1394      flags+=("--cleanup")
  1395      local_nonpersistent_flags+=("--cleanup")
  1396      flags+=("--timeout=")
  1397      local_nonpersistent_flags+=("--timeout=")
  1398      flags+=("--tls")
  1399      local_nonpersistent_flags+=("--tls")
  1400      flags+=("--tls-ca-cert=")
  1401      local_nonpersistent_flags+=("--tls-ca-cert=")
  1402      flags+=("--tls-cert=")
  1403      local_nonpersistent_flags+=("--tls-cert=")
  1404      flags+=("--tls-key=")
  1405      local_nonpersistent_flags+=("--tls-key=")
  1406      flags+=("--tls-verify")
  1407      local_nonpersistent_flags+=("--tls-verify")
  1408      flags+=("--debug")
  1409      flags+=("--host=")
  1410      flags+=("--kube-context=")
  1411      flags+=("--tiller-namespace=")
  1412  
  1413      must_have_one_flag=()
  1414      must_have_one_noun=()
  1415      noun_aliases=()
  1416  }
  1417  
  1418  _helm_upgrade()
  1419  {
  1420      last_command="helm_upgrade"
  1421      commands=()
  1422  
  1423      flags=()
  1424      two_word_flags=()
  1425      local_nonpersistent_flags=()
  1426      flags_with_completion=()
  1427      flags_completion=()
  1428  
  1429      flags+=("--ca-file=")
  1430      local_nonpersistent_flags+=("--ca-file=")
  1431      flags+=("--cert-file=")
  1432      local_nonpersistent_flags+=("--cert-file=")
  1433      flags+=("--devel")
  1434      local_nonpersistent_flags+=("--devel")
  1435      flags+=("--disable-hooks")
  1436      local_nonpersistent_flags+=("--disable-hooks")
  1437      flags+=("--dry-run")
  1438      local_nonpersistent_flags+=("--dry-run")
  1439      flags+=("--force")
  1440      local_nonpersistent_flags+=("--force")
  1441      flags+=("--install")
  1442      flags+=("-i")
  1443      local_nonpersistent_flags+=("--install")
  1444      flags+=("--key-file=")
  1445      local_nonpersistent_flags+=("--key-file=")
  1446      flags+=("--keyring=")
  1447      local_nonpersistent_flags+=("--keyring=")
  1448      flags+=("--namespace=")
  1449      local_nonpersistent_flags+=("--namespace=")
  1450      flags+=("--no-hooks")
  1451      local_nonpersistent_flags+=("--no-hooks")
  1452      flags+=("--recreate-pods")
  1453      local_nonpersistent_flags+=("--recreate-pods")
  1454      flags+=("--repo=")
  1455      local_nonpersistent_flags+=("--repo=")
  1456      flags+=("--reset-values")
  1457      local_nonpersistent_flags+=("--reset-values")
  1458      flags+=("--reuse-values")
  1459      local_nonpersistent_flags+=("--reuse-values")
  1460      flags+=("--set=")
  1461      local_nonpersistent_flags+=("--set=")
  1462      flags+=("--timeout=")
  1463      local_nonpersistent_flags+=("--timeout=")
  1464      flags+=("--tls")
  1465      local_nonpersistent_flags+=("--tls")
  1466      flags+=("--tls-ca-cert=")
  1467      local_nonpersistent_flags+=("--tls-ca-cert=")
  1468      flags+=("--tls-cert=")
  1469      local_nonpersistent_flags+=("--tls-cert=")
  1470      flags+=("--tls-key=")
  1471      local_nonpersistent_flags+=("--tls-key=")
  1472      flags+=("--tls-verify")
  1473      local_nonpersistent_flags+=("--tls-verify")
  1474      flags+=("--values=")
  1475      two_word_flags+=("-f")
  1476      local_nonpersistent_flags+=("--values=")
  1477      flags+=("--verify")
  1478      local_nonpersistent_flags+=("--verify")
  1479      flags+=("--version=")
  1480      local_nonpersistent_flags+=("--version=")
  1481      flags+=("--wait")
  1482      local_nonpersistent_flags+=("--wait")
  1483      flags+=("--debug")
  1484      flags+=("--host=")
  1485      flags+=("--kube-context=")
  1486      flags+=("--tiller-namespace=")
  1487  
  1488      must_have_one_flag=()
  1489      must_have_one_noun=()
  1490      noun_aliases=()
  1491  }
  1492  
  1493  _helm_verify()
  1494  {
  1495      last_command="helm_verify"
  1496      commands=()
  1497  
  1498      flags=()
  1499      two_word_flags=()
  1500      local_nonpersistent_flags=()
  1501      flags_with_completion=()
  1502      flags_completion=()
  1503  
  1504      flags+=("--keyring=")
  1505      local_nonpersistent_flags+=("--keyring=")
  1506      flags+=("--debug")
  1507      flags+=("--host=")
  1508      flags+=("--kube-context=")
  1509      flags+=("--tiller-namespace=")
  1510  
  1511      must_have_one_flag=()
  1512      must_have_one_noun=()
  1513      noun_aliases=()
  1514  }
  1515  
  1516  _helm_version()
  1517  {
  1518      last_command="helm_version"
  1519      commands=()
  1520  
  1521      flags=()
  1522      two_word_flags=()
  1523      local_nonpersistent_flags=()
  1524      flags_with_completion=()
  1525      flags_completion=()
  1526  
  1527      flags+=("--client")
  1528      flags+=("-c")
  1529      local_nonpersistent_flags+=("--client")
  1530      flags+=("--server")
  1531      flags+=("-s")
  1532      local_nonpersistent_flags+=("--server")
  1533      flags+=("--short")
  1534      local_nonpersistent_flags+=("--short")
  1535      flags+=("--tls")
  1536      local_nonpersistent_flags+=("--tls")
  1537      flags+=("--tls-ca-cert=")
  1538      local_nonpersistent_flags+=("--tls-ca-cert=")
  1539      flags+=("--tls-cert=")
  1540      local_nonpersistent_flags+=("--tls-cert=")
  1541      flags+=("--tls-key=")
  1542      local_nonpersistent_flags+=("--tls-key=")
  1543      flags+=("--tls-verify")
  1544      local_nonpersistent_flags+=("--tls-verify")
  1545      flags+=("--debug")
  1546      flags+=("--host=")
  1547      flags+=("--kube-context=")
  1548      flags+=("--tiller-namespace=")
  1549  
  1550      must_have_one_flag=()
  1551      must_have_one_noun=()
  1552      noun_aliases=()
  1553  }
  1554  
  1555  _helm()
  1556  {
  1557      last_command="helm"
  1558      commands=()
  1559      commands+=("completion")
  1560      commands+=("create")
  1561      commands+=("delete")
  1562      commands+=("dependency")
  1563      commands+=("fetch")
  1564      commands+=("get")
  1565      commands+=("history")
  1566      commands+=("home")
  1567      commands+=("init")
  1568      commands+=("inspect")
  1569      commands+=("install")
  1570      commands+=("lint")
  1571      commands+=("list")
  1572      commands+=("package")
  1573      commands+=("plugin")
  1574      commands+=("repo")
  1575      commands+=("reset")
  1576      commands+=("rollback")
  1577      commands+=("search")
  1578      commands+=("serve")
  1579      commands+=("status")
  1580      commands+=("test")
  1581      commands+=("upgrade")
  1582      commands+=("verify")
  1583      commands+=("version")
  1584  
  1585      flags=()
  1586      two_word_flags=()
  1587      local_nonpersistent_flags=()
  1588      flags_with_completion=()
  1589      flags_completion=()
  1590  
  1591      flags+=("--debug")
  1592      flags+=("--host=")
  1593      flags+=("--kube-context=")
  1594      flags+=("--tiller-namespace=")
  1595  
  1596      must_have_one_flag=()
  1597      must_have_one_noun=()
  1598      noun_aliases=()
  1599  }
  1600  
  1601  __start_helm()
  1602  {
  1603      local cur prev words cword
  1604      declare -A flaghash 2>/dev/null || :
  1605      if declare -F _init_completion >/dev/null 2>&1; then
  1606          _init_completion -s || return
  1607      else
  1608          __my_init_completion -n "=" || return
  1609      fi
  1610  
  1611      local c=0
  1612      local flags=()
  1613      local two_word_flags=()
  1614      local local_nonpersistent_flags=()
  1615      local flags_with_completion=()
  1616      local flags_completion=()
  1617      local commands=("helm")
  1618      local must_have_one_flag=()
  1619      local must_have_one_noun=()
  1620      local last_command
  1621      local nouns=()
  1622  
  1623      __handle_word
  1624  }
  1625  
  1626  if [[ $(type -t compopt) = "builtin" ]]; then
  1627      complete -o default -F __start_helm helm
  1628  else
  1629      complete -o default -o nospace -F __start_helm helm
  1630  fi
  1631  
  1632  # ex: ts=4 sw=4 et filetype=sh