Блокнот ++ развернуть / свернуть блоки кода для пользовательских языков

Я пытаюсь добавить синтаксический плагин для 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

0 ответов

Другие вопросы по тегам