Сопоставитель скобок с использованием JFlex

Я пишу плагин IntelliJ.

Одной из функций должно быть сопоставление фигурных скобок. Я уже сделал учебник по плагинам от JetBrains. И я также получил сопоставление фигурных скобок, работающее с этим регулярным выражением [^@\*\{\}\(\)\$\.]*, поэтому лексер сопоставляет все, кроме этих символов. Так что брекет-сопоставитель может работать.

Но теперь у меня новая проблема.

Некоторые отдельные части кода разделены. Поэтому каждый раз, когда есть { или }, код разбивается.

Это большая проблема для JavaScript, потому что средство форматирования уничтожает код.

Мой вопрос: как мне заставить работать сопоставление фигурных скобок и сохранить правильное форматирование JavaScript?


person CrustyCheese    schedule 26.10.2016    source источник


Ответы (1)


Ваш лексер должен соответствовать всему тексту файла. Вы должны генерировать токены для каждого из символов скобок.

person sylvanaar    schedule 29.10.2016