Я только что реализовал простой режим для распознавания латексного кода.Вот пример кода, который можно выделить:
\documentclass{test}
Там должно быть все синее, кроме «теста», которое должно быть фиолетовым.Вот как моя реализация выглядит как atm:
const CodeMirror = require('codemirror')
CodeMirror.defineSimpleMode("simplemode", {
start: [
{
regex: /(?<=\{).+?(?=\})/,
token: 'argument'
},
{
regex: /%.*/,
token: 'comment'
},
/*{
regex: /\\.*{.*}/,
token: 'tag'
},*/
{
regex: /\$.*\$/,
token: 'math'
}
],
meta: {
dontIndentStates: [],
lineComment: '%'
}
})
Я удалил часть тега, потому что я думал, что он будет перекрываться с тегом.В любом случае, даже если все регулярные выражения совпадают идеально в тестерах регулярных выражений для javascript, просмотр вперед и просмотр назад не работают.Есть ли обходной путь, исправление, ошибка?