adding-help: commit enabled help

This commit is contained in:
rkiel
2015-06-07 20:49:23 -04:00
parent fd2b6fb181
commit 8ce035330d
11 changed files with 55 additions and 58 deletions

View File

@@ -14,6 +14,16 @@ module Feature
@argv = argv @argv = argv
end end
def help
"TBD"
end
def usage
puts
puts "USAGE: #{help}"
puts
exit
end
end end
end end

View File

@@ -7,8 +7,8 @@ module Feature
true true
end end
def usage def help
exit "feature branch"
end end
def execute def execute

View File

@@ -11,21 +11,24 @@ require_relative './help'
module Feature module Feature
class Commander class Commander
attr_reader :subcommand attr_reader :subcommands, :subcommand
def initialize (argv) def initialize (argv)
@subcommand = case argv[0] @subcommands = {
when "start" then Feature::Start.new(argv) branch: Feature::Branch.new(argv),
when "end" then Feature::End.new(argv) commit: Feature::Commit.new(argv),
when "trash" then Feature::Trash.new(argv) help: Feature::Help.new(argv),
when "rebase" then Feature::Rebase.new(argv) end: Feature::End.new(argv),
when "merge" then Feature::MergeTo.new(argv) rebase: Feature::Rebase.new(argv),
when "tab" then Feature::Tab.new(argv) merge: Feature::MergeTo.new(argv),
when "commit" then Feature::Commit.new(argv) start: Feature::Start.new(argv),
when "help" then Feature::Help.new(argv) tab: Feature::Tab.new(argv),
when nil then Feature::Branch.new(argv) trash: Feature::Trash.new(argv)
else Feature::Help.new(argv) }
end
key = (argv[0] ? argv[0].to_sym : :branch)
@subcommand = (subcommands[key] ? subcommands[key] : subcommands[:help])
end end
def valid? def valid?
@@ -40,10 +43,6 @@ module Feature
subcommand.execute subcommand.execute
end end
def self.tab_completion
[:start, :end, :trash, :rebase, :merge, :commit].map(&:to_s).sort
end
end end
end end

View File

@@ -7,11 +7,8 @@ module Feature
argv.size > 1 argv.size > 1
end end
def usage def help
puts "feature commit [word....]"
puts "USAGE: feature commit [word....]"
puts
exit
end end
def execute def execute

View File

@@ -7,11 +7,8 @@ module Feature
argv.size == 1 argv.size == 1
end end
def usage def help
puts "feature end"
puts "USAGE: feature end"
puts
exit
end end
def execute def execute

View File

@@ -7,11 +7,19 @@ module Feature
true true
end end
def usage def help
exit "feature help"
end end
def execute def execute
puts
# TODO: fix this
commander = Feature::Commander.new(argv)
commander.subcommands.keys.sort.each do |key|
cmd = commander.subcommands[key]
puts cmd.help
end
puts
end end
end end

View File

@@ -7,11 +7,8 @@ module Feature
[1,2].include? argv.size [1,2].include? argv.size
end end
def usage def help
puts "feature merge [branch]"
puts "USAGE: feature merge [branch]"
puts
exit
end end
def execute def execute

View File

@@ -7,11 +7,8 @@ module Feature
argv.size == 1 argv.size == 1
end end
def usage def help
puts "feature rebase"
puts "USAGE: feature rebase"
puts
exit
end end
def execute def execute

View File

@@ -7,11 +7,8 @@ module Feature
argv.size > 1 argv.size > 1
end end
def usage def help
puts "feature start feature-words"
puts "USAGE: feature start feature-words"
puts
exit
end end
def execute def execute

View File

@@ -7,11 +7,8 @@ module Feature
[1,2].include? argv.size [1,2].include? argv.size
end end
def usage def help
puts "feature tab [pattern]"
puts "USAGE: feature tab [pattern]"
puts
exit
end end
def execute def execute
@@ -22,8 +19,9 @@ module Feature
end end
regexp = Regexp.new(pattern) regexp = Regexp.new(pattern)
cmds = Feature::Commander.tab_completion
cmds = cmds.select { |x| regexp.match(x) } # TODO: fix this
cmds = Feature::Commander.new(argv).subcommands.keys.map(&:to_s).sort.select { |x| regexp.match(x) }
puts cmds.join("\n") puts cmds.join("\n")
end end

View File

@@ -7,11 +7,8 @@ module Feature
argv.size == 1 argv.size == 1
end end
def usage def help
puts "feature trash"
puts "USAGE: feature trash"
puts
exit
end end
def execute def execute