我使用 Smarty 生成html模板。我目前使用html突出显示,这是很好的,除了它不突出智能标签,ex {foreach}
我尝试安装Smarty软件包,但看起来不太好。
所以基本上我需要能够将大括号中的任何内容添加到标准HTML着色中。 如何做到这一点?
答案 0 :(得分:24)
@MattDMo是正确的,.tmTheme
文件是控制突出显示的主要文件。它是一个带有一系列正则表达式和标签的XML文件,表示哪个RegEx匹配哪种类型的语法元素。
您可以在GitHub上搜索并找到许多已经创建了包含.tmTheme
文件的Sublime Text包的人。请注意,您可以直接使用为TextMate创建的包,因为Sublime Text使用相同的约定。 (至少在.tmTheme
和.tmPreferences
文件的情况下都是如此。)
例如,我能够直接采用最初为TextMate制作的ChucK语言的语法高亮包,并使用它SublimeText2。 .tmTheme
通过复制TextMate使用的文件立即起作用。我刚删除了其他垃圾文件,然后对.tmTheme
进行了一些更改,并添加了对包管理器的支持。
在此处查看该项目:https://github.com/nathanleiby/ChucK.tmbundle。
包裹控制
理想情况下,您已经想要的语法包含在Sublime Text Package Control中可供下载。在Package Control中搜索并直接安装。 (如果您还没有Package Control,则必须获取它:https://github.com/wbond/package_control_channel/)
手动
如果您直接下载.tmTheme
文件或.tmBundle
,则需要将其复制到ST中相应的包文件夹中。请注意,有一个/Packages
文件夹和一个/Packages/User
文件夹。 ST2文档建议复制到后者,因为即使主数据库中的其他包在更新期间被删除/修改,也可以保证保留。
在OSX上,该目录为:~/Library/Application Support/Sublime Text 2/Packages/User/
(注意:您可能希望将git clone
包放入此文件夹,以便您可以轻松更新它。)
如果您想深入挖掘并自定义语法高亮显示,可以参考以下几个地方。
<ctrl> + <shift> + p
。每当您查看文件时,选择任何单词并按下此组合键,然后查看页脚栏。您应该看到一系列语法描述。例如:我刚刚在我正在查看的SQL文件中突出显示了一个单词,响应为:source.sql string.other.quoted.backtick.sql
。这可能很明显,但语法高亮的有用性与您在Sublime Text中选择的Color Scheme有关。 (Sublime Text 2 - &gt; Preferences - &gt; Color Scheme - &gt; ...)
我还没有机会详细探索/验证这一点,但似乎有些颜色方案可以区分更多/更少类型的语法元素。
由于这个原因,我强烈推荐“Monokai”配色方案(特别是“Monokai Soda”变体) - 它似乎“带出了色彩”。
答案 1 :(得分:2)
您可能需要修改.tmTheme
,为通过将语法设置为Smarty定义的范围添加自定义突出显示。 Smarty.tmlanguage
目录中应该有一个Packages/Smarty/Syntaxes
文件。它是XML,因此对于随意阅读来说可能有点难度,但是如果您了解正则表达式并且范围是智能命名的,那么您应该能够弄清楚如何修改主题。
答案 2 :(得分:2)
这很简单
<!--
,您会注意到(目前)有两个对“Smarty”的引用已被评论。取消评论这些。Smarty.tmLanguage
文件中搜索字符串 scopeName
。这实际上是一个关键字,相关的字符串应该是 text.html.smarty
。HTML.tmLanguage
代替 source.smarty
(您刚刚未评论的最后一个块末尾的键include
的字符串)就是这样。享受