37 lines
1.1 KiB
Ruby
37 lines
1.1 KiB
Ruby
require 'thor'
|
|
require 'guard/version'
|
|
|
|
module Guard
|
|
class CLI < Thor
|
|
default_task :start
|
|
|
|
desc "start", "Starts guard"
|
|
method_option :clear, :type => :boolean, :default => false, :aliases => '-c', :banner => "Auto clear shell after each change"
|
|
def start
|
|
::Guard.start(options)
|
|
end
|
|
|
|
desc "version", "Prints the guard's version information"
|
|
def version
|
|
::Guard::UI.info "Guard version #{Guard::VERSION}"
|
|
end
|
|
map %w(-v --version) => :version
|
|
|
|
desc "init [GUARD]", "Generates a Guardfile into the current working directory, or add it given guard"
|
|
def init(guard_name = nil)
|
|
if !File.exist?("Guardfile")
|
|
puts "Writing new Guardfile to #{Dir.pwd}/Guardfile"
|
|
FileUtils.cp(File.expand_path('../templates/Guardfile', __FILE__), 'Guardfile')
|
|
elsif guard_name.nil?
|
|
::Guard::UI.error "Guardfile already exists at #{Dir.pwd}/Guardfile"
|
|
exit 1
|
|
end
|
|
|
|
if guard_name
|
|
guard_class = ::Guard.get_guard_class(guard_name)
|
|
guard_class.init(guard_name)
|
|
end
|
|
end
|
|
|
|
end
|
|
end |