1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
|
<Comment><!--</Comment><br/>
<Comment> </Comment><SPDX Tag>SPDX-FileCopyrightText:</SPDX Tag><Comment> 2024 James Zuccon</Comment><br/>
<Comment> </Comment><SPDX Tag>SPDX-License-Identifier:</SPDX Tag><SPDX Value> </SPDX Value><SPDX License>MIT</SPDX License><br/>
<Comment>--></Comment><br/>
<Comment><!--</Comment><br/>
<Comment> This uses HTML syntax as a base with some customizations for handling Vue-Template-specific syntax.</Comment><br/>
<Comment> It uses the following third-party scripts.</Comment><br/>
<Comment> Script:</Comment><br/>
<Comment> - JS (default - no lang attribute)</Comment><br/>
<Comment> - Typescript (lang="ts")</Comment><br/>
<Comment> Style:</Comment><br/>
<Comment> - CSS (default - no lang attribute)</Comment><br/>
<Comment> - SASS (lang="sass")</Comment><br/>
<Comment> - SCSS (lang="scss")</Comment><br/>
<Comment> </Comment><Alert Level 3>NOTE</Alert Level 3><Comment>: The tests below test attributes before/after the lang="..." attribute as doing this requires pushing a new context.</Comment><br/>
<Comment> In practice, a Vue Template would generally only contain zero or one <template>, <script> or <style> blocks.</Comment><br/>
<Comment>--></Comment><br/>
<Normal Text></Normal Text><br/>
<Comment><!-- Template without attributes --></Comment><br/>
<Element Symbols><</Element Symbols><Element>template</Element><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Element Symbols><</Element Symbols><Element>div</Element><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Comment><!-- Vue event-shorthand should support "@" prefix --></Comment><br/>
<Normal Text> </Normal Text><Element Symbols><</Element Symbols><Element>p</Element><Attribute> @click</Attribute><Attribute Separator>=</Attribute Separator><Value>"test"</Value><Element Symbols>></Element Symbols><Normal Text>Testing HTML</Normal Text><Element Symbols></</Element Symbols><Element>p</Element><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Element Symbols><</Element Symbols><Element>p</Element><Element Symbols>></Element Symbols><Normal Text>{{ someVar }}</Normal Text><Element Symbols></</Element Symbols><Element>p</Element><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Comment><!-- Important to test this as it is used at root also --></Comment><br/>
<Normal Text> </Normal Text><Element Symbols><</Element Symbols><Element>template</Element><Element Symbols>></Element Symbols><br/>
<Normal Text> Nested template tag</Normal Text><br/>
<Normal Text> </Normal Text><Element Symbols></</Element Symbols><Element>template</Element><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Element Symbols></</Element Symbols><Element>div</Element><Element Symbols>></Element Symbols><br/>
<Element Symbols></</Element Symbols><Element>template</Element><Element Symbols>></Element Symbols><br/>
<Normal Text></Normal Text><br/>
<Comment><!-- Template with attributes --></Comment><br/>
<Element Symbols><</Element Symbols><Element>template</Element><Attribute> loneAttribute attribute</Attribute><Attribute Separator>=</Attribute Separator><Value>"value"</Value><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Element Symbols><</Element Symbols><Element>div</Element><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Comment><!-- Vue event-shorthand should support "@" prefix --></Comment><br/>
<Normal Text> </Normal Text><Element Symbols><</Element Symbols><Element>p</Element><Attribute> @click</Attribute><Attribute Separator>=</Attribute Separator><Value>"test"</Value><Element Symbols>></Element Symbols><Normal Text>Testing HTML</Normal Text><Element Symbols></</Element Symbols><Element>p</Element><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Element Symbols><</Element Symbols><Element>p</Element><Element Symbols>></Element Symbols><Normal Text>{{ someVar }}</Normal Text><Element Symbols></</Element Symbols><Element>p</Element><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Comment><!-- Important to test this as it is used at root also --></Comment><br/>
<Normal Text> </Normal Text><Element Symbols><</Element Symbols><Element>template</Element><Element Symbols>></Element Symbols><br/>
<Normal Text> Nested template tag</Normal Text><br/>
<Normal Text> </Normal Text><Element Symbols></</Element Symbols><Element>template</Element><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Element Symbols></</Element Symbols><Element>div</Element><Element Symbols>></Element Symbols><br/>
<Element Symbols></</Element Symbols><Element>template</Element><Element Symbols>></Element Symbols><br/>
<Normal Text></Normal Text><br/>
<Comment><!-- Style without attributes --></Comment><br/>
<Comment><!-- This references the syntax highlighting file for CSS. --></Comment><br/>
<Element Symbols><</Element Symbols><Element>style</Element><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Selector Tag>body</Selector Tag><Normal Text> </Normal Text><Block Symbol>{</Block Symbol><br/>
<Normal Text> </Normal Text><Property>font</Property><Property Separator>:</Property Separator><Normal Text> </Normal Text><Number>100</Number><Unit>%</Unit><Normal Text> Helvetica</Normal Text><Separator Symbol>,</Separator Symbol><Normal Text> </Normal Text><Value>sans-serif</Value><Separator Symbol>;</Separator Symbol><br/>
<Normal Text> </Normal Text><Property>color</Property><Property Separator>:</Property Separator><Normal Text> </Normal Text><Color>#333</Color><Separator Symbol>;</Separator Symbol><br/>
<Normal Text> </Normal Text><Block Symbol>}</Block Symbol><br/>
<Element Symbols></</Element Symbols><Element>style</Element><Element Symbols>></Element Symbols><br/>
<Normal Text></Normal Text><br/>
<Comment><!-- Style with attributes --></Comment><br/>
<Comment><!-- This references the syntax highlighting file for CSS. --></Comment><br/>
<Element Symbols><</Element Symbols><Element>style</Element><Attribute> loneAttribute attribute</Attribute><Attribute Separator>=</Attribute Separator><Value>"value"</Value><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Selector Tag>body</Selector Tag><Normal Text> </Normal Text><Block Symbol>{</Block Symbol><br/>
<Normal Text> </Normal Text><Property>font</Property><Property Separator>:</Property Separator><Normal Text> </Normal Text><Number>100</Number><Unit>%</Unit><Normal Text> Helvetica</Normal Text><Separator Symbol>,</Separator Symbol><Normal Text> </Normal Text><Value>sans-serif</Value><Separator Symbol>;</Separator Symbol><br/>
<Normal Text> </Normal Text><Property>color</Property><Property Separator>:</Property Separator><Normal Text> </Normal Text><Color>#333</Color><Separator Symbol>;</Separator Symbol><br/>
<Normal Text> </Normal Text><Block Symbol>}</Block Symbol><br/>
<Element Symbols></</Element Symbols><Element>style</Element><Element Symbols>></Element Symbols><br/>
<Normal Text></Normal Text><br/>
<Comment><!-- Style lang="sass" without attributes --></Comment><br/>
<Comment><!-- This references the syntax highlighting file for SASS. --></Comment><br/>
<Element Symbols><</Element Symbols><Element>style</Element><Attribute> lang=</Attribute><Value>"sass"</Value><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Comment>// single-line comment to make sure it's SASS and not CSS</Comment><br/>
<Normal Text> </Normal Text><Variable>$font-stack</Variable><Normal Text>: Helvetica</Normal Text><Separator Symbol>,</Separator Symbol><Normal Text> </Normal Text><Value>sans-serif</Value><br/>
<Normal Text> </Normal Text><Variable>$primary-color</Variable><Normal Text>: </Normal Text><Color>#333</Color><br/>
<Normal Text></Normal Text><br/>
<Normal Text> body</Normal Text><br/>
<Normal Text> </Normal Text><Property>font</Property><Normal Text>: </Normal Text><Number>100</Number><Unit>%</Unit><Normal Text> </Normal Text><Variable>$font-stack</Variable><br/>
<Normal Text> </Normal Text><Property>color</Property><Normal Text>: </Normal Text><Variable>$primary-color</Variable><br/>
<Element Symbols></</Element Symbols><Element>style</Element><Element Symbols>></Element Symbols><br/>
<Normal Text></Normal Text><br/>
<Comment><!-- Style lang="sass" with attributes --></Comment><br/>
<Comment><!-- This references the syntax highlighting file for SASS. --></Comment><br/>
<Element Symbols><</Element Symbols><Element>style</Element><Attribute> beforeLangLoneAttribute beforeLangAttribute</Attribute><Attribute Separator>=</Attribute Separator><Value>"asd"</Value><Attribute> lang=</Attribute><Value>"sass"</Value><Attribute> afterLangLoneAttribute afterLangAttribute</Attribute><Attribute Separator>=</Attribute Separator><Value>"asd"</Value><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Comment>// single-line comment to make sure it's SASS and not CSS</Comment><br/>
<Normal Text> </Normal Text><Variable>$font-stack</Variable><Normal Text>: Helvetica</Normal Text><Separator Symbol>,</Separator Symbol><Normal Text> </Normal Text><Value>sans-serif</Value><br/>
<Normal Text> </Normal Text><Variable>$primary-color</Variable><Normal Text>: </Normal Text><Color>#333</Color><br/>
<Normal Text></Normal Text><br/>
<Normal Text> body</Normal Text><br/>
<Normal Text> </Normal Text><Property>font</Property><Normal Text>: </Normal Text><Number>100</Number><Unit>%</Unit><Normal Text> </Normal Text><Variable>$font-stack</Variable><br/>
<Normal Text> </Normal Text><Property>color</Property><Normal Text>: </Normal Text><Variable>$primary-color</Variable><br/>
<Element Symbols></</Element Symbols><Element>style</Element><Element Symbols>></Element Symbols><br/>
<Normal Text></Normal Text><br/>
<Comment><!-- Style lang="scss" without attributes --></Comment><br/>
<Comment><!-- This references the syntax highlighting file for SCSS. --></Comment><br/>
<Element Symbols><</Element Symbols><Element>style</Element><Attribute> lang=</Attribute><Value>"scss"</Value><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Comment>// single-line comment to make sure it's SCSS and not CSS</Comment><br/>
<Normal Text> </Normal Text><Variable>$font-stack</Variable><Property Separator>:</Property Separator><Normal Text> Helvetica</Normal Text><Separator Symbol>,</Separator Symbol><Normal Text> </Normal Text><Value>sans-serif</Value><br/>
<Normal Text> </Normal Text><Variable>$primary-color</Variable><Normal Text>: </Normal Text><Color>#333</Color><br/>
<Normal Text></Normal Text><br/>
<Normal Text> body </Normal Text><Block Symbol>{</Block Symbol><br/>
<Normal Text> </Normal Text><Property>font</Property><Property Separator>:</Property Separator><Normal Text> </Normal Text><Number>100</Number><Unit>%</Unit><Normal Text> </Normal Text><Variable>$font-stack</Variable><Separator Symbol>;</Separator Symbol><br/>
<Normal Text> </Normal Text><Property>color</Property><Property Separator>:</Property Separator><Normal Text> </Normal Text><Variable>$primary-color</Variable><Separator Symbol>;</Separator Symbol><br/>
<Normal Text> </Normal Text><Block Symbol>}</Block Symbol><br/>
<Element Symbols></</Element Symbols><Element>style</Element><Element Symbols>></Element Symbols><br/>
<Normal Text></Normal Text><br/>
<Comment><!-- Style lang="scss" with attributes --></Comment><br/>
<Comment><!-- This references the syntax highlighting file for SCSS. --></Comment><br/>
<Element Symbols><</Element Symbols><Element>style</Element><Attribute> beforeLangLoneAttribute beforeLangAttribute</Attribute><Attribute Separator>=</Attribute Separator><Value>"asd"</Value><Attribute> lang=</Attribute><Value>"scss"</Value><Attribute> afterLangLoneAttribute afterLangAttribute</Attribute><Attribute Separator>=</Attribute Separator><Value>"asd"</Value><Element Symbols>></Element Symbols><br/>
<Normal Text> </Normal Text><Comment>// single-line comment to make sure it's SCSS and not CSS</Comment><br/>
<Normal Text> </Normal Text><Variable>$font-stack</Variable><Property Separator>:</Property Separator><Normal Text> Helvetica</Normal Text><Separator Symbol>,</Separator Symbol><Normal Text> </Normal Text><Value>sans-serif</Value><br/>
<Normal Text> </Normal Text><Variable>$primary-color</Variable><Normal Text>: </Normal Text><Color>#333</Color><br/>
<Normal Text></Normal Text><br/>
<Normal Text> body </Normal Text><Block Symbol>{</Block Symbol><br/>
<Normal Text> </Normal Text><Property>font</Property><Property Separator>:</Property Separator><Normal Text> </Normal Text><Number>100</Number><Unit>%</Unit><Normal Text> </Normal Text><Variable>$font-stack</Variable><Separator Symbol>;</Separator Symbol><br/>
<Normal Text> </Normal Text><Property>color</Property><Property Separator>:</Property Separator><Normal Text> </Normal Text><Variable>$primary-color</Variable><Separator Symbol>;</Separator Symbol><br/>
<Normal Text> </Normal Text><Block Symbol>}</Block Symbol><br/>
<Element Symbols></</Element Symbols><Element>style</Element><Element Symbols>></Element Symbols><br/>
<Normal Text></Normal Text><br/>
<Comment><!-- Script without attributes --></Comment><br/>
<Comment><!-- This references the syntax highlighting file for Javascript. --></Comment><br/>
<Element Symbols><</Element Symbols><Element>script</Element><Element Symbols>></Element Symbols><br/>
<Comment>// Single-line comment</Comment><br/>
<Keyword>const</Keyword><Normal Text> a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>'abc'</String><Symbol>;</Symbol><br/>
<Element Symbols></</Element Symbols><Element>script</Element><Element Symbols>></Element Symbols><br/>
<Normal Text></Normal Text><br/>
<Comment><!-- Script with attributes --></Comment><br/>
<Comment><!-- This references the syntax highlighting file for Javascript. --></Comment><br/>
<Element Symbols><</Element Symbols><Element>script</Element><Attribute> loneAttribute attribute</Attribute><Attribute Separator>=</Attribute Separator><Value>"value"</Value><Element Symbols>></Element Symbols><br/>
<Comment>// Single-line comment</Comment><br/>
<Keyword>const</Keyword><Normal Text> a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>'abc'</String><Symbol>;</Symbol><br/>
<Element Symbols></</Element Symbols><Element>script</Element><Element Symbols>></Element Symbols><br/>
<Normal Text></Normal Text><br/>
<Comment><!-- Script lang="ts" without attributes --></Comment><br/>
<Comment><!-- This references the syntax highlighting file for Typescript. --></Comment><br/>
<Element Symbols><</Element Symbols><Element>script</Element><Attribute> lang=</Attribute><Value>"ts"</Value><Element Symbols>></Element Symbols><br/>
<Comment>// Single-line comment</Comment><br/>
<Keyword>const</Keyword><Normal Text> </Normal Text><Normal Text>a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>'abc'</String><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Comment>// Typescript</Comment><br/>
<Reserved>interface</Reserved><Normal Text> </Normal Text><Normal Text>SomeInterface </Normal Text><Normal Text>{</Normal Text><br/>
<Normal Text> </Normal Text><Parameter>value</Parameter><Symbol>:</Symbol><Normal Text> </Normal Text><Types>string</Types><Symbol>;</Symbol><br/>
<Normal Text>}</Normal Text><br/>
<Element Symbols></</Element Symbols><Element>script</Element><Element Symbols>></Element Symbols><br/>
<Normal Text></Normal Text><br/>
<Comment><!-- Script lang="ts" with attributes --></Comment><br/>
<Comment><!-- This references the syntax highlighting file for Typescript. --></Comment><br/>
<Element Symbols><</Element Symbols><Element>script</Element><Attribute> beforeLangLoneAttribute beforeLangAttribute</Attribute><Attribute Separator>=</Attribute Separator><Value>"asd"</Value><Attribute> lang=</Attribute><Value>"ts"</Value><Attribute> afterLangLoneAttribute afterLangAttribute</Attribute><Attribute Separator>=</Attribute Separator><Value>"asd"</Value><Element Symbols>></Element Symbols><br/>
<Comment>// Single-line comment</Comment><br/>
<Keyword>const</Keyword><Normal Text> </Normal Text><Normal Text>a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>'abc'</String><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Comment>// Typescript</Comment><br/>
<Reserved>interface</Reserved><Normal Text> </Normal Text><Normal Text>SomeInterface </Normal Text><Normal Text>{</Normal Text><br/>
<Normal Text> </Normal Text><Parameter>value</Parameter><Symbol>:</Symbol><Normal Text> </Normal Text><Types>string</Types><Symbol>;</Symbol><br/>
<Normal Text>}</Normal Text><br/>
<Element Symbols></</Element Symbols><Element>script</Element><Element Symbols>></Element Symbols><br/>
|