我开始使用MeteorJS,它要求Handlebars模板以* .html结尾。
你不能使用* .hbs,否则Meteor会抛出错误。
我想简单地使用* .hbs.html,因此Meteor不会引发异常,我会同时获得Handlebars的语法高亮显示。如何自定义Sublime以将* .hbs.html识别为Handlebars语法?
更新:
这是我的ApplySyntax代码(尚未正常工作):
"syntaxes": [
{
"name": "Handlebars",
"match": "all",
"rules": [
{"file_name": ".hbs.html$"}
]
}
]
答案 0 :(得分:4)
在ApplySyntax中尝试:
"syntaxes": [
{
"name": "Handlebars/Handlebars",
"extensions": ["hbs.html"]
}
]
密钥在name
中 - 您需要指定软件包的名称以及该软件包中.tmLanguage
文件(不包括扩展名)的路径。在这种情况下,我认为它位于Handlebars包的根目录中,因此这应该可行。
如果您需要其他扩展,只需将它们添加到该数组中,或者如果您需要更复杂的匹配,您可以使用正则表达式,如其他答案中所述(或两者的组合)。
答案 1 :(得分:2)
默认情况下,Sublime Text仅使用最后一个扩展部分来检测语法,在您的情况下,它是html
。
有一个名为ApplySyntax的插件可以检测文件名的任何部分的语法,例如hbs.html
,除了其他内容之外 - 请参阅默认设置文件以获取示例。
ApplySyntax配置应该类似于
"syntaxes": [
{
"name": "Handlebars",
"rules": [
{"file_name": ".*\\.hbs\\.html$"}
]
}
]
答案 2 :(得分:2)
我能够在没有任何额外包裹的情况下使用它。我使用的是Sublime Text 3 Build 3126。
根据需要更改扩展名,例如:
{
"extensions":
[
"hbs.html"
]
}
保存语法设置文件