【发布时间】:2012-01-24 10:35:19
【问题描述】:
我最近一直在 TWIG 进行开发。它是一种非常简单和健壮的html模板语言。
我已将 notepad++ 设置为自动将 .twig 文件视为 html。这没关系,但我的树枝函数上没有任何语法突出显示。
twig 语法非常简单(按设计),很容易添加到 notepad++。问题是,我在这个主题上找到的一切要么是关于创建新的语言定义(我不想重新发明 html 定义),要么是修改语言中现有语法位的颜色。
有没有办法复制语言定义,然后在notepad++中修改它?如果没有,notepad++ 中是否有任何方法可以在现有语言定义中添加额外的语法位?
编辑
TWIG 是一种 html 模板语言/引擎。它们的语法与 html 相同,只是为控制语句添加了一些打开/关闭标签(特别是 {% %}、{{ }} 和 {# #})。你可以在the twig website阅读更多关于它的信息
编辑#2
根据 Brian Deragon 的回答,我一直在调查 3 个文件。到目前为止,我已经弄清楚/做了什么:
- \plugins\APIs\html.xml - 似乎定义了关键字,用于自动完成。我复制了一个名为 twig.xml 的文件
- langs.model.xml - 同样是关键字列表,所有语言都在 1 个 XML 文件中。我复制了 HTML 对象,并用 twig 替换了 name 和 ext 参数。
- stylers.model.xml - 有一个不同项目的列表,以及每个项目的样式信息(颜色、背景颜色、字体等)。我复制了 HTML 部分并将 name 和 desc 参数更改为 twig。
这些更改完成后,我在 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 足够相似的引擎,我可以对其进行调整。
【问题讨论】:
标签: syntax-highlighting notepad++ twig