是否有人为“开始/结束”块语言(如 Verilog 和 Pascal)开发过 Notepad++ Lexer?

是否有人为“开始/结束”块语言(如 Verilog 和 Pascal)开发过 Notepad++ Lexer?

我发现这篇帖子是 8 年前的. 结论是,在使用 begin / end 而不是括号的语言中,代码块的语法高亮需要为 NPP 编写自定义 Lexer。

下面是 Windows 上 NPP 7.8.6 的一个示例,显示了 Pascal 的突出显示:

在此处输入图片描述

光标位于 上begin,但没有突出显示或其他指示相应的end。如上文所述,NPP 已经“知道” begin 和 end 是一起的(它将根据它们折叠一个块),如带有“-”控件的红色块结构线所示。

相比之下,这里是 NPP 显示 Perl: 在此处输入图片描述

光标位于foreach循环的左括号上,相应的右括号也会突出显示。

在 NPP 样式配置器中,括号突出显示位于“全局样式”下 在此处输入图片描述

没有“开始/结束突出显示样式”的设置,并且上面的代码示例显示 NPP 不会将开始/结束对与括号一样用于突出显示。

在此处输入图片描述

在 Pascal 语言中,beginend被列为众多“指令字”之一,并相应地用颜色标出。但我找不到任何可以表明它们在代码结构中的作用的东西。

有人写过可以匹配该类语言中的开始/结束对的自定义词法分析器吗?或者它是否已在当前版本中得到支持,但通过一个不太明显的功能?

答案1

支持 Pascal 和 Verilog

结论是,在使用 begin / end 而不是括号的语言中,代码块的语法高亮需要编写自定义的 Lexer

根据编程语言 | Notepad++ 用户手册Pascal 和 Verilog 都已受支持。

Notepad++ 支持语法高亮(可定制)、语法折叠、自动完成(可定制)、函数列表(可通过 xml 文件中的 PCRE 定制)。

如果您喜欢的语言不在以上列表中,您可以使用用户定义语言系统轻松地定义自己的语言。

在此处输入图片描述

相关内容