我最近一直在 TWIG 中进行开发。它是一种非常简单和健壮的 html 模板语言。
我已将 notepad++ 设置为自动将 .twig 文件视为 html。没关系,但是我的 Twig 函数没有任何语法高亮显示。
twig 语法非常简单(按设计)并且很容易添加到 Notepad++ 。问题是,我在这个主题上找到的一切要么是关于创建新的语言定义(我不想重新发明 html 定义),要么是修改语言中现有语法位的颜色。
有没有办法复制语言定义然后在 Notepad++ 中修改它?如果没有, Notepad++ 中是否有任何方法可以向现有语言定义添加额外的语法位?
编辑
TWIG 是一种 html 模板语言/引擎。它们的语法与 html 相同,但为控制语句添加了一些打开/关闭标记(特别是 {% %}、{{ }} 和 {# #})。你可以在 the twig website 阅读更多关于它的信息
编辑 #2
根据 Brian Deragon 的回答,我一直在调查 3 个文件。继承人到目前为止我想出/做的:
完成这些更改后,我在 notepad++ 中打开了一个 twig 文件,希望能在语言选项中看到它。可悲的是,它没有出现,让我相信其中一些是硬编码的(因此我想要的可能是不可能的)。
不过,stylers.model.xml 很有趣。每个条目都有一堆项目,定义如下:
<LexerType name="twig" desc="TWIG" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="9" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TAG" styleID="1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TAGEND" styleID="11" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
...
</LexerType>
这些似乎是为不同元素定义样式的地方。我找不到定义这些元素的任何地方。 langs.model.xml 有注释开始/结束的定义,但没有用于任何其他分隔符。我真正需要的是一个地方告诉 Notepad++ 将 { } 视为分隔符,就像它现在对 < > 所做的一样。
编辑 #3
我也在查看 Notepad++ 的用户定义语言列表 http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=User_Defined_Language_Files
用户定义的语言使用不同的引擎,但我可能能够在其中找到一个与 html 足够相似的引擎,以便我可以对其进行调整。
最佳答案
我在这里为它制作了一个荧光笔:
https://github.com/Banane9/notepadplusplus-twig
关于syntax-highlighting - 在 Notepad++ 中扩展语言定义(用于代码突出显示),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8575865/