2015-04-06 4 views
1

Кто-нибудь может помочь мне создать новый режим для codemirror?Markdown mode codemirror создает

мне нужно поставить эту часть {>1<} из {>1<}![title](site) невидимых (в пролет с определенным классом)

Как я могу это сделать?

я судимое что-то вроде этого:

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

но это не работает ... Любые идеи, почему?

+0

режимы CodeMirror не может сделать текст невидимым. Для этого вам придется использовать метод markText. – Marijn

ответ

0

Решение:

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(); 
} 
Смежные вопросы