我发现这篇帖子是 8 年前的. 结论是,在使用 begin / end 而不是括号的语言中,代码块的语法高亮需要为 NPP 编写自定义 Lexer。
下面是 Windows 上 NPP 7.8.6 的一个示例,显示了 Pascal 的突出显示:
光标位于 上begin
,但没有突出显示或其他指示相应的end
。如上文所述,NPP 已经“知道” begin 和 end 是一起的(它将根据它们折叠一个块),如带有“-”控件的红色块结构线所示。
光标位于foreach
循环的左括号上,相应的右括号也会突出显示。
没有“开始/结束突出显示样式”的设置,并且上面的代码示例显示 NPP 不会将开始/结束对与括号一样用于突出显示。
在 Pascal 语言中,begin
和end
被列为众多“指令字”之一,并相应地用颜色标出。但我找不到任何可以表明它们在代码结构中的作用的东西。
有人写过可以匹配该类语言中的开始/结束对的自定义词法分析器吗?或者它是否已在当前版本中得到支持,但通过一个不太明显的功能?
答案1
支持 Pascal 和 Verilog
结论是,在使用 begin / end 而不是括号的语言中,代码块的语法高亮需要编写自定义的 Lexer
根据编程语言 | Notepad++ 用户手册Pascal 和 Verilog 都已受支持。
Notepad++ 支持语法高亮(可定制)、语法折叠、自动完成(可定制)、函数列表(可通过 xml 文件中的 PCRE 定制)。
如果您喜欢的语言不在以上列表中,您可以使用用户定义语言系统轻松地定义自己的语言。