Method: Textbringer::ProgrammingMode#reindent_then_newline_and_indent

Defined in:
lib/textbringer/modes/programming_mode.rb

#reindent_then_newline_and_indentObject



60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/textbringer/modes/programming_mode.rb', line 60

def reindent_then_newline_and_indent
  @buffer.composite_edit do
    indent_line
    @buffer.save_excursion do
      pos = @buffer.point
      @buffer.beginning_of_line
      if /\A[ \t]+\z/.match?(@buffer.substring(@buffer.point, pos))
        @buffer.delete_region(@buffer.point, pos)
      end
    end
    @buffer.insert("\n")
    indent_line
  end
end