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