diff --git a/HTML.yaml b/HTML.yaml
new file mode 100644
index 0000000..4121557
--- /dev/null
+++ b/HTML.yaml
@@ -0,0 +1,480 @@
+%YAML 1.2
+---
+name: HTML
+file_extensions:
+ - html
+ - htm
+ - shtml
+ - xhtml
+ - inc
+ - tmpl
+ - tpl
+first_line_match: (?i)<(!DOCTYPE\s*)?html
+scope: text.html.basic
+
+variables:
+ unquoted_attribute_value: (?:[^\s<>/''"]|/(?!>))+
+ not_equals_lookahead: (?=\s*[^\s=])
+
+contexts:
+ immediately-pop:
+ - match: ''
+ pop: true
+
+ else-pop:
+ - match: (?=\S)
+ pop: true
+
+ main:
+ - match: (<\?)(xml)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.xml.html
+ push:
+ - meta_scope: meta.tag.preprocessor.xml.html
+ - match: '\?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-generic-attribute
+ - include: string-double-quoted
+ - include: string-single-quoted
+ - match: )?\s*()(script)(>)
+ captures:
+ 0: meta.tag.script.end.html
+ 1: comment.block.html punctuation.definition.comment.html
+ 2: punctuation.definition.tag.begin.html
+ 3: entity.name.tag.script.html
+ 4: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)\s*()?\s*)'
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:body|head|html)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.structure.any.html
+ push:
+ - meta_scope: meta.tag.structure.any.html
+ - match: '>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:address|blockquote|dd|div|section|article|aside|header|footer|nav|menu|dl|dt|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|pre)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.block.any.html
+ push:
+ - meta_scope: meta.tag.block.any.html
+ - match: '>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:hr)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.block.any.html
+ push:
+ - meta_scope: meta.tag.block.any.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:form|fieldset)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.block.form.html
+ push:
+ - meta_scope: meta.tag.block.form.html
+ - match: '>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:abbr|acronym|area|b|base|basefont|bdo|big|br|caption|cite|code|del|dfn|em|font|head|html|i|img|ins|isindex|kbd|li|link|map|meta|noscript|param|q|s|samp|script|small|span|strike|strong|style|sub|sup|title|tt|u|var)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.inline.any.html
+ push:
+ - meta_scope: meta.tag.inline.any.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:button|input|label|legend|optgroup|option|select|textarea)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.inline.form.html
+ push:
+ - meta_scope: meta.tag.inline.form.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:a)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.inline.a.html
+ push:
+ - meta_scope: meta.tag.inline.a.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:col|colgroup|table|tbody|td|tfoot|th|thead|tr)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.inline.table.html
+ push:
+ - meta_scope: meta.tag.inline.table.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)([A-Za-z0-9:_]+-[A-Za-z0-9:_-]+)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: invalid.illegal.uppercase-custom-tag-name.html
+ push:
+ - meta_scope: meta.tag.custom.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)([a-zA-Z0-9:]+)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.other.html
+ push:
+ - meta_scope: meta.tag.other.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - include: entities
+ - match: <>
+ scope: invalid.illegal.incomplete.html
+ entities-common:
+ - match: (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)
+ scope: constant.character.entity.html
+ captures:
+ 1: punctuation.definition.entity.html
+ 3: punctuation.definition.entity.html
+ attribute-entities:
+ - include: entities-common
+ entities:
+ - include: entities-common
+ - match: '&'
+ scope: invalid.illegal.bad-ampersand.html
+ string-double-quoted:
+ - match: '"'
+ scope: punctuation.definition.string.begin.html
+ push:
+ - meta_scope: string.quoted.double.html
+ - match: '"'
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: entities
+ string-single-quoted:
+ - match: "'"
+ scope: punctuation.definition.string.begin.html
+ push:
+ - meta_scope: string.quoted.single.html
+ - match: "'"
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: entities
+
+ tag-generic-attribute:
+ - match: '[a-zA-Z0-9:\-_.]+'
+ scope: entity.other.attribute-name.html
+ push:
+ - tag-generic-attribute-meta
+ - tag-generic-attribute-equals
+
+ - match: '[a-zA-Z0-9:\-_.]+'
+ scope: entity.other.attribute-name.html
+
+ tag-generic-attribute-meta:
+ - meta_scope: meta.attribute-with-value.html
+ - include: immediately-pop
+
+ tag-generic-attribute-equals:
+ - match: '='
+ scope: punctuation.separator.key-value.html
+ set: tag-generic-attribute-value
+ - match: '{{not_equals_lookahead}}'
+ pop: true
+
+ tag-generic-attribute-value:
+ - match: '"'
+ scope: punctuation.definition.string.begin.html
+ set:
+ - meta_scope: string.quoted.double.html
+ - match: '"'
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: attribute-entities
+ - match: "'"
+ scope: punctuation.definition.string.begin.html
+ set:
+ - meta_scope: string.quoted.single.html
+ - match: "'"
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: attribute-entities
+ - match: '{{unquoted_attribute_value}}'
+ scope: string.unquoted.html
+ - include: else-pop
+
+ tag-class-attribute:
+ - match: '\bclass\b'
+ scope: entity.other.attribute-name.class.html
+ push:
+ - tag-class-attribute-meta
+ - tag-class-attribute-equals
+
+ tag-class-attribute-meta:
+ - meta_scope: meta.attribute-with-value.class.html
+ - include: immediately-pop
+
+ tag-class-attribute-equals:
+ - match: '='
+ scope: punctuation.separator.key-value.html
+ set: tag-class-attribute-value
+ - match: '{{not_equals_lookahead}}'
+ pop: true
+
+ tag-class-attribute-value:
+ - match: '"'
+ scope: punctuation.definition.string.begin.html
+ set:
+ - meta_scope: string.quoted.double.html
+ - meta_content_scope: meta.class-name.html
+ - match: '"'
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: attribute-entities
+ - match: "'"
+ scope: punctuation.definition.string.begin.html
+ set:
+ - meta_scope: string.quoted.single.html
+ - meta_content_scope: meta.class-name.html
+ - match: "'"
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: attribute-entities
+ - match: '{{unquoted_attribute_value}}'
+ scope: string.unquoted.html meta.class-name.html
+ - include: else-pop
+
+ tag-id-attribute:
+ - match: '\bid\b'
+ scope: entity.other.attribute-name.id.html
+ push:
+ - tag-id-attribute-meta
+ - tag-id-attribute-equals
+
+ tag-id-attribute-meta:
+ - meta_scope: meta.attribute-with-value.id.html
+ - include: immediately-pop
+
+ tag-id-attribute-equals:
+ - match: '='
+ scope: punctuation.separator.key-value.html
+ set: tag-id-attribute-value
+ - match: '{{not_equals_lookahead}}'
+ pop: true
+
+ tag-id-attribute-value:
+ - match: '"'
+ scope: punctuation.definition.string.begin.html
+ set:
+ - meta_scope: string.quoted.double.html
+ - meta_content_scope: meta.toc-list.id.html
+ - match: '"'
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: attribute-entities
+ - match: "'"
+ scope: punctuation.definition.string.begin.html
+ set:
+ - meta_scope: string.quoted.single.html
+ - meta_content_scope: meta.toc-list.id.html
+ - match: "'"
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: attribute-entities
+ - match: '{{unquoted_attribute_value}}'
+ scope: string.unquoted.html meta.toc-list.id.html
+ - include: else-pop
+
+ tag-style-attribute:
+ - match: '\bstyle\b'
+ scope: entity.other.attribute-name.style.html
+ push:
+ - tag-style-attribute-meta
+ - tag-style-attribute-equals
+
+ tag-style-attribute-meta:
+ - meta_scope: meta.attribute-with-value.style.html
+ - include: immediately-pop
+
+ tag-style-attribute-equals:
+ - match: '='
+ scope: punctuation.separator.key-value.html
+ set: tag-style-attribute-value
+ - match: '{{not_equals_lookahead}}'
+ pop: true
+
+ tag-style-attribute-value:
+ - match: '"'
+ scope: string.quoted.double punctuation.definition.string.begin.html
+ embed: scope:source.css#rule-list-body
+ embed_scope: source.css
+ escape: '"'
+ escape_captures:
+ 0: string.quoted.double punctuation.definition.string.end.html
+ - match: "'"
+ scope: string.quoted.single punctuation.definition.string.begin.html
+ embed: scope:source.css#rule-list-body
+ embed_scope: source.css
+ escape: "'"
+ escape_captures:
+ 0: string.quoted.single punctuation.definition.string.end.html
+ - include: else-pop
+
+ tag-event-attribute:
+ - match: |-
+ (?x)\bon(
+ abort|autocomplete|autocompleteerror|blur|cancel|canplay
+ |canplaythrough|change|click|close|contextmenu|cuechange|dblclick|drag
+ |dragend|dragenter|dragexit|dragleave|dragover|dragstart|drop
+ |durationchange|emptied|ended|error|focus|input|invalid|keydown
+ |keypress|keyup|load|loadeddata|loadedmetadata|loadstart|mousedown
+ |mouseenter|mouseleave|mousemove|mouseout|mouseover|mouseup|mousewheel
+ |pause|play|playing|progress|ratechange|reset|resize|scroll|seeked
+ |seeking|select|show|sort|stalled|submit|suspend|timeupdate|toggle
+ |volumechange|waiting
+ )\b
+ scope: entity.other.attribute-name.event.html
+ push:
+ - tag-event-attribute-meta
+ - tag-event-attribute-equals
+
+ tag-event-attribute-meta:
+ - meta_scope: meta.attribute-with-value.event.html
+ - include: immediately-pop
+
+ tag-event-attribute-equals:
+ - match: '='
+ scope: punctuation.separator.key-value.html
+ set: tag-event-attribute-value
+ - match: '{{not_equals_lookahead}}'
+ pop: true
+
+ tag-event-attribute-value:
+ - match: '"'
+ scope: string.quoted.double punctuation.definition.string.begin.html
+ embed: scope:source.js
+ embed_scope: meta.attribute-with-value.event.html
+ escape: '"'
+ escape_captures:
+ 0: string.quoted.double punctuation.definition.string.end.html
+ - match: "'"
+ scope: string.quoted.single punctuation.definition.string.begin.html meta.attribute-with-value.event.html
+ embed: scope:source.js
+ embed_scope: meta.attribute-with-value.event.html
+ escape: "'"
+ escape_captures:
+ 0: string.quoted.single punctuation.definition.string.end.html
+ - include: else-pop
+
+ tag-attributes:
+ - include: tag-id-attribute
+ - include: tag-class-attribute
+ - include: tag-style-attribute
+ - include: tag-event-attribute
+ - include: tag-generic-attribute
\ No newline at end of file
diff --git a/Vue Component.sublime-syntax b/Vue Component.sublime-syntax
new file mode 100644
index 0000000..c2309c0
--- /dev/null
+++ b/Vue Component.sublime-syntax
@@ -0,0 +1,857 @@
+%YAML 1.2
+---
+name: Vue Component
+file_extensions: [vue]
+first_line_match: (?i)<(!DOCTYPE\s*)?html
+scope: text.html.vue
+variables:
+ unquoted_attribute_value: (?:[^\s<>/''"]|/(?!>))+
+ not_equals_lookahead: (?=\s*[^\s=])
+
+contexts:
+ immediately-pop:
+ - match: ''
+ pop: true
+
+ else-pop:
+ - match: (?=\S)
+ pop: true
+
+ main:
+ - include: langs
+ - include: template-tag
+
+ - match: (<\?)(xml)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.xml.html
+ push:
+ - meta_scope: meta.tag.preprocessor.xml.html
+ - match: \?>
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-generic-attribute
+ - include: string-double-quoted
+ - include: string-single-quoted
+ - match: )?\s*()(script)(>)
+ captures:
+ 0: meta.tag.script.end.html
+ 1: comment.block.html punctuation.definition.comment.html
+ 2: punctuation.definition.tag.begin.html
+ 3: entity.name.tag.script.html
+ 4: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)\s*()?\s*)
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:body|head|html)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.structure.any.html
+ push:
+ - meta_scope: meta.tag.structure.any.html
+ - match: '>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:address|blockquote|dd|div|section|article|aside|header|footer|nav|menu|dl|dt|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|pre)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.block.any.html
+ push:
+ - meta_scope: meta.tag.block.any.html
+ - match: '>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:hr)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.block.any.html
+ push:
+ - meta_scope: meta.tag.block.any.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:form|fieldset)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.block.form.html
+ push:
+ - meta_scope: meta.tag.block.form.html
+ - match: '>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:abbr|acronym|area|b|base|basefont|bdo|big|br|caption|cite|code|del|dfn|em|font|head|html|i|img|ins|isindex|kbd|li|link|map|meta|noscript|param|q|s|samp|script|small|span|strike|strong|style|sub|sup|title|tt|u|var)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.inline.any.html
+ push:
+ - meta_scope: meta.tag.inline.any.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:button|input|label|legend|optgroup|option|select|textarea)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.inline.form.html
+ push:
+ - meta_scope: meta.tag.inline.form.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:a)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.inline.a.html
+ push:
+ - meta_scope: meta.tag.inline.a.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)((?i:col|colgroup|table|tbody|td|tfoot|th|thead|tr)\b)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.inline.table.html
+ push:
+ - meta_scope: meta.tag.inline.table.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)([A-Za-z0-9:_]+-[A-Za-z0-9:_-]+)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: invalid.illegal.uppercase-custom-tag-name.html
+ push:
+ - meta_scope: meta.tag.custom.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - match: (?)([a-zA-Z0-9:]+)
+ captures:
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.other.html
+ push:
+ - meta_scope: meta.tag.other.html
+ - match: '(?: ?/)?>'
+ scope: punctuation.definition.tag.end.html
+ pop: true
+ - include: tag-attributes
+ - include: entities
+ - match: <>
+ scope: invalid.illegal.incomplete.html
+ entities-common:
+ - match: (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)
+ scope: constant.character.entity.html
+ captures:
+ 1: punctuation.definition.entity.html
+ 3: punctuation.definition.entity.html
+ attribute-entities:
+ - include: entities-common
+ entities:
+ - include: entities-common
+ - match: '&'
+ scope: invalid.illegal.bad-ampersand.html
+ string-double-quoted:
+ - match: '"'
+ scope: punctuation.definition.string.begin.html
+ push:
+ - meta_scope: string.quoted.double.html
+ - match: '"'
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: entities
+ string-single-quoted:
+ - match: "'"
+ scope: punctuation.definition.string.begin.html
+ push:
+ - meta_scope: string.quoted.single.html
+ - match: "'"
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: entities
+
+ tag-generic-attribute:
+ - match: '[a-zA-Z0-9:\-_.]+'
+ scope: entity.other.attribute-name.html
+ push:
+ - tag-generic-attribute-meta
+ - tag-generic-attribute-equals
+
+ - match: '[a-zA-Z0-9:\-_.]+'
+ scope: entity.other.attribute-name.html
+
+ tag-generic-attribute-meta:
+ - meta_scope: meta.attribute-with-value.html
+ - include: immediately-pop
+
+ tag-generic-attribute-equals:
+ - match: '='
+ scope: punctuation.separator.key-value.html
+ set: tag-generic-attribute-value
+ - match: '{{not_equals_lookahead}}'
+ pop: true
+
+ tag-generic-attribute-value:
+ - match: '"'
+ scope: punctuation.definition.string.begin.html
+ set:
+ - meta_scope: string.quoted.double.html
+ - match: '"'
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: attribute-entities
+ - match: "'"
+ scope: punctuation.definition.string.begin.html
+ set:
+ - meta_scope: string.quoted.single.html
+ - match: "'"
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: attribute-entities
+ - match: '{{unquoted_attribute_value}}'
+ scope: string.unquoted.html
+ - include: else-pop
+
+ tag-class-attribute:
+ - match: \bclass\b
+ scope: entity.other.attribute-name.class.html
+ push:
+ - tag-class-attribute-meta
+ - tag-class-attribute-equals
+
+ tag-class-attribute-meta:
+ - meta_scope: meta.attribute-with-value.class.html
+ - include: immediately-pop
+
+ tag-class-attribute-equals:
+ - match: '='
+ scope: punctuation.separator.key-value.html
+ set: tag-class-attribute-value
+ - match: '{{not_equals_lookahead}}'
+ pop: true
+
+ tag-class-attribute-value:
+ - match: '"'
+ scope: punctuation.definition.string.begin.html
+ set:
+ - meta_scope: string.quoted.double.html
+ - meta_content_scope: meta.class-name.html
+ - match: '"'
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: attribute-entities
+ - match: "'"
+ scope: punctuation.definition.string.begin.html
+ set:
+ - meta_scope: string.quoted.single.html
+ - meta_content_scope: meta.class-name.html
+ - match: "'"
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: attribute-entities
+ - match: '{{unquoted_attribute_value}}'
+ scope: string.unquoted.html meta.class-name.html
+ - include: else-pop
+
+ tag-id-attribute:
+ - match: \bid\b
+ scope: entity.other.attribute-name.id.html
+ push:
+ - tag-id-attribute-meta
+ - tag-id-attribute-equals
+
+ tag-id-attribute-meta:
+ - meta_scope: meta.attribute-with-value.id.html
+ - include: immediately-pop
+
+ tag-id-attribute-equals:
+ - match: '='
+ scope: punctuation.separator.key-value.html
+ set: tag-id-attribute-value
+ - match: '{{not_equals_lookahead}}'
+ pop: true
+
+ tag-id-attribute-value:
+ - match: '"'
+ scope: punctuation.definition.string.begin.html
+ set:
+ - meta_scope: string.quoted.double.html
+ - meta_content_scope: meta.toc-list.id.html
+ - match: '"'
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: attribute-entities
+ - match: "'"
+ scope: punctuation.definition.string.begin.html
+ set:
+ - meta_scope: string.quoted.single.html
+ - meta_content_scope: meta.toc-list.id.html
+ - match: "'"
+ scope: punctuation.definition.string.end.html
+ pop: true
+ - include: attribute-entities
+ - match: '{{unquoted_attribute_value}}'
+ scope: string.unquoted.html meta.toc-list.id.html
+ - include: else-pop
+
+ tag-style-attribute:
+ - match: \bstyle\b
+ scope: entity.other.attribute-name.style.html
+ push:
+ - tag-style-attribute-meta
+ - tag-style-attribute-equals
+
+ tag-style-attribute-meta:
+ - meta_scope: meta.attribute-with-value.style.html
+ - include: immediately-pop
+
+ tag-style-attribute-equals:
+ - match: '='
+ scope: punctuation.separator.key-value.html
+ set: tag-style-attribute-value
+ - match: '{{not_equals_lookahead}}'
+ pop: true
+
+ tag-style-attribute-value:
+ - match: '"'
+ scope: string.quoted.double punctuation.definition.string.begin.html
+ embed: scope:source.css#rule-list-body
+ embed_scope: source.css
+ escape: '"'
+ escape_captures:
+ 0: string.quoted.double punctuation.definition.string.end.html
+ - match: "'"
+ scope: string.quoted.single punctuation.definition.string.begin.html
+ embed: scope:source.css#rule-list-body
+ embed_scope: source.css
+ escape: "'"
+ escape_captures:
+ 0: string.quoted.single punctuation.definition.string.end.html
+ - include: else-pop
+
+ tag-event-attribute:
+ - match: |-
+ (?x)\bon(
+ abort|autocomplete|autocompleteerror|blur|cancel|canplay
+ |canplaythrough|change|click|close|contextmenu|cuechange|dblclick|drag
+ |dragend|dragenter|dragexit|dragleave|dragover|dragstart|drop
+ |durationchange|emptied|ended|error|focus|input|invalid|keydown
+ |keypress|keyup|load|loadeddata|loadedmetadata|loadstart|mousedown
+ |mouseenter|mouseleave|mousemove|mouseout|mouseover|mouseup|mousewheel
+ |pause|play|playing|progress|ratechange|reset|resize|scroll|seeked
+ |seeking|select|show|sort|stalled|submit|suspend|timeupdate|toggle
+ |volumechange|waiting
+ )\b
+ scope: entity.other.attribute-name.event.html
+ push:
+ - tag-event-attribute-meta
+ - tag-event-attribute-equals
+
+ tag-event-attribute-meta:
+ - meta_scope: meta.attribute-with-value.event.html
+ - include: immediately-pop
+
+ tag-event-attribute-equals:
+ - match: '='
+ scope: punctuation.separator.key-value.html
+ set: tag-event-attribute-value
+ - match: '{{not_equals_lookahead}}'
+ pop: true
+
+ tag-event-attribute-value:
+ - match: '"'
+ scope: string.quoted.double punctuation.definition.string.begin.html
+ embed: scope:source.js
+ embed_scope: meta.attribute-with-value.event.html
+ escape: '"'
+ escape_captures:
+ 0: string.quoted.double punctuation.definition.string.end.html
+ - match: "'"
+ scope: string.quoted.single punctuation.definition.string.begin.html meta.attribute-with-value.event.html
+ embed: scope:source.js
+ embed_scope: meta.attribute-with-value.event.html
+ escape: "'"
+ escape_captures:
+ 0: string.quoted.single punctuation.definition.string.end.html
+ - include: else-pop
+
+ tag-attributes:
+ - include: vue-directive
+
+ - include: tag-id-attribute
+ - include: tag-class-attribute
+ - include: tag-style-attribute
+ - include: tag-event-attribute
+ - include: tag-generic-attribute
+ template-tag:
+ - match: (?i)(<)(template)\b
+ captures:
+ 0: meta.tag.template.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ push:
+ - match: (?i)()(template)(>)
+ captures:
+ 0: meta.tag.template.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '>'
+ scope: meta.tag.template.begin.html punctuation.definition.tag.end.html
+ push: mustache-template
+ - match: ''
+ push:
+ - meta_scope: meta.tag.template.begin.html
+ - match: (?=>)
+ pop: true
+ - include: tag-attributes
+
+ mustache-template:
+ - match: (?=]*lang=(['"])coffee?)
+ captures:
+ 0: meta.tag.script.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ push:
+ - match: (?i)()(script)(>)
+ captures:
+ 0: meta.tag.script.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.script.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.coffee
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:script))\b(?=[^>]*lang=(['"])livescript?)
+ captures:
+ 0: meta.tag.script.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ push:
+ - match: (?i)()(script)(>)
+ captures:
+ 0: meta.tag.script.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.script.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.livescript
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:script))\b(?=[^>]*lang=(['"])ts?)
+ captures:
+ 0: meta.tag.script.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ push:
+ - match: (?i)()(script)(>)
+ captures:
+ 0: meta.tag.script.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.script.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.ts
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:script))\b(?=[^>]*)
+ captures:
+ 0: meta.tag.script.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ push:
+ - match: (?i)()(script)(>)
+ captures:
+ 0: meta.tag.script.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.script.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.js
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:style))\b(?=[^>]*lang=(['"])sass?)
+ captures:
+ 0: meta.tag.style.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ push:
+ - match: (?i)()(style)(>)
+ captures:
+ 0: meta.tag.style.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.style.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.sass
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:style))\b(?=[^>]*lang=(['"])scss?)
+ captures:
+ 0: meta.tag.style.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ push:
+ - match: (?i)()(style)(>)
+ captures:
+ 0: meta.tag.style.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.style.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.scss
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:style))\b(?=[^>]*lang=(['"])stylus?)
+ captures:
+ 0: meta.tag.style.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ push:
+ - match: (?i)()(style)(>)
+ captures:
+ 0: meta.tag.style.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.style.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.stylus
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:style))\b(?=[^>]*lang=(['"])postcss?)
+ captures:
+ 0: meta.tag.style.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ push:
+ - match: (?i)()(style)(>)
+ captures:
+ 0: meta.tag.style.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.style.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.postcss
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:style))\b(?=[^>]*lang=(['"])less?)
+ captures:
+ 0: meta.tag.style.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ push:
+ - match: (?i)()(style)(>)
+ captures:
+ 0: meta.tag.style.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.style.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.less
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:style))\b(?=[^>]*)
+ captures:
+ 0: meta.tag.style.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ push:
+ - match: (?i)()(style)(>)
+ captures:
+ 0: meta.tag.style.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.style.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.css
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:template))\b(?=[^>]*lang=(['"])jade?)
+ captures:
+ 0: meta.tag.template.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ push:
+ - match: (?i)()(template)(>)
+ captures:
+ 0: meta.tag.template.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.template.begin.html punctuation.definition.tag.end.html
+ embed: scope:text.jade
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:template))\b(?=[^>]*lang=(['"])pug?)
+ captures:
+ 0: meta.tag.template.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ push:
+ - match: (?i)()(template)(>)
+ captures:
+ 0: meta.tag.template.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.template.begin.html punctuation.definition.tag.end.html
+ embed: scope:text.pug
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:template))\b(?=[^>]*lang=(['"])slm?)
+ captures:
+ 0: meta.tag.template.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ push:
+ - match: (?i)()(template)(>)
+ captures:
+ 0: meta.tag.template.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: (>)
+ captures:
+ 1: meta.tag.template.begin.html punctuation.definition.tag.end.html
+ embed: scope:text.slm
+ escape: (?i)(?=)
+ pop: true
+ - include: tag-attributes
+hidden: false
diff --git a/Vue Component.sublime-syntax.yaml-macros b/Vue Component.sublime-syntax.yaml-macros
new file mode 100644
index 0000000..1dfb9cc
--- /dev/null
+++ b/Vue Component.sublime-syntax.yaml-macros
@@ -0,0 +1,398 @@
+%YAML 1.2
+%TAG ! tag:yaml-macros:YAMLMacros.lib.extend:
+---
+!extend
+_base: HTML.yaml
+name: Vue Component
+scope: text.html.vue
+hidden: false
+file_extensions: [vue]
+
+contexts: !merge
+ main: !prepend
+ - include: langs
+ - include: template-tag
+
+ tag-attributes: !prepend
+ - include: vue-directive
+
+ template-tag:
+ - match: '(?i)(<)(template)\b'
+ captures:
+ 0: meta.tag.template.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ push:
+ - match: (?i)()(template)(>)
+ captures:
+ 0: meta.tag.template.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '>'
+ scope: meta.tag.template.begin.html punctuation.definition.tag.end.html
+ push: mustache-template
+ - match: ''
+ push:
+ - meta_scope: meta.tag.template.begin.html
+ - match: '(?=>)'
+ pop: true
+ - include: tag-attributes
+
+ mustache-template:
+ - match: (?=]*lang=(['"])coffee?)
+ captures:
+ 0: meta.tag.script.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ push:
+ - match: (?i)()(script)(>)
+ captures:
+ 0: meta.tag.script.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.script.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.coffee
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:script))\b(?=[^>]*lang=(['"])livescript?)
+ captures:
+ 0: meta.tag.script.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ push:
+ - match: (?i)()(script)(>)
+ captures:
+ 0: meta.tag.script.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.script.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.livescript
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:script))\b(?=[^>]*lang=(['"])ts?)
+ captures:
+ 0: meta.tag.script.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ push:
+ - match: (?i)()(script)(>)
+ captures:
+ 0: meta.tag.script.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.script.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.ts
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:script))\b(?=[^>]*)
+ captures:
+ 0: meta.tag.script.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ push:
+ - match: (?i)()(script)(>)
+ captures:
+ 0: meta.tag.script.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.script.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.script.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.js
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:style))\b(?=[^>]*lang=(['"])sass?)
+ captures:
+ 0: meta.tag.style.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ push:
+ - match: (?i)()(style)(>)
+ captures:
+ 0: meta.tag.style.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.style.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.sass
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:style))\b(?=[^>]*lang=(['"])scss?)
+ captures:
+ 0: meta.tag.style.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ push:
+ - match: (?i)()(style)(>)
+ captures:
+ 0: meta.tag.style.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.style.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.scss
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:style))\b(?=[^>]*lang=(['"])stylus?)
+ captures:
+ 0: meta.tag.style.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ push:
+ - match: (?i)()(style)(>)
+ captures:
+ 0: meta.tag.style.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.style.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.stylus
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:style))\b(?=[^>]*lang=(['"])postcss?)
+ captures:
+ 0: meta.tag.style.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ push:
+ - match: (?i)()(style)(>)
+ captures:
+ 0: meta.tag.style.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.style.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.postcss
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:style))\b(?=[^>]*lang=(['"])less?)
+ captures:
+ 0: meta.tag.style.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ push:
+ - match: (?i)()(style)(>)
+ captures:
+ 0: meta.tag.style.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.style.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.less
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:style))\b(?=[^>]*)
+ captures:
+ 0: meta.tag.style.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ push:
+ - match: (?i)()(style)(>)
+ captures:
+ 0: meta.tag.style.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.style.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.style.begin.html punctuation.definition.tag.end.html
+ embed: scope:source.css
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:template))\b(?=[^>]*lang=(['"])jade?)
+ captures:
+ 0: meta.tag.template.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ push:
+ - match: (?i)()(template)(>)
+ captures:
+ 0: meta.tag.template.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.template.begin.html punctuation.definition.tag.end.html
+ embed: scope:text.jade
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:template))\b(?=[^>]*lang=(['"])pug?)
+ captures:
+ 0: meta.tag.template.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ push:
+ - match: (?i)()(template)(>)
+ captures:
+ 0: meta.tag.template.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.template.begin.html punctuation.definition.tag.end.html
+ embed: scope:text.pug
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+ - match: (?i)(<)((?:template))\b(?=[^>]*lang=(['"])slm?)
+ captures:
+ 0: meta.tag.template.begin.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ push:
+ - match: (?i)()(template)(>)
+ captures:
+ 0: meta.tag.template.end.html
+ 1: punctuation.definition.tag.begin.html
+ 2: entity.name.tag.template.html
+ 3: punctuation.definition.tag.end.html
+ pop: true
+ - match: '(>)'
+ captures:
+ 1: meta.tag.template.begin.html punctuation.definition.tag.end.html
+ embed: scope:text.slm
+ escape: (?i)(?=)'
+ pop: true
+ - include: tag-attributes
+
\ No newline at end of file
diff --git a/vue.YAML-tmLanguage b/vue.YAML-tmLanguage
deleted file mode 100644
index 7582aef..0000000
--- a/vue.YAML-tmLanguage
+++ /dev/null
@@ -1,470 +0,0 @@
-# [PackageDev] target_format: plist, ext: tmLanguage
----
-name: Vue Component
-scopeName: text.html.vue
-fileTypes: [vue]
-uuid: 5512c10d-4cc5-434c-b8fc-53b912f55ab3
-
-patterns:
-- include: '#vue-interpolations'
-
-- name: meta.tag.any.html
- begin: (<)([a-zA-Z0-9:-]++)(?=[^>]*>\2>)
- beginCaptures:
- '1': {name: punctuation.definition.tag.begin.html}
- '2': {name: entity.name.tag.html}
- end: (>)(<)(/)(\2)(>)
- endCaptures:
- '1': {name: punctuation.definition.tag.end.html}
- '2': {name: punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html}
- '3': {name: punctuation.definition.tag.begin.html}
- '4': {name: entity.name.tag.html}
- '5': {name: punctuation.definition.tag.end.html}
- patterns:
- - include: '#tag-stuff'
-
-- name: meta.tag.preprocessor.xml.html
- begin: (<\?)(xml)
- end: (\?>)
- captures:
- '1': {name: punctuation.definition.tag.html}
- '2': {name: entity.name.tag.xml.html}
- patterns:
- - include: '#tag-generic-attribute'
- - include: '#string-double-quoted'
- - include: '#string-single-quoted'
-
-- name: comment.block.html
- begin: )$
- |<\?(?:php)?.*\b(if|for(each)?|while)\b.+:
- |\{\{?(if|foreach|capture|literal|foreach|php|section|strip)
- |\{\s*($|\?>\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/)))
- )
-
-foldingStopMarker: |-
- (?x)
- ((?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)>
- |^(?!.*?$
- |<\?(?:php)?.*\bend(if|for(each)?|while)\b
- |\{\{?/(if|foreach|capture|literal|foreach|php|section|strip)
- |^[^{]*\}
- )
-
-keyEquivalent: ^~H
diff --git a/vue.tmLanguage b/vue.tmLanguage
deleted file mode 100644
index b8f67f4..0000000
--- a/vue.tmLanguage
+++ /dev/null
@@ -1,1470 +0,0 @@
-
-
-
-
- fileTypes
-
- vue
-
- foldingStartMarker
- (?x)
-(<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)\b.*?>
-|<!--(?!.*--\s*>)
-|^<!--\ \#tminclude\ (?>.*?-->)$
-|<\?(?:php)?.*\b(if|for(each)?|while)\b.+:
-|\{\{?(if|foreach|capture|literal|foreach|php|section|strip)
-|\{\s*($|\?>\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/)))
-)
- foldingStopMarker
- (?x)
-(</(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)>
-|^(?!.*?<!--).*?--\s*>
-|^<!--\ end\ tminclude\ -->$
-|<\?(?:php)?.*\bend(if|for(each)?|while)\b
-|\{\{?/(if|foreach|capture|literal|foreach|php|section|strip)
-|^[^{]*\}
-)
- keyEquivalent
- ^~H
- name
- Vue Component
- patterns
-
-
- include
- #vue-interpolations
-
-
- begin
- (<)([a-zA-Z0-9:-]++)(?=[^>]*></\2>)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.html
-
-
- end
- (>)(<)(/)(\2)(>)
- endCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
- 2
-
- name
- punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html
-
- 3
-
- name
- punctuation.definition.tag.begin.html
-
- 4
-
- name
- entity.name.tag.html
-
- 5
-
- name
- punctuation.definition.tag.end.html
-
-
- name
- meta.tag.any.html
- patterns
-
-
- include
- #tag-stuff
-
-
-
-
- begin
- (<\?)(xml)
- captures
-
- 1
-
- name
- punctuation.definition.tag.html
-
- 2
-
- name
- entity.name.tag.xml.html
-
-
- end
- (\?>)
- name
- meta.tag.preprocessor.xml.html
- patterns
-
-
- include
- #tag-generic-attribute
-
-
- include
- #string-double-quoted
-
-
- include
- #string-single-quoted
-
-
-
-
- begin
- <!--
- captures
-
- 0
-
- name
- punctuation.definition.comment.html
-
-
- end
- --\s*>
- name
- comment.block.html
- patterns
-
-
- match
- --
- name
- invalid.illegal.bad-comments-or-CDATA.html
-
-
-
-
- begin
- <!
- captures
-
- 0
-
- name
- punctuation.definition.tag.html
-
-
- end
- >
- name
- meta.tag.sgml.html
- patterns
-
-
- begin
- (?i:DOCTYPE)
- captures
-
- 1
-
- name
- entity.name.tag.doctype.html
-
-
- end
- (?=>)
- name
- meta.tag.sgml.doctype.html
- patterns
-
-
- match
- "[^">]*"
- name
- string.quoted.double.doctype.identifiers-and-DTDs.html
-
-
-
-
- begin
- \[CDATA\[
- end
- ]](?=>)
- name
- constant.other.inline-data.html
-
-
- match
- (\s*)(?!--|>)\S(\s*)
- name
- invalid.illegal.bad-comments-or-CDATA.html
-
-
-
-
- begin
- (?:^\s+)?(<)((?i:template))\b(?=[^>]*lang=(['"])slm\1?)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.style.html
-
- 3
-
- name
- punctuation.definition.tag.html
-
-
- end
- (</)((?i:template))(>)(?:\s*\n)?
- name
- text.slm.embedded.html
- patterns
-
-
- include
- #tag-stuff
-
-
- begin
- (>)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- end
- (?=</(?i:template))
- patterns
-
-
- include
- text.slm
-
-
-
-
-
-
- begin
- (?:^\s+)?(<)((?i:template))\b(?=[^>]*lang=(['"])jade\1?)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.style.html
-
- 3
-
- name
- punctuation.definition.tag.html
-
-
- end
- (</)((?i:template))(>)(?:\s*\n)?
- name
- text.jade.embedded.html
- patterns
-
-
- include
- #tag-stuff
-
-
- begin
- (>)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- end
- (?=</(?i:template))
- patterns
-
-
- include
- text.jade
-
-
-
-
-
-
- begin
- (?:^\s+)?(<)((?i:template))\b(?=[^>]*lang=(['"])pug\1?)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.style.html
-
- 3
-
- name
- punctuation.definition.tag.html
-
-
- end
- (</)((?i:template))(>)(?:\s*\n)?
- name
- text.pug.embedded.html
- patterns
-
-
- include
- #tag-stuff
-
-
- begin
- (>)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- end
- (?=</(?i:template))
- patterns
-
-
- include
- text.pug
-
-
-
-
-
-
- begin
- (?:^\s+)?(<)((?i:style))\b(?=[^>]*lang=(['"])stylus\1?)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.style.html
-
- 3
-
- name
- punctuation.definition.tag.html
-
-
- end
- (</)((?i:style))(>)(?:\s*\n)?
- name
- source.stylus.embedded.html
- patterns
-
-
- include
- #tag-stuff
-
-
- begin
- (>)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- end
- (?=</(?i:style))
- patterns
-
-
- include
- source.stylus
-
-
-
-
-
-
- begin
- (?:^\s+)?(<)((?i:style))\b(?=[^>]*lang=(['"])postcss\1?)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.style.html
-
- 3
-
- name
- punctuation.definition.tag.html
-
-
- end
- (</)((?i:style))(>)(?:\s*\n)?
- name
- source.postcss.embedded.html
- patterns
-
-
- include
- #tag-stuff
-
-
- begin
- (>)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- end
- (?=</(?i:style))
- patterns
-
-
- include
- source.postcss
-
-
-
-
-
-
- begin
- (?:^\s+)?(<)((?i:style))\b(?=[^>]*lang=(['"])sass\1?)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.style.html
-
- 3
-
- name
- punctuation.definition.tag.html
-
-
- end
- (</)((?i:style))(>)(?:\s*\n)?
- name
- source.sass.embedded.html
- patterns
-
-
- include
- #tag-stuff
-
-
- begin
- (>)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- end
- (?=</(?i:style))
- patterns
-
-
- include
- source.sass
-
-
- include
- source.scss
-
-
-
-
-
-
- begin
- (?:^\s+)?(<)((?i:style))\b(?=[^>]*lang=(['"])scss\1?)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.style.html
-
- 3
-
- name
- punctuation.definition.tag.html
-
-
- end
- (</)((?i:style))(>)(?:\s*\n)?
- name
- source.scss.embedded.html
- patterns
-
-
- include
- #tag-stuff
-
-
- begin
- (>)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- end
- (?=</(?i:style))
- patterns
-
-
- include
- source.sass
-
-
- include
- source.scss
-
-
-
-
-
-
- begin
- (?:^\s+)?(<)((?i:style))\b(?=[^>]*lang=(['"])less\1?)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.style.html
-
- 3
-
- name
- punctuation.definition.tag.html
-
-
- end
- (</)((?i:style))(>)(?:\s*\n)?
- name
- source.less.embedded.html
- patterns
-
-
- include
- #tag-stuff
-
-
- begin
- (>)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- end
- (?=</(?i:style))
- patterns
-
-
- include
- source.less
-
-
-
-
-
-
- begin
- (?:^\s+)?(<)((?i:style))\b(?![^>]*/>)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.style.html
-
- 3
-
- name
- punctuation.definition.tag.html
-
-
- end
- (</)((?i:style))(>)(?:\s*\n)?
- name
- source.css.embedded.html
- patterns
-
-
- include
- #tag-stuff
-
-
- begin
- (>)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- end
- (?=</(?i:style))
- patterns
-
-
- include
- source.css
-
-
-
-
-
-
- begin
- (?:^\s+)?(<)((?i:script))\b(?=[^>]*lang=(['"])coffee\1?)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.script.html
-
-
- end
- (?<=</(script|SCRIPT))(>)(?:\s*\n)?
- endCaptures
-
- 2
-
- name
- punctuation.definition.tag.html
-
-
- name
- source.coffee.embedded.html
- patterns
-
-
- include
- #tag-stuff
-
-
- begin
- (?<!</(?:script|SCRIPT))(>)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.script.html
-
-
- end
- (</)((?i:script))
- patterns
-
-
- include
- source.coffee
-
-
-
-
-
-
- begin
- (?:^\s+)?(<)((?i:script))\b(?=[^>]*lang=(['"])livescript\1?)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.script.html
-
-
- end
- (?<=</(script|SCRIPT))(>)(?:\s*\n)?
- endCaptures
-
- 2
-
- name
- punctuation.definition.tag.html
-
-
- name
- source.livescript.embedded.html
- patterns
-
-
- include
- #tag-stuff
-
-
- begin
- (?<!</(?:script|SCRIPT))(>)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.script.html
-
-
- end
- (</)((?i:script))
- patterns
-
-
- include
- source.livescript
-
-
-
-
-
-
- begin
- (<)((?i:script))\b(?![^>]*/>)(?![^>]*(?i:type.?=.?text/((?!javascript|babel|ecmascript).*)))
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.script.html
-
-
- end
- (?<=</(script|SCRIPT))(>)(?:\s*\n)?
- endCaptures
-
- 2
-
- name
- punctuation.definition.tag.html
-
-
- name
- source.js.embedded.html
- patterns
-
-
- include
- #tag-stuff
-
-
- begin
- (?<!</(?:script|SCRIPT))(>)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.script.html
-
-
- end
- (</)((?i:script))
- patterns
-
-
- captures
-
- 1
-
- name
- punctuation.definition.comment.js
-
-
- match
- (//).*?((?=</script)|$\n?)
- name
- comment.line.double-slash.js
-
-
- begin
- /\*
- captures
-
- 0
-
- name
- punctuation.definition.comment.js
-
-
- end
- \*/|(?=</script)
- name
- comment.block.js
-
-
- include
- source.js
-
-
-
-
-
-
- begin
- (</?)((?i:body|head|html)\b)
- captures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.structure.any.html
-
-
- end
- (>)
- endCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- name
- meta.tag.structure.any.html
- patterns
-
-
- include
- #tag-stuff
-
-
-
-
- begin
- (</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\b)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.block.any.html
-
-
- end
- (>)
- endCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- name
- meta.tag.block.any.html
- patterns
-
-
- include
- #tag-stuff
-
-
-
-
- begin
- (</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\b)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.inline.any.html
-
-
- end
- ((?: ?/)?>)
- endCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- name
- meta.tag.inline.any.html
- patterns
-
-
- include
- #tag-stuff
-
-
-
-
- begin
- (</?)([a-zA-Z0-9:-]+)
- beginCaptures
-
- 1
-
- name
- punctuation.definition.tag.begin.html
-
- 2
-
- name
- entity.name.tag.other.html
-
-
- end
- (>)
- endCaptures
-
- 1
-
- name
- punctuation.definition.tag.end.html
-
-
- name
- meta.tag.other.html
- patterns
-
-
- include
- #tag-stuff
-
-
-
-
- include
- #entities
-
-
- match
- <>
- name
- invalid.illegal.incomplete.html
-
-
- match
- <
- name
- invalid.illegal.bad-angle-bracket.html
-
-
- repository
-
- entities
-
- patterns
-
-
- captures
-
- 1
-
- name
- punctuation.definition.entity.html
-
- 3
-
- name
- punctuation.definition.entity.html
-
-
- match
- (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)
- name
- constant.character.entity.html
-
-
- match
- &
- name
- invalid.illegal.bad-ampersand.html
-
-
-
- string-double-quoted
-
- begin
- "
- beginCaptures
-
- 0
-
- name
- punctuation.definition.string.begin.html
-
-
- end
- "
- endCaptures
-
- 0
-
- name
- punctuation.definition.string.end.html
-
-
- name
- string.quoted.double.html
- patterns
-
-
- include
- #vue-interpolations
-
-
- include
- #entities
-
-
-
- string-single-quoted
-
- begin
- '
- beginCaptures
-
- 0
-
- name
- punctuation.definition.string.begin.html
-
-
- end
- '
- endCaptures
-
- 0
-
- name
- punctuation.definition.string.end.html
-
-
- name
- string.quoted.single.html
- patterns
-
-
- include
- #vue-interpolations
-
-
- include
- #entities
-
-
-
- tag-generic-attribute
-
- match
- \b([a-zA-Z\-:]+)
- name
- entity.other.attribute-name.html
-
- tag-id-attribute
-
- begin
- \b(id)\b\s*(=)
- captures
-
- 1
-
- name
- entity.other.attribute-name.id.html
-
- 2
-
- name
- punctuation.separator.key-value.html
-
-
- end
- (?<='|")
- name
- meta.attribute-with-value.id.html
- patterns
-
-
- begin
- "
- beginCaptures
-
- 0
-
- name
- punctuation.definition.string.begin.html
-
-
- contentName
- meta.toc-list.id.html
- end
- "
- endCaptures
-
- 0
-
- name
- punctuation.definition.string.end.html
-
-
- name
- string.quoted.double.html
- patterns
-
-
- include
- #vue-interpolations
-
-
- include
- #entities
-
-
-
-
- begin
- '
- beginCaptures
-
- 0
-
- name
- punctuation.definition.string.begin.html
-
-
- contentName
- meta.toc-list.id.html
- end
- '
- endCaptures
-
- 0
-
- name
- punctuation.definition.string.end.html
-
-
- name
- string.quoted.single.html
- patterns
-
-
- include
- #vue-interpolations
-
-
- include
- #entities
-
-
-
-
-
- tag-stuff
-
- patterns
-
-
- include
- #vue-directives
-
-
- include
- #tag-id-attribute
-
-
- include
- #tag-generic-attribute
-
-
- include
- #string-double-quoted
-
-
- include
- #string-single-quoted
-
-
-
- vue-directives
-
- begin
- (?:\b(v-)|(:|@))([a-zA-Z\-]+)(?:\:([a-zA-Z\-]+))?(?:\.([a-zA-Z\-]+))*\s*(=)
- captures
-
- 1
-
- name
- entity.other.attribute-name.html
-
- 2
-
- name
- punctuation.separator.key-value.html
-
- 3
-
- name
- entity.other.attribute-name.html
-
- 4
-
- name
- entity.other.attribute-name.html
-
- 5
-
- name
- entity.other.attribute-name.html
-
- 6
-
- name
- punctuation.separator.key-value.html
-
-
- end
- (?<='|")
- name
- meta.directive.vue
- patterns
-
-
- begin
- "
- beginCaptures
-
- 0
-
- name
- punctuation.definition.string.begin.html
-
-
- end
- "
- endCaptures
-
- 0
-
- name
- punctuation.definition.string.end.html
-
-
- name
- source.directive.vue
- patterns
-
-
- include
- source.js
-
-
-
-
- begin
- '
- beginCaptures
-
- 0
-
- name
- punctuation.definition.string.begin.html
-
-
- end
- '
- endCaptures
-
- 0
-
- name
- punctuation.definition.string.end.html
-
-
- name
- source.directive.vue
- patterns
-
-
- include
- source.js
-
-
-
-
-
- vue-interpolations
-
- patterns
-
-
- begin
- \{\{\{?
- beginCaptures
-
- 0
-
- name
- punctuation.definition.generic.begin.html
-
-
- end
- \}\}\}?
- endCaptures
-
- 0
-
- name
- punctuation.definition.generic.end.html
-
-
- name
- expression.embbeded.vue
- patterns
-
-
- include
- source.js
-
-
-
-
-
-
- scopeName
- text.html.vue
- uuid
- 5512c10d-4cc5-434c-b8fc-53b912f55ab3
-
-