如何在模板文字中突出显示HTML语法?
我之前为崇高所写的这样的东西:
这是崇高版https://github.com/Microsoft/TypeScript-Sublime-Plugin/pull/189/files
我怎么能为Atom写同样的东西?
答案 0 :(得分:10)
我能够实现这一点,这是ts.cson
文件的要点
在我的系统上使用form atomcript插件:
/Users/amin/.atom/packages/atom-typescript/grammars/ts.cson
https://gist.github.com/aminroosta/509476f48f05f4b56db2c0748fedc8fd
这对于angular2开发非常有用,
这是包含html
和css
亮点的原子的屏幕截图:
我无法找到更好的正则表达式来匹配template:
和styles:[
,如果有人能提出更好的正则表达式,我会接受他们的答案。
ts.cson
文件中的重要更改是:
"template-html":
name: "meta.template.html.ts"
begin: "`<!---->"
beginCaptures:
"0":
name: "string.quoted.template.ts"
end:"`"
endCaptures:
"0":
name: "string.quoted.template.ts"
patterns: [
{
include: "text.html.basic"
}
]
"template-css":
name: "meta.template.css.ts"
begin: "`/\\*\\*/"
beginCaptures:
"0":
name: "string.quoted.template.ts"
end:"`"
endCaptures:
"0":
name: "string.quoted.template.ts"
patterns: [
{
include: "source.css"
}
]
找到解决方案:
"template-html":
name: "meta.template.html.ts"
begin: "(?<=template\\:)\\s*`"
beginCaptures:
"0":
name: "string.quoted.template.ts"
end:"`"
endCaptures:
"0":
name: "string.quoted.template.ts"
patterns: [
{
include: "text.html.basic"
}
]
"template-css":
name: "meta.template.css.ts"
begin: "(?<=styles\\:)\\s*(\\[)\\s*(`)"
beginCaptures:
"2":
name: "string.quoted.template.ts"
end:"`"
endCaptures:
"0":
name: "string.quoted.template.ts"
patterns: [
{
include: "source.css"
}
]
以下是更新的屏幕截图: