mirror of
https://github.com/Ionaru/easy-markdown-editor
synced 2025-07-03 08:04:29 -06:00
list toggle
This commit is contained in:
parent
6abda7ab68
commit
c849cc95b2
@ -896,13 +896,16 @@ function _toggleLine(cm, name) {
|
|||||||
if(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))
|
if(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
var listRegexp = /^(\s*)(\*|\-|\+|\d*\.)(\s+)/;
|
||||||
|
var whitespacesRegexp = /^\s*/;
|
||||||
|
|
||||||
var stat = getState(cm);
|
var stat = getState(cm);
|
||||||
var startPoint = cm.getCursor("start");
|
var startPoint = cm.getCursor("start");
|
||||||
var endPoint = cm.getCursor("end");
|
var endPoint = cm.getCursor("end");
|
||||||
var repl = {
|
var repl = {
|
||||||
"quote": /^(\s*)\>\s+/,
|
"quote": /^(\s*)\>\s+/,
|
||||||
"unordered-list": /^(\s*)(\*|\-|\+)\s+/,
|
"unordered-list": listRegexp,
|
||||||
"ordered-list": /^(\s*)\d+\.\s+/
|
"ordered-list": listRegexp,
|
||||||
};
|
};
|
||||||
var map = {
|
var map = {
|
||||||
"quote": ">",
|
"quote": ">",
|
||||||
@ -915,7 +918,16 @@ function _toggleLine(cm, name) {
|
|||||||
if(stat[name]) {
|
if(stat[name]) {
|
||||||
text = text.replace(repl[name], "$1");
|
text = text.replace(repl[name], "$1");
|
||||||
} else {
|
} else {
|
||||||
text = map[name] + text;
|
var arr = listRegexp.exec(text);
|
||||||
|
if (arr !== null && arr[1]) {
|
||||||
|
var char = map[name];
|
||||||
|
if (arr[2] && arr[2] == map[name]) {
|
||||||
|
char = '';
|
||||||
|
}
|
||||||
|
text = arr[1] + char + arr[3] +text.replace(whitespacesRegexp, '').replace(repl[name], "$1") ;
|
||||||
|
} else {
|
||||||
|
text = map[name] + ' ' + text
|
||||||
|
}
|
||||||
}
|
}
|
||||||
cm.replaceRange(text, {
|
cm.replaceRange(text, {
|
||||||
line: i,
|
line: i,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user