class Solargraph::Source::Change

def write text, nullable = false

Returns:
  • (String) - The updated text.

Parameters:
  • nullable (Boolean) -- If true, minor changes that could generate
  • text (String) -- The text to be changed.
def write text, nullable = false
  if nullable and !range.nil? and new_text.match(/[\.\[\{\(@\$:]$/)
    [':', '@'].each do |dupable|
      next unless new_text == dupable
      offset = Position.to_offset(text, range.start)
      if text[offset - 1] == dupable
        p = Position.from_offset(text, offset - 1)
        r = Change.new(Range.new(p, range.start), ' ')
        text = r.write(text)
      end
      break
    end
    commit text, "#{new_text[0..-2]} "
  elsif range.nil?
    new_text
  else
    commit text, new_text
  end
end