2
我想爲Sublime Text 3編寫一個mustache語法定義,但我遇到了HTML標記範圍的問題。覆蓋語法定義中的範圍?
任何鬍鬚變量或節在html標籤外都可以正常工作,但如果它們在裏面,它們將根據標籤的範圍進行樣式設計。
例如:就好像它是一個屬性,並id
作爲字符串
{{var}}
{{#block}}
<div {{#enabled}}class="enabled"{{/enabled}} id="{{id}}"></div>
{{/block}}
var
和block
將被適當地高亮顯示,但enabled
將被突出顯示。
有沒有辦法讓鬍子變量和部分優先於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}
謝謝!這工作正是我想要的方式。 – emma