配置Notepad ++以进行代码折叠

时间:2014-07-25 11:37:01

标签: configuration notepad++ folding

我有一个符合以下标准的文件:

# comment
<section> # comment
    {variant1,variant2,...}
        a="bar"
        b="b\\a\"r"
        [array]
        [+]
            elem="foo"
        [+]
            elem="bar"
        [/]
        c=."42"
        d=."xDebb1eD0e5Da11a5"
        e=."%101010"
        f=@"xaa bb cc dd"
    {/}
</>

我已经定义了一种新的语言&#39;在Notepad ++中,我的语法突出显示效果很好:

Comment Line Style -> Open: # (red)

Operator Style -> Operators 1: = (yellow)

Operator Style -> Delimiter 1 -> Open  : <  (yellow)
                              -> Close : >
                  Delimiter 2 -> Open  : [+ (blue)
                              -> Close : ]
                  Delimiter 3 -> Open  : {  (orange)
                              -> Close : }
                  Delimiter 4 -> Open  : "  (cyan)
                              -> Escape: \
                              -> Close : "
                  Delimiter 5 -> Open  : ." (lime)
                              -> Close : "
                  Delimiter 6 -> Open  : @" (green)
                              -> Close : "
                  Delimiter 7 -> Open  : [  (purple)
                              -> Close : ]

...但经过多次搜索和阅读后,我无法弄清楚如何让Notepad ++ / Scintilla折叠[array],{variant}和&lt; section&gt;文件的块(运行到几千行)。

我注意到如果我将文件突出显示为HTML,那么任何标记(html,body,foo,wibble等)都会按预期折叠 - 我将在此处将其视为&lt; section&gt;,{variant}和[数组]名称是任意的。

我已经知道如果一个角色被定义为分隔符,折叠者将拒绝折叠任何以该角色开头的字符串。

我的问题:关于这种文件格式,如何根据这些规则将Notepad ++折叠起来:

Rule 1 -> Starts with: <*>
          Ends   with: </>
Rule 2 -> Starts with: {*}
          Ends   with: {/}
Rule 3 -> Starts with: [*] but not [+]
          Ends   with: [/]

0 个答案:

没有答案