Notepad ++展开/折叠用户定义语言的代码块

时间:2017-02-21 14:41:06

标签: xml xml-parsing notepad++ tal udl2

我正在尝试在Notepad ++中添加TAL(事务应用程序语言)的语法插件

我已从http://docs.notepad-plus-plus.org/index.php/User_Defined_Language_Files下载了TAL的xml文件,并保存在C:\ Users [user] \ 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 ++ version 7.2.2

0 个答案:

没有答案