Блокнот ++ развернуть / свернуть блоки кода для пользовательских языков
Я пытаюсь добавить синтаксический плагин для TAL (Transaction Application Language) в Notepad++
Я скачал xml-файл для TAL из http://docs.notepad-plus-plus.org/index.php/User_Defined_Language_Files и хранится в папке C:\Users[пользователь]\AppData\Roaming\Notepad++.
После описанного выше шага я перезапустил Notepad++ и увидел, что все ключевые слова выделены правильно, но разворачивание / разворачивание блоков не работает должным образом.
Загруженный XML-файл содержит следующие строки для кода развернуть / свернуть.
<Keywords name="Folders in code1, open">BEGIN ?nolist</Keywords>
<Keywords name="Folders in code1, middle"></Keywords>
<Keywords name="Folders in code1, close">END; ?list</Keywords>
Согласно приведенному выше xml-выражению, блок заканчивается в END; (Точка с запятой)
Синтаксис для условных операторов будет таким, как показано ниже:
IF CONDITION1 THEN
BEGIN
statements;
END;
IF CONDITION2 THEN
BEGIN
statements;
END -- no semicolon
ELSE IF CONDITION3 THEN
BEGIN
statements;
END;
Развернуть / свернуть работает хорошо для первого примера синтаксиса. Во втором синтаксисе первый BEGIN заканчивается на END; (точка с запятой), где, как и должно быть, заканчивается на END (без точки с запятой)
Я изменил третью строку
<Keywords name="Folders in code1, close">END ?list</Keywords>
и я начал видеть блок, заканчивающийся частичными словами как ниже.
IF CONDITION4 THEN
BEGIN
statements;
SENDTOSERVER(); -- ending here as END is present
statements;
END;
Изменение третьей строки на любую из нижеуказанных также привело к тому же результату.
<Keywords name="Folders in code1, close">END END; ?list</Keywords>
<Keywords name="Folders in code1, close">"END" "END;"?list</Keywords>
Как мне сопоставить конечные блоки с END или END; (полное слово). Я использую Notepad++ версии 7.2.2