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