59 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
_cdist()
 | 
						|
{
 | 
						|
    local cur prev prevprev opts cmds projects
 | 
						|
    COMPREPLY=()
 | 
						|
    cur="${COMP_WORDS[COMP_CWORD]}"
 | 
						|
    prev="${COMP_WORDS[COMP_CWORD-1]}"
 | 
						|
    prevprev="${COMP_WORDS[COMP_CWORD-2]}"
 | 
						|
    opts="-h --help -d --debug -v --verbose -V --version"
 | 
						|
    cmds="banner shell config install"
 | 
						|
 | 
						|
    case "${prevprev}" in
 | 
						|
        shell)
 | 
						|
            case "${prev}" in
 | 
						|
                -s|--shell)
 | 
						|
                    shells=$(grep -v '^#' /etc/shells)
 | 
						|
                    COMPREPLY=( $(compgen -W "${shells}" -- ${cur}) )
 | 
						|
                    return 0
 | 
						|
                    ;;
 | 
						|
            esac
 | 
						|
            ;;
 | 
						|
    esac
 | 
						|
 | 
						|
    case "${prev}" in
 | 
						|
        -*)
 | 
						|
            COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
 | 
						|
            return 0
 | 
						|
            ;;
 | 
						|
        banner)
 | 
						|
            opts="-h --help -d --debug -v --verbose"
 | 
						|
            COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
 | 
						|
            return 0
 | 
						|
            ;;
 | 
						|
        shell)
 | 
						|
            opts="-h --help -d --debug -v --verbose -s --shell"
 | 
						|
            COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
 | 
						|
            return 0
 | 
						|
            ;;
 | 
						|
        config|install)
 | 
						|
            opts="-h --help -d --debug -v --verbose -b --enable-beta \
 | 
						|
                -c --conf-dir -f --file -i --initial-manifest -j --jobs \
 | 
						|
                -n --dry-run -o --out-dir -p --parallel -s --sequential \
 | 
						|
                --remote-copy --remote-exec"
 | 
						|
            COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
 | 
						|
            return 0
 | 
						|
            ;;
 | 
						|
        *)
 | 
						|
            ;;
 | 
						|
    esac
 | 
						|
 | 
						|
    if [[ ${cur} == -* ]]; then 
 | 
						|
    	COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
 | 
						|
    	return 0
 | 
						|
    fi
 | 
						|
 | 
						|
    COMPREPLY=( $(compgen -W "${cmds}" -- ${cur}) )
 | 
						|
    return 0
 | 
						|
}
 | 
						|
 | 
						|
complete -F _cdist cdist
 |