class Cucumber::CucumberExpressions::CucumberExpressionError

def build_message(index, expression, pointer, problem, solution)

def build_message(index, expression, pointer, problem, solution)
  m = <<~ERROR
    This Cucumber Expression has a problem at column #{index + 1}:
    #{expression}
    #{pointer}
    #{problem}.
    #{solution}
  ERROR
  m.strip
end

def point_at(index)

def point_at(index)
  ' ' * index + '^'
end

def point_at_located(node)

def point_at_located(node)
  pointer = [point_at(node.start)]
  if node.start + 1 < node.end
    for _ in node.start + 1...node.end - 1
      pointer.push('-')
    end
    pointer.push('^')
  end
  pointer.join('')
end