Codemirror - превосходная библиотека JS для окраски синтаксиса, подсветки и т. Д. Я создал очень простой «макро» язык для своего проекта и хочу использовать для него codemirror. Однако написание нового парсера режима / лексики для codemirror - непростая задача. Хорошие новости, однако, превосходная грамматика codemirror делает это относительно простой задачей, чтобы достичь этого, не будучи ниндзя регулярного выражения - он использует файл определения в формате JSON, который очень доступен с легкой кривой обучения. К сожалению, документы не невероятны.
У меня вопрос, как я могу сказать codemirror-грамматике, что список ключевых слов должен быть нечувствительным к регистру, например:
MacroVersion should be matched by 'macroversion'.
В настоящее время «Макроверсия» не выделяется. Изображение ниже.
Что я пробовал до сих пор: я посмотрел на исходный код для codemirror-грамматики и, хотя и не полностью понимая его, я подумал, что, похоже, есть токен, как показано ниже в выделении для чувствительности к регистру.
Я также рассмотрел другие примеры примеров языка codemirror-грамматики, но не нашел там решения "вырезать-вставить".
Исследования / другие вопросы SO для codemirror:
Автозаполнение CodeMirror: регистр при чувствительном поиске : Не дублируется, как это характерно для python mode.js и требует изменения исходного кода в файле режима, тогда как грамматика codemirror не имеет файла режима js.