Module: Kotoshu::Cli::Completions::ScriptBuilders::Bash

Defined in:
lib/kotoshu/cli/completions_command.rb

Class Method Summary collapse

Class Method Details

.build(commands, language_argument_commands) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/kotoshu/cli/completions_command.rb', line 49

def build(commands, language_argument_commands)
  word_list = commands.map(&:name).join(" ")
  lang_branch = language_branch(language_argument_commands)
  <<~BASH
    # kotoshu bash completion — install with:
    #   kotoshu completions bash > /etc/bash_completion.d/kotoshu
    # or for a single user:
    #   kotoshu completions bash > ~/.local/share/bash-completion/completions/kotoshu
    _kotoshu_completions() {
      local cur prev
      cur="${COMP_WORDS[COMP_CWORD]}"
      prev="${COMP_WORDS[COMP_CWORD-1]}"

      if [ "$COMP_CWORD" -eq 1 ]; then
        COMPREPLY=( $(compgen -W "#{word_list}" -- "$cur") )
        return 0
      fi

    #{ScriptBuilders.indent(lang_branch, 2)}

      return 0
    }
    complete -F _kotoshu_completions kotoshu
  BASH
end