From 5fb13d8047162111d2ed10067d509471933d20b1 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Mon, 22 Jul 2013 10:04:45 +0200 Subject: [PATCH] Create a default command to run help if there are no arguments but to fail with non-zero exit code if the command is invalid. Props to @ggilder. --- bin/jekyll | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/bin/jekyll b/bin/jekyll index 01f97cf9..fe61508e 100755 --- a/bin/jekyll +++ b/bin/jekyll @@ -12,7 +12,7 @@ program :name, 'jekyll' program :version, Jekyll::VERSION program :description, 'Jekyll is a blog-aware, static site generator in Ruby' -default_command :help +default_command :default global_option '-s', '--source [DIR]', 'Source directory (defaults to ./)' global_option '-d', '--destination [DIR]', 'Destination directory (defaults to ./_site)' @@ -33,6 +33,16 @@ def normalize_options(options) options end +command :default do |c| + c.action do |args, options| + if args.empty? + command(:help).run + else + Jekyll.logger.abort_with "Invalid command. Use --help for more information" + end + end +end + command :new do |c| c.syntax = 'jekyll new PATH' c.description = 'Creates a new Jekyll site scaffold in PATH'