bin/menu
#!/usr/bin/env ruby
require 'menu_commander'
require 'colsole'
include Colsole
router = MenuCommander::CLI.router
begin
exit router.run ARGV
rescue MenuCommander::Interrupt, Interrupt => e
message = e.message
message = 'Interrupted... Goodbye' if message.empty?
say! "\n#{message}"
exit 0
rescue MenuCommander::Exit => e
say e.message if e.message
exit 0
rescue MenuCommander::MenuNotFound => e
say! e.message
if e.paths && e.config
message = "Looked for g`#{e.config}` in"
if e.paths.size == 1
message += " g`#{e.paths.first}`"
say! message
else
say! message
e.paths.each do |path|
say! "- g`#{path}`"
end
end
end
exit 1
rescue => e
puts e.backtrace.reverse if ENV['DEBUG']
say! "r`#{e.class}: #{e.message}`"
exit 1
end