summaryrefslogtreecommitdiff
path: root/bin/leap
diff options
context:
space:
mode:
Diffstat (limited to 'bin/leap')
-rwxr-xr-xbin/leap26
1 files changed, 20 insertions, 6 deletions
diff --git a/bin/leap b/bin/leap
index 47dfdf9..e42b8c2 100755
--- a/bin/leap
+++ b/bin/leap
@@ -3,13 +3,20 @@
if ARGV.include?('--debug') || ARGV.include?('-d')
DEBUG=true
begin
- require 'debugger'
+ if RUBY_VERSION =~ /^2/
+ require 'byebug'
+ else
+ require 'debugger'
+ end
rescue LoadError
end
else
DEBUG=false
end
+LEAP_CLI_BASE_DIR = File.expand_path('..', File.dirname(File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__))
+ORIGINAL_ARGV = ARGV.dup
+
begin
require 'leap_cli'
rescue LoadError
@@ -24,8 +31,7 @@ rescue LoadError
# This allows you to run the command directly while developing the gem, and also lets you
# run from anywhere (I like to link 'bin/leap' to /usr/local/bin/leap).
#
- base_dir = File.expand_path('..', File.dirname(File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__))
- require File.join(base_dir, 'lib','leap_cli','load_paths')
+ require File.join(LEAP_CLI_BASE_DIR, 'lib','leap_cli','load_paths')
require 'leap_cli'
end
@@ -77,9 +83,16 @@ module LeapCli::Commands
program_desc LeapCli::SUMMARY
program_long_desc LeapCli::DESCRIPTION
- # handle --version ourselves
+ # handle --version ourselves (and not GLI)
if ARGV.grep(/--version/).any?
puts "leap #{LeapCli::VERSION}, ruby #{RUBY_VERSION}"
+ begin
+ commands_from('leap_cli/commands')
+ initialize_leap_cli(false, {:verbose => 2})
+ rescue StandardError => exc
+ puts exc.to_s
+ raise exc if DEBUG
+ end
exit(0)
end
@@ -88,9 +101,10 @@ module LeapCli::Commands
def error_message(msg)
end
- # load commands and run
+ # load commands
commands_from('leap_cli/commands')
- ORIGINAL_ARGV = ARGV.dup
+
+ # run command
begin
exit_status = run(ARGV)
exit(LeapCli::Util.exit_status || exit_status)