Formatting buttons: handle multiple paragraphs

This commit is contained in:
gldrk 2023-11-29 17:03:23 +03:00
parent 1d48189eb1
commit b9be722f73

View file

@ -34,12 +34,14 @@
var enclose = function(mark) { var enclose = function(mark) {
var re = new RegExp(escape(mark) + '(\\S[^]*?\\S|\\S)' + escape(mark), 'g'); var re = new RegExp(escape(mark) + '(\\S[^]*?\\S|\\S)' + escape(mark), 'g');
return select(function(selection) { return select(function(selection) {
var replacement = selection.replace(re, '$1'); return selection.replace(/[^]*?(?=\n{2,})|[^]*/g, function(selection) {
if (replacement.length == selection.length) var replacement = selection.replace(re, '$1');
replacement = replacement.replace(/\S[^]*\S|\S/, function (str) { if (replacement.length == selection.length)
return mark + str + mark; replacement = replacement.replace(/\S[^]*\S|\S/, function (str) {
}); return mark + str + mark;
return replacement; });
return replacement;
});
}); });
}; };
var quote = select(function(selection) { var quote = select(function(selection) {