@marko/prettyprint
Version:
Prettyprint Marko template files in the syntax of your choice
35 lines (26 loc) • 579 B
JavaScript
;
var trim = require("./trim");
class Writer {
constructor(col) {
this.col = col == null ? 0 : col;
this.buffer = "";
}
write(str) {
var lastLineMatches = /\n([^\n]*)$/.exec(str);
if (lastLineMatches) {
this.col = lastLineMatches[1].length;
} else {
this.col += str.length;
}
this.buffer += str;
}
rtrim(completeRTrim = false) {
var trimmed = trim.rtrim(this.buffer, completeRTrim);
this.buffer = "";
this.write(trimmed);
}
getOutput() {
return this.buffer;
}
}
module.exports = Writer;