小编emm*_*mma的帖子

覆盖语法定义中的范围?

我正在尝试为Sublime Text 3 编写胡子语法定义,但我遇到了HTML标记范围的问题.

任何胡子变量或部分在html标记之外都可以正常工作,但如果它们在里面,它们会根据标记的范围进行样式设置.

例如:

{{var}}
{{#block}}
    <div {{#enabled}}class="enabled"{{/enabled}} id="{{id}}"></div>
{{/block}}
Run Code Online (Sandbox Code Playgroud)

var并将block正确突出显示,但enabled将突出显示,就好像它是一个属性,并id作为一个字符串.

有没有办法让胡子变量和部分优先于HTML标签?

这是我的语法定义的YAML:

patterns:
- include: text.html.basic

- name: comment.block.mustache
  match: '\{\{!(.*?)\}\}'

- name: markup.mustache
  begin: '\{\{[&>#^] *(.*?) *\}\}'
  beginCaptures:
    '1': {name: entity.name.tag.mustache}
  end: '\{\{\/ *(\1) *\}\}'
  endCaptures:
    '1': {name: entity.name.tag.mustache}
  patterns:
  - include: $self
  - include: text.html.basic
    match: '[\s\S]'

- name: variable.mustache
  begin: '\{\{\{?'
  end: '\}?\}\}'
  captures:
    '0': {name: entity.name.tag.mustache}
Run Code Online (Sandbox Code Playgroud)

sublimetext sublimetext3

4
推荐指数
1
解决办法
376
查看次数

标签 统计

sublimetext ×1

sublimetext3 ×1