class Pione::Util::ZshCompletion
Public Class Methods
new()
click to toggle source
# File lib/pione/util/completion.rb, line 73 def initialize @completion_command = "compdef" @completion_exec = "compdef" @name2 = "${words[2]}" @name3 = "${words[3]}" end
Public Instance Methods
fun_options(cmd)
click to toggle source
# File lib/pione/util/completion.rb, line 84 def fun_options(cmd) arguments(cmd) end
fun_subcommands(cmd)
click to toggle source
# File lib/pione/util/completion.rb, line 80 def fun_subcommands(cmd) describe(cmd) end
Private Instance Methods
arguments(cmd)
click to toggle source
# File lib/pione/util/completion.rb, line 94 def arguments(cmd) "_arguments -s -S %s '*:file:_files' && return 0;" % make_options(cmd) end
describe(cmd)
click to toggle source
# File lib/pione/util/completion.rb, line 90 def describe(cmd) "list=(%s) _describe -t common-commands 'common commands' list;" % make_subcommands(cmd) end
make_options(cmd)
click to toggle source
# File lib/pione/util/completion.rb, line 102 def make_options(cmd) items = cmd.option_definition.table.values items.sort{|a, b| a.long <=> b.long}.map do |item| name = item.long.gsub("[", "\\[").gsub("]", "\\]") "\"%s[%s]\"" % [name, item.desc] end.join(" ") end
make_subcommands(cmd)
click to toggle source
# File lib/pione/util/completion.rb, line 98 def make_subcommands(cmd) cmd.subcommand.map{|key, val| '%s:"%s"' % [key, val.desc]}.join(" ") end