#!/usr/bin/ruby

require_relative '../lib/abtion_scripts'

# Require any overrides or additional hooks for abtion here
Dir.glob(".abtion/scripts/**/*.rb").each do |file|
  require File.expand_path(file)
end

script = ARGV.first

if ARGV.size == 0
  AbtionScripts::Help.run
elsif AbtionScripts::Base.script_names.include?(script)
  AbtionScripts::Base
    .scripts[script]
    .run(*ARGV[1 .. -1])
else
  puts "Script '#{script}' not recognized"
  AbtionScripts::Help.run

  similar_commands = Levenstein.closest_match(script, AbtionScripts::Base.script_names)
  puts
  puts "Did you mean #{similar_commands.map{|c|"`#{c}`"}.join(' or ')} ?"
  puts
end
