gitea.ysmox.com/helm/helm@v2.17.0+incompatible/scripts/completions.bash (about)

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