Sha256: dfc6e0a1da8bb1563b9e42aeb9e0538aa972db06f28e16d11d75fcad06694e35

Contents?: true

Size: 1.55 KB

Versions: 17

Compression:

Stored size: 1.55 KB

Contents

#!/bin/bash

# cloudstack-cli
# https://github.com/niwo/cloudstack-cli
#
# Copyright (c) 2015 Nik Wolfgramm
# Licensed under the MIT license.
# https://raw.github.com/niwo/cloudstack-cli/master/LICENSE.txt

# Usage:
#
# To enable bash <tab> completion for cloudstack-cli, add the following line (minus the
# leading #, which is the bash comment character) to your ~/.bash_profile file (use ~/.bashrc on Ubuntu):
#
# eval "$(cloudstack-cli completion --shell=bash)"

_cloudstack_cli() {
  COMPREPLY=()
  local word="${COMP_WORDS[COMP_CWORD]}"
  # list available base commands
  if [ "$COMP_CWORD" -eq 1 ]; then
    COMPREPLY=( $(compgen -W "$(cloudstack-cli help | grep cloudstack-cli | cut -d ' ' -f4)" -- "$word") )
  else
    local words=("${COMP_WORDS[@]}")
    # ignore commands which contain 'help'
    if [[ "${words[@]}" == *help* ]]; then
      COMPREPLY=( $(compgen -W '' -- "$word") )
    # search for subcommand
    elif [[ "$word" != -* ]] && [ "$COMP_CWORD" -eq 2 ]; then
      local cp1=$(echo ${words[@]} | cut -d ' ' -f1-2)
      COMPREPLY=( $(compgen -W "$($cp1 help | grep cloudstack-cli | cut -d ' ' -f5)" -- "$word") )
    # list options for the subcommand
    elif [[ "$word" =~ -* ]] && [ "$COMP_CWORD" -gt 2 ]; then
      local cp1=$(echo ${words[@]} | cut -d ' ' -f1-2)
      local cp2=$(echo ${words[@]} | cut -d ' ' -f3)
      local cp3=$($cp1 help $cp2 2>/dev/null)
      COMPREPLY=( $(compgen -W "$(echo $cp3 | awk 'NR>1{print $1}' RS=[ FS='\=' 2>/dev/null)" -- "$word") )
    fi
  fi
}

complete -F _cloudstack_cli cs
complete -F _cloudstack_cli cloudstack-cli

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
cloudstack-cli-1.0.3 completions/cs.bash
cloudstack-cli-1.0.2 completions/cs.bash
cloudstack-cli-1.0.1 completions/cs.bash
cloudstack-cli-1.0.0 completions/cs.bash
cloudstack-cli-1.0.0.rc4 completions/cs.bash
cloudstack-cli-1.0.0.rc3 completions/cs.bash
cloudstack-cli-1.0.0.rc2 completions/cs.bash
cloudstack-cli-1.0.0.rc1 completions/cs.bash
cloudstack-cli-0.15.1 completions/cs.bash
cloudstack-cli-0.15.0 completions/cs.bash
cloudstack-cli-0.14.1 completions/cs.bash
cloudstack-cli-0.14.0 completions/cs.bash
cloudstack-cli-0.13.1 completions/cs.bash
cloudstack-cli-0.13.0 completions/cs.bash
cloudstack-cli-0.12.3 completions/cs.bash
cloudstack-cli-0.12.2 completions/cs.bash
cloudstack-cli-0.12.1 completions/cs.bash