From e618715636a3bd60930bea34d214b3aaf8e9e766 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sun, 26 Oct 2014 12:37:59 -0700 Subject: Require space before closing # sequence in ATX header. Closes #169. --- js/lib/blocks.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/lib/blocks.js') diff --git a/js/lib/blocks.js b/js/lib/blocks.js index 109661f..175cc2a 100644 --- a/js/lib/blocks.js +++ b/js/lib/blocks.js @@ -366,7 +366,7 @@ var incorporateLine = function(ln, line_number) { container.level = match[0].trim().length; // number of #s // remove trailing ###s: container.strings = - [ln.slice(offset).replace(/(?:(\\#) *#*| *#+) *$/,'$1')]; + [ln.slice(offset).replace(/^ *#+ *$/, '').replace(/ +#+ *$/,'')]; break; } else if ((match = ln.slice(first_nonspace).match(/^`{3,}(?!.*`)|^~{3,}(?!.*~)/))) { -- cgit v1.2.3 From 45ca1bc3867a48c75a6c464cf2420e25a8ef74c6 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Thu, 30 Oct 2014 22:19:12 -0700 Subject: js/lib/blocks: Made matchAt return -1 instead of null on no match. --- js/lib/blocks.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'js/lib/blocks.js') diff --git a/js/lib/blocks.js b/js/lib/blocks.js index 175cc2a..791b74f 100644 --- a/js/lib/blocks.js +++ b/js/lib/blocks.js @@ -25,13 +25,13 @@ var detabLine = function(text) { }; // Attempt to match a regex in string s at offset offset. -// Return index of match or null. +// Return index of match or -1. var matchAt = function(re, s, offset) { var res = s.slice(offset).match(re); if (res) { return offset + res.index; } else { - return null; + return -1; } }; @@ -218,7 +218,7 @@ var incorporateLine = function(ln, line_number) { container = last_child; match = matchAt(/[^ ]/, ln, offset); - if (match === null) { + if (match === -1) { first_nonspace = ln.length; blank = true; } else { @@ -326,10 +326,10 @@ var incorporateLine = function(ln, line_number) { container.t != 'IndentedCode' && container.t != 'HtmlBlock' && // this is a little performance optimization: - matchAt(/^[ #`~*+_=<>0-9-]/,ln,offset) !== null) { + matchAt(/^[ #`~*+_=<>0-9-]/,ln,offset) !== -1) { match = matchAt(/[^ ]/, ln, offset); - if (match === null) { + if (match === -1) { first_nonspace = ln.length; blank = true; } else { @@ -380,7 +380,7 @@ var incorporateLine = function(ln, line_number) { offset = first_nonspace + fence_length; break; - } else if (matchAt(reHtmlBlockOpen, ln, first_nonspace) !== null) { + } else if (matchAt(reHtmlBlockOpen, ln, first_nonspace) !== -1) { // html block closeUnmatchedBlocks(this); container = this.addChild('HtmlBlock', line_number, first_nonspace); @@ -396,7 +396,7 @@ var incorporateLine = function(ln, line_number) { container.level = match[0][0] === '=' ? 1 : 2; offset = ln.length; - } else if (matchAt(reHrule, ln, first_nonspace) !== null) { + } else if (matchAt(reHrule, ln, first_nonspace) !== -1) { // hrule closeUnmatchedBlocks(this); container = this.addChild('HorizontalRule', line_number, first_nonspace); @@ -435,7 +435,7 @@ var incorporateLine = function(ln, line_number) { // appropriate container. match = matchAt(/[^ ]/, ln, offset); - if (match === null) { + if (match === -1) { first_nonspace = ln.length; blank = true; } else { -- cgit v1.2.3