class Pione::Util::BashCompletion
Public Class Methods
new()
click to toggle source
# File lib/pione/util/completion.rb, line 41 def initialize @completion_command = "complete" @completion_exec = "complete -F" @name2 = "${COMP_WORDS[1]}" @name3 = "${COMP_WORDS[2]}" end
Public Instance Methods
fun_options(cmd)
click to toggle source
# File lib/pione/util/completion.rb, line 52 def fun_options(cmd) compreply(make_options(cmd)) end
fun_subcommands(cmd)
click to toggle source
# File lib/pione/util/completion.rb, line 48 def fun_subcommands(cmd) compreply(make_subcommands(cmd)) end
Private Instance Methods
compreply(options)
click to toggle source
# File lib/pione/util/completion.rb, line 58 def compreply(options) 'COMPREPLY=($(compgen -W "%s" -- "${COMP_WORDS[COMP_CWORD]}"));' % options end
make_options(cmd)
click to toggle source
# File lib/pione/util/completion.rb, line 66 def make_options(cmd) items = cmd.option_definition.table.values items.sort{|a, b| a.long <=> b.long}.map{|item| item.long}.join(" ") end
make_subcommands(cmd)
click to toggle source
# File lib/pione/util/completion.rb, line 62 def make_subcommands(cmd) cmd.subcommand.keys.join(" ") end