Skip to content

Commit 5c06606

Browse files
leeoniyamarijnh
authored andcommitted
[continuelist addon] blockquote support for newlineAndIndentContinueMarkdownList
Closes #2874
1 parent 9758daa commit 5c06606

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

addon/edit/continuelist.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,20 @@
1111
})(function(CodeMirror) {
1212
"use strict";
1313

14-
var listRE = /^(\s*)([*+-]|(\d+)\.)(\s+)/,
15-
emptyListRE = /^(\s*)([*+-]|(\d+)\.)(\s*)$/,
14+
var listRE = /^(\s*)([> ]+|[*+-]|(\d+)\.)(\s+)/,
15+
emptyListRE = /^(\s*)([> ]+|[*+-]|(\d+)\.)(\s*)$/,
1616
unorderedBullets = "*+-";
1717

1818
CodeMirror.commands.newlineAndIndentContinueMarkdownList = function(cm) {
1919
if (cm.getOption("disableInput")) return CodeMirror.Pass;
2020
var ranges = cm.listSelections(), replacements = [];
2121
for (var i = 0; i < ranges.length; i++) {
2222
var pos = ranges[i].head, match;
23-
var inList = cm.getStateAfter(pos.line).list !== false;
23+
var eolState = cm.getStateAfter(pos.line);
24+
var inList = eolState.list !== false;
25+
var inQuote = eolState.quote !== false;
2426

25-
if (!ranges[i].empty() || !inList || !(match = cm.getLine(pos.line).match(listRE))) {
27+
if (!ranges[i].empty() || (!inList && !inQuote) || !(match = cm.getLine(pos.line).match(listRE))) {
2628
cm.execCommand("newlineAndIndent");
2729
return;
2830
}
@@ -36,7 +38,7 @@
3638

3739
} else {
3840
var indent = match[1], after = match[4];
39-
var bullet = unorderedBullets.indexOf(match[2]) >= 0
41+
var bullet = unorderedBullets.indexOf(match[2]) >= 0 || match[2].indexOf(">") >= 0
4042
? match[2]
4143
: (parseInt(match[3], 10) + 1) + ".";
4244

0 commit comments

Comments
 (0)