| 1 |
(function() { |
| 2 |
'use strict'; |
| 3 |
|
| 4 |
var listRE = /^(\s*)([*+-]|(\d+)\.)(\s*)/, |
| 5 |
unorderedBullets = '*+-'; |
| 6 |
|
| 7 |
CodeMirror.commands.newlineAndIndentContinueMarkdownList = function(cm) { |
| 8 |
var pos = cm.getCursor(), |
| 9 |
inList = cm.getStateAfter(pos.line).list, |
| 10 |
match; |
| 11 |
|
| 12 |
if (!inList || !(match = cm.getLine(pos.line).match(listRE))) { |
| 13 |
cm.execCommand('newlineAndIndent'); |
| 14 |
return; |
| 15 |
} |
| 16 |
|
| 17 |
var indent = match[1], after = match[4]; |
| 18 |
var bullet = unorderedBullets.indexOf(match[2]) >= 0 |
| 19 |
? match[2] |
| 20 |
: (parseInt(match[3], 10) + 1) + '.'; |
| 21 |
|
| 22 |
cm.replaceSelection('\n' + indent + bullet + after, 'end'); |
| 23 |
}; |
| 24 |
|
| 25 |
}()); |
| 26 |
|