module Chronic

def tokens_to_span(tokens, options)

def tokens_to_span(tokens, options)
  definitions = definitions(options)
  (definitions[:date] + definitions[:endian]).each do |handler|
    if handler.match(tokens, definitions)
      puts "-date" if Chronic.debug
      good_tokens = tokens.select { |o| !o.get_tag Separator }
      return Handlers.send(handler.handler_method, good_tokens, options)
    end
  end
  definitions[:anchor].each do |handler|
    if handler.match(tokens, definitions)
      puts "-anchor" if Chronic.debug
      good_tokens = tokens.select { |o| !o.get_tag Separator }
      return Handlers.send(handler.handler_method, good_tokens, options)
    end
  end
  definitions[:arrow].each do |handler|
    if handler.match(tokens, definitions)
      puts "-arrow" if Chronic.debug
      tags = [SeparatorAt, SeparatorSlashOrDash, SeparatorComma]
      good_tokens = tokens.reject { |o| tags.any? { |t| o.get_tag(t) } }
      return Handlers.send(handler.handler_method, good_tokens, options)
    end
  end
  definitions[:narrow].each do |handler|
    if handler.match(tokens, definitions)
      puts "-narrow" if Chronic.debug
      good_tokens = tokens.select { |o| !o.get_tag Separator }
      return Handlers.send(handler.handler_method, tokens, options)
    end
  end
  puts "-none" if Chronic.debug
  return nil
end