%PDF- %PDF-
Direktori : /usr/share/bash-completion/completions/ |
Current File : //usr/share/bash-completion/completions/snap |
# -*- sh -*- # # Copyright (C) 2016-2017 Canonical Ltd # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License version 3 as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. _complete_snap() { # TODO: add support for sourcing this function from the core snap. local cur prev words cword _init_completion -n : || return if [[ ${#words[@]} -le 2 ]]; then # we're completing on the first word COMPREPLY=($(GO_FLAGS_COMPLETION=1 "${words[@]}")) return 0 fi local command if [[ ${words[1]} =~ ^- ]]; then # global options take no args return 0 fi for w in "${words[@]:1}"; do if [[ "$w" == "-h" || "$w" == "--help" ]]; then # completing on help gets confusing return 0 fi done command="${words[1]}" # Only split on newlines local IFS=$'\n' # now we pass _just the bit that's being completed_ of the command # to snap for it to figure it out. go-flags isn't smart enough to # look at COMP_WORDS etc. itself. if [ "$command" = "debug" ]; then command="${words[2]}" COMPREPLY=($(GO_FLAGS_COMPLETION=1 snap debug "$command" "$cur")) elif [ "$command" = "routine" ]; then command="${words[2]}" COMPREPLY=($(GO_FLAGS_COMPLETION=1 snap routine "$command" "$cur")) else COMPREPLY=($(GO_FLAGS_COMPLETION=1 snap "$command" "$cur")) fi case $command in install|info|sign-build) _filedir "snap" ;; ack) _filedir ;; try) _filedir -d ;; connect|disconnect|interfaces) # interface completions will only end in ':' when they all # end in ':' (i.e. you either get offered snap names up to # and including the ':', or you get offered the whole thing) if [[ "$COMPREPLY" == *: ]]; then compopt -o nospace fi esac __ltrim_colon_completions "$cur" return 0 } complete -F _complete_snap snap