github.com/flant/helm@v2.8.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+=("--timeout=")
   834      local_nonpersistent_flags+=("--timeout=")
   835      flags+=("--tls")
   836      local_nonpersistent_flags+=("--tls")
   837      flags+=("--tls-ca-cert=")
   838      local_nonpersistent_flags+=("--tls-ca-cert=")
   839      flags+=("--tls-cert=")
   840      local_nonpersistent_flags+=("--tls-cert=")
   841      flags+=("--tls-key=")
   842      local_nonpersistent_flags+=("--tls-key=")
   843      flags+=("--tls-verify")
   844      local_nonpersistent_flags+=("--tls-verify")
   845      flags+=("--values=")
   846      two_word_flags+=("-f")
   847      local_nonpersistent_flags+=("--values=")
   848      flags+=("--verify")
   849      local_nonpersistent_flags+=("--verify")
   850      flags+=("--version=")
   851      local_nonpersistent_flags+=("--version=")
   852      flags+=("--wait")
   853      local_nonpersistent_flags+=("--wait")
   854      flags+=("--debug")
   855      flags+=("--home=")
   856      flags+=("--host=")
   857      flags+=("--kube-context=")
   858      flags+=("--tiller-namespace=")
   859  
   860      must_have_one_flag=()
   861      must_have_one_noun=()
   862      noun_aliases=()
   863  }
   864  
   865  _helm_lint()
   866  {
   867      last_command="helm_lint"
   868      commands=()
   869  
   870      flags=()
   871      two_word_flags=()
   872      local_nonpersistent_flags=()
   873      flags_with_completion=()
   874      flags_completion=()
   875  
   876      flags+=("--strict")
   877      local_nonpersistent_flags+=("--strict")
   878      flags+=("--debug")
   879      flags+=("--home=")
   880      flags+=("--host=")
   881      flags+=("--kube-context=")
   882      flags+=("--tiller-namespace=")
   883  
   884      must_have_one_flag=()
   885      must_have_one_noun=()
   886      noun_aliases=()
   887  }
   888  
   889  _helm_list()
   890  {
   891      last_command="helm_list"
   892      commands=()
   893  
   894      flags=()
   895      two_word_flags=()
   896      local_nonpersistent_flags=()
   897      flags_with_completion=()
   898      flags_completion=()
   899  
   900      flags+=("--all")
   901      local_nonpersistent_flags+=("--all")
   902      flags+=("--date")
   903      flags+=("-d")
   904      local_nonpersistent_flags+=("--date")
   905      flags+=("--deleted")
   906      local_nonpersistent_flags+=("--deleted")
   907      flags+=("--deleting")
   908      local_nonpersistent_flags+=("--deleting")
   909      flags+=("--deployed")
   910      local_nonpersistent_flags+=("--deployed")
   911      flags+=("--failed")
   912      local_nonpersistent_flags+=("--failed")
   913      flags+=("--max=")
   914      two_word_flags+=("-m")
   915      local_nonpersistent_flags+=("--max=")
   916      flags+=("--namespace=")
   917      local_nonpersistent_flags+=("--namespace=")
   918      flags+=("--offset=")
   919      two_word_flags+=("-o")
   920      local_nonpersistent_flags+=("--offset=")
   921      flags+=("--reverse")
   922      flags+=("-r")
   923      local_nonpersistent_flags+=("--reverse")
   924      flags+=("--short")
   925      flags+=("-q")
   926      local_nonpersistent_flags+=("--short")
   927      flags+=("--tls")
   928      local_nonpersistent_flags+=("--tls")
   929      flags+=("--tls-ca-cert=")
   930      local_nonpersistent_flags+=("--tls-ca-cert=")
   931      flags+=("--tls-cert=")
   932      local_nonpersistent_flags+=("--tls-cert=")
   933      flags+=("--tls-key=")
   934      local_nonpersistent_flags+=("--tls-key=")
   935      flags+=("--tls-verify")
   936      local_nonpersistent_flags+=("--tls-verify")
   937      flags+=("--debug")
   938      flags+=("--home=")
   939      flags+=("--host=")
   940      flags+=("--kube-context=")
   941      flags+=("--tiller-namespace=")
   942  
   943      must_have_one_flag=()
   944      must_have_one_noun=()
   945      noun_aliases=()
   946  }
   947  
   948  _helm_package()
   949  {
   950      last_command="helm_package"
   951      commands=()
   952  
   953      flags=()
   954      two_word_flags=()
   955      local_nonpersistent_flags=()
   956      flags_with_completion=()
   957      flags_completion=()
   958  
   959      flags+=("--destination=")
   960      two_word_flags+=("-d")
   961      local_nonpersistent_flags+=("--destination=")
   962      flags+=("--key=")
   963      local_nonpersistent_flags+=("--key=")
   964      flags+=("--keyring=")
   965      local_nonpersistent_flags+=("--keyring=")
   966      flags+=("--save")
   967      local_nonpersistent_flags+=("--save")
   968      flags+=("--sign")
   969      local_nonpersistent_flags+=("--sign")
   970      flags+=("--version=")
   971      local_nonpersistent_flags+=("--version=")
   972      flags+=("--debug")
   973      flags+=("--home=")
   974      flags+=("--host=")
   975      flags+=("--kube-context=")
   976      flags+=("--tiller-namespace=")
   977  
   978      must_have_one_flag=()
   979      must_have_one_noun=()
   980      noun_aliases=()
   981  }
   982  
   983  _helm_plugin_install()
   984  {
   985      last_command="helm_plugin_install"
   986      commands=()
   987  
   988      flags=()
   989      two_word_flags=()
   990      local_nonpersistent_flags=()
   991      flags_with_completion=()
   992      flags_completion=()
   993  
   994      flags+=("--version=")
   995      local_nonpersistent_flags+=("--version=")
   996      flags+=("--debug")
   997      flags+=("--home=")
   998      flags+=("--host=")
   999      flags+=("--kube-context=")
  1000      flags+=("--tiller-namespace=")
  1001  
  1002      must_have_one_flag=()
  1003      must_have_one_noun=()
  1004      noun_aliases=()
  1005  }
  1006  
  1007  _helm_plugin_list()
  1008  {
  1009      last_command="helm_plugin_list"
  1010      commands=()
  1011  
  1012      flags=()
  1013      two_word_flags=()
  1014      local_nonpersistent_flags=()
  1015      flags_with_completion=()
  1016      flags_completion=()
  1017  
  1018      flags+=("--debug")
  1019      flags+=("--home=")
  1020      flags+=("--host=")
  1021      flags+=("--kube-context=")
  1022      flags+=("--tiller-namespace=")
  1023  
  1024      must_have_one_flag=()
  1025      must_have_one_noun=()
  1026      noun_aliases=()
  1027  }
  1028  
  1029  _helm_plugin_remove()
  1030  {
  1031      last_command="helm_plugin_remove"
  1032      commands=()
  1033  
  1034      flags=()
  1035      two_word_flags=()
  1036      local_nonpersistent_flags=()
  1037      flags_with_completion=()
  1038      flags_completion=()
  1039  
  1040      flags+=("--debug")
  1041      flags+=("--home=")
  1042      flags+=("--host=")
  1043      flags+=("--kube-context=")
  1044      flags+=("--tiller-namespace=")
  1045  
  1046      must_have_one_flag=()
  1047      must_have_one_noun=()
  1048      noun_aliases=()
  1049  }
  1050  
  1051  _helm_plugin_update()
  1052  {
  1053      last_command="helm_plugin_update"
  1054      commands=()
  1055  
  1056      flags=()
  1057      two_word_flags=()
  1058      local_nonpersistent_flags=()
  1059      flags_with_completion=()
  1060      flags_completion=()
  1061  
  1062      flags+=("--debug")
  1063      flags+=("--home=")
  1064      flags+=("--host=")
  1065      flags+=("--kube-context=")
  1066      flags+=("--tiller-namespace=")
  1067  
  1068      must_have_one_flag=()
  1069      must_have_one_noun=()
  1070      noun_aliases=()
  1071  }
  1072  
  1073  _helm_plugin()
  1074  {
  1075      last_command="helm_plugin"
  1076      commands=()
  1077      commands+=("install")
  1078      commands+=("list")
  1079      commands+=("remove")
  1080      commands+=("update")
  1081  
  1082      flags=()
  1083      two_word_flags=()
  1084      local_nonpersistent_flags=()
  1085      flags_with_completion=()
  1086      flags_completion=()
  1087  
  1088      flags+=("--debug")
  1089      flags+=("--home=")
  1090      flags+=("--host=")
  1091      flags+=("--kube-context=")
  1092      flags+=("--tiller-namespace=")
  1093  
  1094      must_have_one_flag=()
  1095      must_have_one_noun=()
  1096      noun_aliases=()
  1097  }
  1098  
  1099  _helm_repo_add()
  1100  {
  1101      last_command="helm_repo_add"
  1102      commands=()
  1103  
  1104      flags=()
  1105      two_word_flags=()
  1106      local_nonpersistent_flags=()
  1107      flags_with_completion=()
  1108      flags_completion=()
  1109  
  1110      flags+=("--ca-file=")
  1111      local_nonpersistent_flags+=("--ca-file=")
  1112      flags+=("--cert-file=")
  1113      local_nonpersistent_flags+=("--cert-file=")
  1114      flags+=("--key-file=")
  1115      local_nonpersistent_flags+=("--key-file=")
  1116      flags+=("--no-update")
  1117      local_nonpersistent_flags+=("--no-update")
  1118      flags+=("--debug")
  1119      flags+=("--home=")
  1120      flags+=("--host=")
  1121      flags+=("--kube-context=")
  1122      flags+=("--tiller-namespace=")
  1123  
  1124      must_have_one_flag=()
  1125      must_have_one_noun=()
  1126      noun_aliases=()
  1127  }
  1128  
  1129  _helm_repo_index()
  1130  {
  1131      last_command="helm_repo_index"
  1132      commands=()
  1133  
  1134      flags=()
  1135      two_word_flags=()
  1136      local_nonpersistent_flags=()
  1137      flags_with_completion=()
  1138      flags_completion=()
  1139  
  1140      flags+=("--merge=")
  1141      local_nonpersistent_flags+=("--merge=")
  1142      flags+=("--url=")
  1143      local_nonpersistent_flags+=("--url=")
  1144      flags+=("--debug")
  1145      flags+=("--home=")
  1146      flags+=("--host=")
  1147      flags+=("--kube-context=")
  1148      flags+=("--tiller-namespace=")
  1149  
  1150      must_have_one_flag=()
  1151      must_have_one_noun=()
  1152      noun_aliases=()
  1153  }
  1154  
  1155  _helm_repo_list()
  1156  {
  1157      last_command="helm_repo_list"
  1158      commands=()
  1159  
  1160      flags=()
  1161      two_word_flags=()
  1162      local_nonpersistent_flags=()
  1163      flags_with_completion=()
  1164      flags_completion=()
  1165  
  1166      flags+=("--debug")
  1167      flags+=("--home=")
  1168      flags+=("--host=")
  1169      flags+=("--kube-context=")
  1170      flags+=("--tiller-namespace=")
  1171  
  1172      must_have_one_flag=()
  1173      must_have_one_noun=()
  1174      noun_aliases=()
  1175  }
  1176  
  1177  _helm_repo_remove()
  1178  {
  1179      last_command="helm_repo_remove"
  1180      commands=()
  1181  
  1182      flags=()
  1183      two_word_flags=()
  1184      local_nonpersistent_flags=()
  1185      flags_with_completion=()
  1186      flags_completion=()
  1187  
  1188      flags+=("--debug")
  1189      flags+=("--home=")
  1190      flags+=("--host=")
  1191      flags+=("--kube-context=")
  1192      flags+=("--tiller-namespace=")
  1193  
  1194      must_have_one_flag=()
  1195      must_have_one_noun=()
  1196      noun_aliases=()
  1197  }
  1198  
  1199  _helm_repo_update()
  1200  {
  1201      last_command="helm_repo_update"
  1202      commands=()
  1203  
  1204      flags=()
  1205      two_word_flags=()
  1206      local_nonpersistent_flags=()
  1207      flags_with_completion=()
  1208      flags_completion=()
  1209  
  1210      flags+=("--debug")
  1211      flags+=("--home=")
  1212      flags+=("--host=")
  1213      flags+=("--kube-context=")
  1214      flags+=("--tiller-namespace=")
  1215  
  1216      must_have_one_flag=()
  1217      must_have_one_noun=()
  1218      noun_aliases=()
  1219  }
  1220  
  1221  _helm_repo()
  1222  {
  1223      last_command="helm_repo"
  1224      commands=()
  1225      commands+=("add")
  1226      commands+=("index")
  1227      commands+=("list")
  1228      commands+=("remove")
  1229      commands+=("update")
  1230  
  1231      flags=()
  1232      two_word_flags=()
  1233      local_nonpersistent_flags=()
  1234      flags_with_completion=()
  1235      flags_completion=()
  1236  
  1237      flags+=("--debug")
  1238      flags+=("--home=")
  1239      flags+=("--host=")
  1240      flags+=("--kube-context=")
  1241      flags+=("--tiller-namespace=")
  1242  
  1243      must_have_one_flag=()
  1244      must_have_one_noun=()
  1245      noun_aliases=()
  1246  }
  1247  
  1248  _helm_reset()
  1249  {
  1250      last_command="helm_reset"
  1251      commands=()
  1252  
  1253      flags=()
  1254      two_word_flags=()
  1255      local_nonpersistent_flags=()
  1256      flags_with_completion=()
  1257      flags_completion=()
  1258  
  1259      flags+=("--force")
  1260      flags+=("-f")
  1261      local_nonpersistent_flags+=("--force")
  1262      flags+=("--remove-helm-home")
  1263      local_nonpersistent_flags+=("--remove-helm-home")
  1264      flags+=("--tls")
  1265      local_nonpersistent_flags+=("--tls")
  1266      flags+=("--tls-ca-cert=")
  1267      local_nonpersistent_flags+=("--tls-ca-cert=")
  1268      flags+=("--tls-cert=")
  1269      local_nonpersistent_flags+=("--tls-cert=")
  1270      flags+=("--tls-key=")
  1271      local_nonpersistent_flags+=("--tls-key=")
  1272      flags+=("--tls-verify")
  1273      local_nonpersistent_flags+=("--tls-verify")
  1274      flags+=("--debug")
  1275      flags+=("--home=")
  1276      flags+=("--host=")
  1277      flags+=("--kube-context=")
  1278      flags+=("--tiller-namespace=")
  1279  
  1280      must_have_one_flag=()
  1281      must_have_one_noun=()
  1282      noun_aliases=()
  1283  }
  1284  
  1285  _helm_rollback()
  1286  {
  1287      last_command="helm_rollback"
  1288      commands=()
  1289  
  1290      flags=()
  1291      two_word_flags=()
  1292      local_nonpersistent_flags=()
  1293      flags_with_completion=()
  1294      flags_completion=()
  1295  
  1296      flags+=("--dry-run")
  1297      local_nonpersistent_flags+=("--dry-run")
  1298      flags+=("--force")
  1299      local_nonpersistent_flags+=("--force")
  1300      flags+=("--no-hooks")
  1301      local_nonpersistent_flags+=("--no-hooks")
  1302      flags+=("--recreate-pods")
  1303      local_nonpersistent_flags+=("--recreate-pods")
  1304      flags+=("--timeout=")
  1305      local_nonpersistent_flags+=("--timeout=")
  1306      flags+=("--tls")
  1307      local_nonpersistent_flags+=("--tls")
  1308      flags+=("--tls-ca-cert=")
  1309      local_nonpersistent_flags+=("--tls-ca-cert=")
  1310      flags+=("--tls-cert=")
  1311      local_nonpersistent_flags+=("--tls-cert=")
  1312      flags+=("--tls-key=")
  1313      local_nonpersistent_flags+=("--tls-key=")
  1314      flags+=("--tls-verify")
  1315      local_nonpersistent_flags+=("--tls-verify")
  1316      flags+=("--wait")
  1317      local_nonpersistent_flags+=("--wait")
  1318      flags+=("--debug")
  1319      flags+=("--home=")
  1320      flags+=("--host=")
  1321      flags+=("--kube-context=")
  1322      flags+=("--tiller-namespace=")
  1323  
  1324      must_have_one_flag=()
  1325      must_have_one_noun=()
  1326      noun_aliases=()
  1327  }
  1328  
  1329  _helm_search()
  1330  {
  1331      last_command="helm_search"
  1332      commands=()
  1333  
  1334      flags=()
  1335      two_word_flags=()
  1336      local_nonpersistent_flags=()
  1337      flags_with_completion=()
  1338      flags_completion=()
  1339  
  1340      flags+=("--regexp")
  1341      flags+=("-r")
  1342      local_nonpersistent_flags+=("--regexp")
  1343      flags+=("--version=")
  1344      two_word_flags+=("-v")
  1345      local_nonpersistent_flags+=("--version=")
  1346      flags+=("--versions")
  1347      flags+=("-l")
  1348      local_nonpersistent_flags+=("--versions")
  1349      flags+=("--debug")
  1350      flags+=("--home=")
  1351      flags+=("--host=")
  1352      flags+=("--kube-context=")
  1353      flags+=("--tiller-namespace=")
  1354  
  1355      must_have_one_flag=()
  1356      must_have_one_noun=()
  1357      noun_aliases=()
  1358  }
  1359  
  1360  _helm_serve()
  1361  {
  1362      last_command="helm_serve"
  1363      commands=()
  1364  
  1365      flags=()
  1366      two_word_flags=()
  1367      local_nonpersistent_flags=()
  1368      flags_with_completion=()
  1369      flags_completion=()
  1370  
  1371      flags+=("--address=")
  1372      local_nonpersistent_flags+=("--address=")
  1373      flags+=("--repo-path=")
  1374      local_nonpersistent_flags+=("--repo-path=")
  1375      flags+=("--url=")
  1376      local_nonpersistent_flags+=("--url=")
  1377      flags+=("--debug")
  1378      flags+=("--home=")
  1379      flags+=("--host=")
  1380      flags+=("--kube-context=")
  1381      flags+=("--tiller-namespace=")
  1382  
  1383      must_have_one_flag=()
  1384      must_have_one_noun=()
  1385      noun_aliases=()
  1386  }
  1387  
  1388  _helm_status()
  1389  {
  1390      last_command="helm_status"
  1391      commands=()
  1392  
  1393      flags=()
  1394      two_word_flags=()
  1395      local_nonpersistent_flags=()
  1396      flags_with_completion=()
  1397      flags_completion=()
  1398  
  1399      flags+=("--revision=")
  1400      flags+=("--tls")
  1401      local_nonpersistent_flags+=("--tls")
  1402      flags+=("--tls-ca-cert=")
  1403      local_nonpersistent_flags+=("--tls-ca-cert=")
  1404      flags+=("--tls-cert=")
  1405      local_nonpersistent_flags+=("--tls-cert=")
  1406      flags+=("--tls-key=")
  1407      local_nonpersistent_flags+=("--tls-key=")
  1408      flags+=("--tls-verify")
  1409      local_nonpersistent_flags+=("--tls-verify")
  1410      flags+=("--debug")
  1411      flags+=("--home=")
  1412      flags+=("--host=")
  1413      flags+=("--kube-context=")
  1414      flags+=("--tiller-namespace=")
  1415  
  1416      must_have_one_flag=()
  1417      must_have_one_noun=()
  1418      noun_aliases=()
  1419  }
  1420  
  1421  _helm_test()
  1422  {
  1423      last_command="helm_test"
  1424      commands=()
  1425  
  1426      flags=()
  1427      two_word_flags=()
  1428      local_nonpersistent_flags=()
  1429      flags_with_completion=()
  1430      flags_completion=()
  1431  
  1432      flags+=("--cleanup")
  1433      local_nonpersistent_flags+=("--cleanup")
  1434      flags+=("--timeout=")
  1435      local_nonpersistent_flags+=("--timeout=")
  1436      flags+=("--tls")
  1437      local_nonpersistent_flags+=("--tls")
  1438      flags+=("--tls-ca-cert=")
  1439      local_nonpersistent_flags+=("--tls-ca-cert=")
  1440      flags+=("--tls-cert=")
  1441      local_nonpersistent_flags+=("--tls-cert=")
  1442      flags+=("--tls-key=")
  1443      local_nonpersistent_flags+=("--tls-key=")
  1444      flags+=("--tls-verify")
  1445      local_nonpersistent_flags+=("--tls-verify")
  1446      flags+=("--debug")
  1447      flags+=("--home=")
  1448      flags+=("--host=")
  1449      flags+=("--kube-context=")
  1450      flags+=("--tiller-namespace=")
  1451  
  1452      must_have_one_flag=()
  1453      must_have_one_noun=()
  1454      noun_aliases=()
  1455  }
  1456  
  1457  _helm_upgrade()
  1458  {
  1459      last_command="helm_upgrade"
  1460      commands=()
  1461  
  1462      flags=()
  1463      two_word_flags=()
  1464      local_nonpersistent_flags=()
  1465      flags_with_completion=()
  1466      flags_completion=()
  1467  
  1468      flags+=("--ca-file=")
  1469      local_nonpersistent_flags+=("--ca-file=")
  1470      flags+=("--cert-file=")
  1471      local_nonpersistent_flags+=("--cert-file=")
  1472      flags+=("--devel")
  1473      local_nonpersistent_flags+=("--devel")
  1474      flags+=("--disable-hooks")
  1475      local_nonpersistent_flags+=("--disable-hooks")
  1476      flags+=("--dry-run")
  1477      local_nonpersistent_flags+=("--dry-run")
  1478      flags+=("--force")
  1479      local_nonpersistent_flags+=("--force")
  1480      flags+=("--install")
  1481      flags+=("-i")
  1482      local_nonpersistent_flags+=("--install")
  1483      flags+=("--key-file=")
  1484      local_nonpersistent_flags+=("--key-file=")
  1485      flags+=("--keyring=")
  1486      local_nonpersistent_flags+=("--keyring=")
  1487      flags+=("--namespace=")
  1488      local_nonpersistent_flags+=("--namespace=")
  1489      flags+=("--no-hooks")
  1490      local_nonpersistent_flags+=("--no-hooks")
  1491      flags+=("--recreate-pods")
  1492      local_nonpersistent_flags+=("--recreate-pods")
  1493      flags+=("--repo=")
  1494      local_nonpersistent_flags+=("--repo=")
  1495      flags+=("--reset-values")
  1496      local_nonpersistent_flags+=("--reset-values")
  1497      flags+=("--reuse-values")
  1498      local_nonpersistent_flags+=("--reuse-values")
  1499      flags+=("--set=")
  1500      local_nonpersistent_flags+=("--set=")
  1501      flags+=("--timeout=")
  1502      local_nonpersistent_flags+=("--timeout=")
  1503      flags+=("--tls")
  1504      local_nonpersistent_flags+=("--tls")
  1505      flags+=("--tls-ca-cert=")
  1506      local_nonpersistent_flags+=("--tls-ca-cert=")
  1507      flags+=("--tls-cert=")
  1508      local_nonpersistent_flags+=("--tls-cert=")
  1509      flags+=("--tls-key=")
  1510      local_nonpersistent_flags+=("--tls-key=")
  1511      flags+=("--tls-verify")
  1512      local_nonpersistent_flags+=("--tls-verify")
  1513      flags+=("--values=")
  1514      two_word_flags+=("-f")
  1515      local_nonpersistent_flags+=("--values=")
  1516      flags+=("--verify")
  1517      local_nonpersistent_flags+=("--verify")
  1518      flags+=("--version=")
  1519      local_nonpersistent_flags+=("--version=")
  1520      flags+=("--wait")
  1521      local_nonpersistent_flags+=("--wait")
  1522      flags+=("--debug")
  1523      flags+=("--home=")
  1524      flags+=("--host=")
  1525      flags+=("--kube-context=")
  1526      flags+=("--tiller-namespace=")
  1527  
  1528      must_have_one_flag=()
  1529      must_have_one_noun=()
  1530      noun_aliases=()
  1531  }
  1532  
  1533  _helm_verify()
  1534  {
  1535      last_command="helm_verify"
  1536      commands=()
  1537  
  1538      flags=()
  1539      two_word_flags=()
  1540      local_nonpersistent_flags=()
  1541      flags_with_completion=()
  1542      flags_completion=()
  1543  
  1544      flags+=("--keyring=")
  1545      local_nonpersistent_flags+=("--keyring=")
  1546      flags+=("--debug")
  1547      flags+=("--home=")
  1548      flags+=("--host=")
  1549      flags+=("--kube-context=")
  1550      flags+=("--tiller-namespace=")
  1551  
  1552      must_have_one_flag=()
  1553      must_have_one_noun=()
  1554      noun_aliases=()
  1555  }
  1556  
  1557  _helm_version()
  1558  {
  1559      last_command="helm_version"
  1560      commands=()
  1561  
  1562      flags=()
  1563      two_word_flags=()
  1564      local_nonpersistent_flags=()
  1565      flags_with_completion=()
  1566      flags_completion=()
  1567  
  1568      flags+=("--client")
  1569      flags+=("-c")
  1570      local_nonpersistent_flags+=("--client")
  1571      flags+=("--server")
  1572      flags+=("-s")
  1573      local_nonpersistent_flags+=("--server")
  1574      flags+=("--short")
  1575      local_nonpersistent_flags+=("--short")
  1576      flags+=("--tls")
  1577      local_nonpersistent_flags+=("--tls")
  1578      flags+=("--tls-ca-cert=")
  1579      local_nonpersistent_flags+=("--tls-ca-cert=")
  1580      flags+=("--tls-cert=")
  1581      local_nonpersistent_flags+=("--tls-cert=")
  1582      flags+=("--tls-key=")
  1583      local_nonpersistent_flags+=("--tls-key=")
  1584      flags+=("--tls-verify")
  1585      local_nonpersistent_flags+=("--tls-verify")
  1586      flags+=("--debug")
  1587      flags+=("--home=")
  1588      flags+=("--host=")
  1589      flags+=("--kube-context=")
  1590      flags+=("--tiller-namespace=")
  1591  
  1592      must_have_one_flag=()
  1593      must_have_one_noun=()
  1594      noun_aliases=()
  1595  }
  1596  
  1597  _helm()
  1598  {
  1599      last_command="helm"
  1600      commands=()
  1601      commands+=("completion")
  1602      commands+=("create")
  1603      commands+=("delete")
  1604      commands+=("dependency")
  1605      commands+=("fetch")
  1606      commands+=("get")
  1607      commands+=("history")
  1608      commands+=("home")
  1609      commands+=("init")
  1610      commands+=("inspect")
  1611      commands+=("install")
  1612      commands+=("lint")
  1613      commands+=("list")
  1614      commands+=("package")
  1615      commands+=("plugin")
  1616      commands+=("repo")
  1617      commands+=("reset")
  1618      commands+=("rollback")
  1619      commands+=("search")
  1620      commands+=("serve")
  1621      commands+=("status")
  1622      commands+=("test")
  1623      commands+=("upgrade")
  1624      commands+=("verify")
  1625      commands+=("version")
  1626  
  1627      flags=()
  1628      two_word_flags=()
  1629      local_nonpersistent_flags=()
  1630      flags_with_completion=()
  1631      flags_completion=()
  1632  
  1633      flags+=("--debug")
  1634      flags+=("--home=")
  1635      flags+=("--host=")
  1636      flags+=("--kube-context=")
  1637      flags+=("--tiller-namespace=")
  1638  
  1639      must_have_one_flag=()
  1640      must_have_one_noun=()
  1641      noun_aliases=()
  1642  }
  1643  
  1644  __start_helm()
  1645  {
  1646      local cur prev words cword
  1647      declare -A flaghash 2>/dev/null || :
  1648      if declare -F _init_completion >/dev/null 2>&1; then
  1649          _init_completion -s || return
  1650      else
  1651          __my_init_completion -n "=" || return
  1652      fi
  1653  
  1654      local c=0
  1655      local flags=()
  1656      local two_word_flags=()
  1657      local local_nonpersistent_flags=()
  1658      local flags_with_completion=()
  1659      local flags_completion=()
  1660      local commands=("helm")
  1661      local must_have_one_flag=()
  1662      local must_have_one_noun=()
  1663      local last_command
  1664      local nouns=()
  1665  
  1666      __handle_word
  1667  }
  1668  
  1669  if [[ $(type -t compopt) = "builtin" ]]; then
  1670      complete -o default -F __start_helm helm
  1671  else
  1672      complete -o default -o nospace -F __start_helm helm
  1673  fi
  1674  
  1675  # ex: ts=4 sw=4 et filetype=sh