
Я импортировал пользовательский язык для PL/SQL в Notepad++ и пытаюсь настроить подсветку синтаксиса. Я включил сворачивание кода для многострочных комментариев и изменил цвет фона во многих стилях.
Я не могу понять, как предотвратить выделение ключевого слова "IF" в имени процедуры "VERIFY_CHANGES()" как ключевого слова.
Другой пример — выделение ключевого слова "END" в имени переменной "V_END_DATE".
решение1
PL/SQL довольно сложно правильно проанализировать.Блокнот++используетСцинтилла, который делает это примерно в 900 строк кода — и специальные случаи, if
чтобы зайти так далеко. Глядя наФайл конфигурации,нет упоминания о пользовательской переменной — толькоключевые слова.
Для обработки этого синтаксиса так, как вам нужно, потребуются некоторые улучшения Scintilla.