Merge pull request #2707 from jekyll/jekyll-help
This commit is contained in:
commit
d4fbf5c056
|
@ -0,0 +1,33 @@
|
||||||
|
module Jekyll
|
||||||
|
module Commands
|
||||||
|
class Help < Command
|
||||||
|
class << self
|
||||||
|
|
||||||
|
def init_with_program(prog)
|
||||||
|
prog.command(:help) do |c|
|
||||||
|
c.syntax 'help [subcommand]'
|
||||||
|
c.description 'Show the help message, optionally for a given subcommand.'
|
||||||
|
|
||||||
|
c.action do |args, _|
|
||||||
|
cmd = (args.first || "").to_sym
|
||||||
|
if args.empty?
|
||||||
|
puts prog
|
||||||
|
elsif prog.has_command? cmd
|
||||||
|
puts prog.commands[cmd]
|
||||||
|
else
|
||||||
|
invalid_command(prog, cmd)
|
||||||
|
abort
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def invalid_command(prog, cmd)
|
||||||
|
Jekyll.logger.error "Error:", "Hmm... we don't know what the '#{cmd}' command is."
|
||||||
|
Jekyll.logger.info "Valid commands:", prog.commands.keys.join(", ")
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue