faster output of comments

This commit is contained in:
alexlamsl 2018-01-18 02:12:56 +08:00
parent 07e4b64f3a
commit e23eeb95ed

View File

@ -451,6 +451,11 @@ function OutputStream(options) {
return OUTPUT;
};
function has_nlb() {
var index = OUTPUT.lastIndexOf("\n");
return /^ *$/.test(OUTPUT.slice(index + 1));
}
function prepend_comments(node) {
var self = this;
var start = node.start;
@ -499,7 +504,7 @@ function OutputStream(options) {
comments = comments.filter(comment_filter, node);
if (comments.length == 0) return;
var last_nlb = /(^|\n) *$/.test(OUTPUT);
var last_nlb = has_nlb();
comments.forEach(function(c, i) {
if (!last_nlb) {
if (c.nlb) {
@ -546,7 +551,7 @@ function OutputStream(options) {
print("\n");
indent();
need_newline_indented = false;
} else if (c.nlb && (i > 0 || !/(^|\n) *$/.test(OUTPUT))) {
} else if (c.nlb && (i > 0 || !has_nlb())) {
print("\n");
indent();
} else if (i > 0 || !tail) {