class Solargraph::Diagnostics::UpdateErrors

def combine_ranges code, ranges

Returns:
  • (Array) -

Parameters:
  • ranges (Array) --
  • code (String) --
def combine_ranges code, ranges
  result = []
  lines = []
  ranges.sort{|a, b| a.start.line <=> b.start.line}.each do |rng|
    next if rng.nil? || lines.include?(rng.start.line)
    lines.push rng.start.line
    next if rng.start.line >= code.lines.length
    scol = code.lines[rng.start.line].index(/[^\s]/) || 0
    ecol = code.lines[rng.start.line].length
    result.push Range.from_to(rng.start.line, scol, rng.start.line, ecol)
  end
  result
end

def diagnose source, api_map

def diagnose source, api_map
  result = []
  combine_ranges(source.code, source.error_ranges).each do |range|
    result.push(
      range: range.to_hash,
      severity: Diagnostics::Severities::ERROR,
      source: 'Solargraph',
      message: 'Syntax error'
    )
  end
  result
end