class Listen::Forwarder

def initialize(options)

def initialize(options)
  @options = options
  @logger = ::Logger.new(STDOUT, level: ::Logger::INFO)
  @logger.formatter = proc { |_, _, _, msg| "#{msg}\n" }
end

def start

def start
  logger.info 'Starting listen...'
  directory = @options[:directory]
  relative = @options[:relative]
  callback = proc do |modified, added, removed|
    if @options[:verbose]
      logger.info "+ #{added}" unless added.empty?
      logger.info "- #{removed}" unless removed.empty?
      logger.info "> #{modified}" unless modified.empty?
    end
  end
  listener = Listen.to(*directory, relative: relative, &callback)
  listener.start
  sleep 0.5 while listener.processing?
end