From b4777adde6b68cdc640efd61147e0b57dd0f7044 Mon Sep 17 00:00:00 2001 From: gldrk Date: Wed, 29 Nov 2023 17:03:23 +0300 Subject: [PATCH] Formatting buttons: handle multiple paragraphs --- files/assets/js/formatting.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/files/assets/js/formatting.js b/files/assets/js/formatting.js index d58097913..3fb8b190a 100644 --- a/files/assets/js/formatting.js +++ b/files/assets/js/formatting.js @@ -34,12 +34,14 @@ var enclose = function(mark) { var re = new RegExp(escape(mark) + '(\\S[^]*?\\S|\\S)' + escape(mark), 'g'); return select(function(selection) { - var replacement = selection.replace(re, '$1'); - if (replacement.length == selection.length) - replacement = replacement.replace(/\S[^]*\S|\S/, function (str) { - return mark + str + mark; - }); - return replacement; + return selection.replace(/[^]*?(?=\n{2,})|[^]*/g, function(selection) { + var replacement = selection.replace(re, '$1'); + if (replacement.length == selection.length) + replacement = replacement.replace(/\S[^]*\S|\S/, function (str) { + return mark + str + mark; + }); + return replacement; + }); }); }; var quote = select(function(selection) {