模板文字中的Atom HTML语法高亮显示(对于angular2)

时间:2016-04-18 17:21:51

标签: angular ecmascript-6 atom-editor

如何在模板文字中突出显示HTML语法?

我之前为崇高所写的这样的东西:
这是崇高版https://github.com/Microsoft/TypeScript-Sublime-Plugin/pull/189/files
我怎么能为Atom写同样的东西?

enter image description here

1 个答案:

答案 0 :(得分:10)

我能够实现这一点,这是ts.cson文件的要点 在我的系统上使用form atomcript插件:
/Users/amin/.atom/packages/atom-typescript/grammars/ts.cson

https://gist.github.com/aminroosta/509476f48f05f4b56db2c0748fedc8fd

这对于angular2开发非常有用,
这是包含htmlcss亮点的原子的屏幕截图:

enter image description here

我无法找到更好的正则表达式来匹配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"
    }
  ]

以下是更新的屏幕截图:

enter image description here