class BufferWriter
def initialize() self.writer = new FileWriter() end defm set_output_file(output_file) self.writer.set_output_file(output_file) end defm write(line) self.writer.write(line) line = self.strip_colors(line) append(line('$'), line) :normal gJ end defm writeln(line) self.writer.writeln(line) line = self.strip_colors(line) append(line('$'), line) :normal G end defm flush() self.writer.flush() end defm flush_line() self.writer.flush_line() end " private methods def strip_colors(line) return substitute(line, '\e\[[0-9;]\+[mK]', '', 'g') end
end