Markdown 模式代码镜像创建

Markdown mode codemirror creating

谁能帮我创建新的codemirror模式?

我需要将 {>1<}![title](site){>1<} 部分隐藏起来(放入特定 class 的范围内)

我该怎么做?

我试过类似的东西:

CodeMirror.defineSimpleMode("imageID", {
    start: [
       {regex: /(?:\{\>([^<]*)\<\})/gmi, token: "imageID"}
    ]
});

但它不起作用...知道为什么吗?

解法:

function findNext(lastPos){
    var text = /^\!\[([^\]]*)\]\(([^\)]*)\)+/;
    for (cursor = editor.getSearchCursor(text); cursor.findNext();)
        editor.replaceRange('{>'+(i++)+'<}',cursor.from(),cursor.from())
        cursor = editor.getSearchCursor(text, lastPos || editor.getCursor()); 
if (!cursor.findNext()){ 
   cursor = editor.getSearchCursor(text); 
    if (!cursor.findNext()) {return;}
}
    lastPos = cursor.to();
}

//------------------------------------

function findAloneIdx(lastPos){

    var text = /(\{\>([^<]*)\<\}\!?\[?)+/;
    for (cursor = editor.getSearchCursor(text); cursor.findNext();)
        if(editor.getRange(cursor.from(), cursor.to()).slice(-2) !== '![')
            editor.replaceRange('',cursor.from(),cursor.to())
        else
            editor.markText(cursor.from(), {line: cursor.to().line, ch:   cursor.to().ch-2}, {className: "styled-background"});
            cursor = editor.getSearchCursor(text, lastPos || editor.getCursor()); 
    if (!cursor.findNext()){ 
       cursor = editor.getSearchCursor(text); 
       if (!cursor.findNext()) {return;}
    }
    lastPos = cursor.to();
}