module Chronic

def tokens_to_span(tokens, options)

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