Jeroen Akkerman 5 years ago
commit c429efaff1

@ -988,20 +988,14 @@ function _toggleLine(cm, name) {
var map = {
'quote': '>',
'unordered-list': '*',
'ordered-list': 'd+.',
'ordered-list': '\\d+.',
};
var rt = new RegExp(map[name]);
return char && rt.test(char);
};
var line = 1;
for (var i = startPoint.line; i <= endPoint.line; i++) {
(function (i) {
var text = cm.getLine(i);
if (stat[name]) {
text = text.replace(repl[name], '$1');
} else {
var _toggle = function (name, text, untoggleOnly) {
var arr = listRegexp.exec(text);
var char = _getChar(name, line);
if (arr !== null) {
@ -1009,9 +1003,26 @@ function _toggleLine(cm, name) {
char = '';
}
text = arr[1] + char + arr[3] + text.replace(whitespacesRegexp, '').replace(repl[name], '$1');
} else {
} else if (untoggleOnly == false){
text = char + ' ' + text;
}
return text;
};
var line = 1;
for (var i = startPoint.line; i <= endPoint.line; i++) {
(function (i) {
var text = cm.getLine(i);
if (stat[name]) {
text = text.replace(repl[name], '$1');
} else {
// If we're toggling unordered-list formatting, check if the current line
// is part of an ordered-list, and if so, untoggle that first.
// Workaround for https://github.com/Ionaru/easy-markdown-editor/issues/92
if (name == 'unordered-list') {
text = _toggle('ordered-list', text, true);
}
text = _toggle(name, text, false);
line += 1;
}
cm.replaceRange(text, {

Loading…
Cancel
Save