|
|
- scopeName: 'source.riot'
- name: 'HTML (Riotjs)'
- fileTypes: [
- 'riot'
- ]
- patterns: [
-
- # HTML -------------------------------
- {
- name: 'meta.tag.any.html'
- begin: '(</?)([a-zA-Z0-9_-]+)'
- beginCaptures:
- '1':
- name: 'punctuation.definition.tag.begin.html'
- '2':
- name: 'entity.name.tag.any.html'
- end: '>'
- endCaptures:
- '0':
- name: 'punctuation.definition.tag.end.html'
- patterns: [
- { 'include': '#riotExpressions' }
- { 'include': '#tagStuff' }
- ]
- }
- # ------------------------------- HTML
-
- # Script -------------------------------
- {
- name: "source.js.embedded.html"
- begin: "(?:^\\s+)?(<)((?i:script))\\b(?![^>]*/>|lang=[\"'].*[\"'])"
- beginCaptures:
- "1":
- name: "punctuation.definition.tag.html"
- "2":
- name: "entity.name.tag.script.html"
- end: "(?<=</(script|SCRIPT))(>)(?:\\s*\\n)?"
- endCaptures:
- "2":
- name: "punctuation.definition.tag.html"
- patterns: [
- {
- include: "#tag-stuff"
- }
- {
- begin: "(?<!</(?:script|SCRIPT))(>)"
- end: "(</)((?i:script))"
- captures:
- "1":
- name: "punctuation.definition.tag.html"
- "2":
- name: "entity.name.tag.script.html"
- patterns: [
- {
- name: "comment.line.double-slash.js"
- begin: "//"
- end: "$|(?=</script)"
- captures:
- "1":
- name: "punctuation.definition.comment.js"
- }
- {
- name: "comment.block.js"
- begin: "/\\*"
- end: "\\*/|(?=</script)"
- captures:
- "0":
- name: "punctuation.definition.comment.js"
- }
- {
- include: "source.js"
- }
- ]
- }
- ]
- }
- # ------------------------------- Script
-
- # Style ------------------------------
- # Pure CSS
- {
- contentName: 'source.css.embedded.html'
- begin: '(?:^\\s+)?(<)(style)\\b(?![^>]*(?:(?:/>)|(?:type="(?:text/)?(?:sass|scss)")))'
- end: '(</)(style)(>)(?:\\s*\\n)?'
- captures:
- '1':
- name: 'punctuation.definition.tag.begin.html'
- '2':
- name: 'entity.name.tag.style.html'
- '3':
- name: 'punctuation.definition.tag.end.html'
- patterns: [
- { include: '#tagStuff' }
- {
- begin: '(>)'
- end: '(?=</style)'
- patterns: [
- { include: 'source.css' }
- ]
- }
- ]
- }
- # Sass
- {
- contentName: 'source.sass.embedded.html'
- begin: '(?:^\\s+)?(<)(style)\\b(?=[^>]*type="(?:text/)?sass")'
- end: '(</)(style)(>)(?:\\s*\\n)?'
- captures:
- '1':
- name: 'punctuation.definition.tag.begin.html'
- '2':
- name: 'entity.name.tag.style.html'
- '3':
- name: 'punctuation.definition.tag.end.html'
- patterns: [
- { include: '#tagStuff' }
- {
- begin: '(>)'
- end: '(?=</style)'
- patterns: [
- { include: 'source.sass' }
- ]
- }
- ]
- }
- # Scss
- {
- contentName: 'source.css.scss.embedded.html'
- begin: '(?:^\\s+)?(<)(style)\\b(?=[^>]*type="(?:text/)?scss")'
- end: '(</)(style)(>)(?:\\s*\\n)?'
- captures:
- '1':
- name: 'punctuation.definition.tag.begin.html'
- '2':
- name: 'entity.name.tag.style.html'
- '3':
- name: 'punctuation.definition.tag.end.html'
- patterns: [
- { include: '#tagStuff' }
- {
- begin: '(>)'
- end: '(?=</style)'
- patterns: [
- { include: 'source.css.scss' }
- ]
- }
- ]
- }
- # ------------------------------ Style
-
- # include ----------------------------
- { include: 'text.html.basic' }
- # ------------------------------------
- ]
-
- repository:
-
- riotExpressions:
- name: 'meta.string.expression.riot'
- begin: '\\{'
- beginCaptures:
- '0':
- name: 'punctuation.definition.block.begin.riot'
- end: '\\}'
- endCaptures:
- '0':
- name: 'punctuation.definition.block.end.riot'
- contentName: 'source.js'
-
- stringDoubleQuoted:
- name: 'string.quoted.double.html'
- begin: '"'
- beginCaptures:
- '0':
- name: 'punctuation.definition.string.begin.html'
- end: '"'
- endCaptures:
- '0':
- name: 'punctuation.definition.string.end.html'
-
- stringSingleQuoted:
- name: 'string.quoted.single.html'
- begin: '\''
- beginCaptures:
- '0':
- name: 'punctuation.definition.string.begin.html'
- end: '\''
- endCaptures:
- '0':
- name: 'punctuation.definition.string.end.html'
-
- tagGenericAttribute:
- name: 'entity.other.attribute-name.html'
- match: '\\b([a-zA-Z-]+)'
-
- tagIdAttribute:
- name: 'meta.attribute-with-value.id.html'
- begin: '\\b(id)\\b\\s*(=)'
- captures:
- '1':
- name: 'entity.other.attribute-name.id.html'
- '2':
- name: 'punctuation.separator.key-value.html'
- end: '(?<=\'|")|(?=\\s|>)'
- patterns: [
- {
- name: 'string.quoted.double.html'
- contentName: 'meta.toc-list.id.html'
- begin: '"'
- beginCaptures:
- '0':
- name: 'punctuation.definition.string.begin.html'
- end: '"'
- endCaptures:
- '0':
- name: 'punctuation.definition.string.end.html'
- }
- {
- name: 'string.quoted.single.html'
- contentName: 'meta.toc-list.id.html'
- begin: '\''
- beginCaptures:
- '0':
- name: 'punctuation.definition.string.begin.html'
- end: '\''
- endCaptures:
- '0':
- name: 'punctuation.definition.string.end.html'
- }
- ]
-
- tagStuff:
- patterns: [
- { include: '#tagIdAttribute' }
- { include: '#tagGenericAttribute' }
- { include: '#stringDoubleQuoted' }
- { include: '#stringSingleQuoted' }
- ]
|