Warning, file /frameworks/syntax-highlighting/autotests/html/test.jsx.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>test.jsx</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (JavaScript React (JSX)) - Theme (Breeze Light)"/>
0006 </head><body style="background-color:#ffffff;color:#1f1c1b"><pre>
0007 <span style="color:#898887;">// JavaScript React</span>
0008 
0009 <span style="color:#898887;">/** </span><span style="color:#ca60ca;font-weight:bold;">@author</span><span style="color:#898887;"> Willy </span><span style="font-weight:bold;">&lt;willy@wmail.com&gt;</span>
0010 <span style="color:#898887;">  * </span><span style="color:#ca60ca;">@url</span><span style="color:#898887;"> https://reactjs.org/ **/</span>
0011 
0012 <span style="color:#ff5500;">import</span> React <span style="color:#ff5500;">from</span> <span style="color:#bf0303;">'react'</span><span style="color:#ca60ca;">;</span>
0013 <span style="color:#ff5500;">import</span> { PhotoStory<span style="color:#ca60ca;">,</span> VideoStory } <span style="color:#ff5500;">from</span> <span style="color:#bf0303;">'./stories'</span><span style="color:#ca60ca;">;</span>
0014 
0015 <span style="font-weight:bold;">function</span> <span style="color:#644a9b;">Story</span>(props) {
0016   <span style="font-weight:bold;">const</span> SpecificStory <span style="color:#ca60ca;">=</span> components[props<span style="color:#ca60ca;">.</span><span style="color:#0057ae;">storyType</span>]<span style="color:#ca60ca;">;</span>
0017   <span style="font-weight:bold;">return </span><span style="color:#644a9b;font-weight:bold;">&lt;SpecificStory</span> <span style="color:#006e28;">story</span><span style="color:#ca60ca;">=</span><span style="color:#0057ae;">{</span> props<span style="color:#ca60ca;">.</span><span style="color:#0057ae;">story</span> <span style="color:#0057ae;">}</span> <span style="color:#006e28;">attr2</span><span style="color:#ca60ca;">=</span><span style="color:#bf0303;">&quot;</span><span style="color:#b08000;">&amp;ref;</span><span style="color:#bf0303;">&quot;</span> <span style="color:#006e28;">attr3</span><span style="color:#ca60ca;">=</span><span style="color:#bf0303;">&quot;Hello\n&quot;</span> <span style="color:#644a9b;font-weight:bold;">/&gt;</span><span style="color:#ca60ca;">;</span>
0018 } 
0019 
0020 <span style="font-weight:bold;">function</span> 
0021 <span style="color:#644a9b;font-weight:bold;">&lt;Tag</span> <span style="color:#006e28;">attr1</span><span style="color:#ca60ca;">=</span><span style="color:#0057ae;">{</span> <span style="font-weight:bold;">&lt;tag/&gt;</span> <span style="font-weight:bold;">function</span> <span style="color:#ca60ca;">&lt;</span>noTag<span style="color:#ca60ca;">/&gt;</span> <span style="font-weight:bold;">return</span> <span style="font-weight:bold;font-style:italic;">class</span> <span style="font-weight:bold;">var</span> <span style="color:#b08000;">0x123</span> { } <span style="color:#ca60ca;">&amp;</span>noRef<span style="color:#ca60ca;">;</span> <span style="color:#644a9b;">hello</span>() React<span style="color:#ca60ca;">.</span><span style="color:#644a9b;">Component</span>() <span style="color:#0057ae;">}</span> <span style="color:#006e28;">attr2</span><span style="color:#ca60ca;">=</span><span style="color:#bf0303;">&quot;</span><span style="color:#b08000;">&amp;ref;</span><span style="color:#bf0303;">&quot;</span><span style="color:#644a9b;font-weight:bold;">&gt;</span>
0022     /* no comment*/ function <span style="font-weight:bold;">&lt;tag/&gt;</span> return class var 0x123 <span style="color:#b08000;">&amp;ref;</span> hello() React.Component()
0023     .<span style="font-weight:bold;">&lt;tag/&gt;</span> anyWord <span style="font-weight:bold;">&lt;tag/&gt;</span>
0024     <span style="color:#0057ae;">{</span> <span style="font-weight:bold;">function</span> <span style="color:#ca60ca;">&lt;</span>tag<span style="color:#ca60ca;">&gt;</span> <span style="font-weight:bold;">return</span> <span style="font-weight:bold;font-style:italic;">class</span> <span style="font-weight:bold;">var</span> <span style="color:#b08000;">0x123</span> <span style="color:#644a9b;">hello</span>() React<span style="color:#ca60ca;">.</span><span style="color:#644a9b;">Component</span>() <span style="color:#0057ae;">}</span> 
0025 <span style="color:#644a9b;font-weight:bold;">&lt;/Tag&gt;</span>
0026 
0027 <span style="font-weight:bold;">&lt;tag1&gt;</span> <span style="font-weight:bold;">&lt;/tag1&gt;</span>
0028 <span style="font-weight:bold;">&lt;tag1&gt;</span> <span style="font-weight:bold;">&lt;/</span><span style="color:#bf0303;text-decoration:underline;">Tag$</span><span style="font-weight:bold;">&gt;</span>
0029 <span style="color:#644a9b;font-weight:bold;">&lt;Tag$&gt;</span> <span style="color:#644a9b;font-weight:bold;">&lt;/tag&gt;</span>
0030 
0031 <span style="font-weight:bold;">&lt;tag</span><span style="color:#898887;">/*comment*/</span><span style="color:#006e28;">attr1</span><span style="color:#898887;">/*comment*/</span><span style="color:#ca60ca;">=</span> <span style="color:#898887;">/*comment*/</span><span style="color:#bf0303;">&quot;value&quot;</span><span style="color:#898887;">/*comment*/</span><span style="color:#006e28;">attr2</span> <span style="color:#898887;">/*comment*/</span><span style="color:#006e28;">attr3</span><span style="color:#ca60ca;">=</span><span style="color:#bf0303;">'a'</span> <span style="color:#006e28;">key</span><span style="color:#898887;">/*comment*/</span><span style="color:#006e28;">key2</span> <span style="font-weight:bold;">/&gt;</span>
0032 
0033 <span style="color:#898887;">// Detect Valid tags</span>
0034 
0035 <span style="color:#898887;">/* comment */</span> <span style="font-weight:bold;">&lt;tag&gt;&lt;/tag&gt;</span>
0036 { <span style="color:#898887;">/* comment </span>
0037 <span style="color:#898887;">   */</span> <span style="color:#644a9b;font-weight:bold;">&lt;Tag</span> <span style="color:#644a9b;font-weight:bold;">/&gt;</span> 
0038     word <span style="color:#ca60ca;">&lt;</span>noTag<span style="color:#ca60ca;">/&gt;</span> <span style="color:#ca60ca;">.</span> <span style="color:#ca60ca;">&lt;</span>noTag<span style="color:#ca60ca;">/&gt;</span> } <span style="color:#ca60ca;">&lt;</span>noTag<span style="color:#ca60ca;">/&gt;</span>
0039 <span style="font-weight:bold;">return </span><span style="color:#898887;">/* comment</span>
0040 <span style="color:#898887;">   multiline */</span> <span style="font-weight:bold;">&lt;tag/&gt;</span> <span style="color:#898887;">/* comment */</span> <span style="color:#644a9b;font-weight:bold;">&lt;Tag/&gt;</span>
0041 <span style="color:#ca60ca;">&amp;&amp; </span><span style="color:#898887;">/*comment*/</span> <span style="color:#644a9b;font-weight:bold;">&lt;Tag/&gt;</span>
0042 <span style="color:#ca60ca;">&amp;</span> <span style="color:#898887;">/*comment*/</span> <span style="color:#ca60ca;">&lt;</span>noTag<span style="color:#ca60ca;">/&gt;</span>
0043 
0044   <span style="font-weight:bold;">&lt;tag/&gt;</span>
0045 { <span style="font-weight:bold;">&lt;hello&gt;</span>Hello<span style="font-weight:bold;">&lt;/hello&gt;</span> }
0046 <span style="color:#ca60ca;">?</span><span style="color:#644a9b;font-weight:bold;">&lt;Tag</span> <span style="color:#644a9b;font-weight:bold;">/&gt;</span><span style="color:#ca60ca;">;</span>
0047 [ <span style="font-weight:bold;">&lt;tag</span> <span style="font-weight:bold;">/&gt;</span>  ( <span style="font-weight:bold;">&lt;tag</span> <span style="font-weight:bold;">/&gt;</span> ]
0048 <span style="color:#ca60ca;">,</span><span style="color:#644a9b;font-weight:bold;">&lt;Tag/&gt;</span>    <span style="color:#ca60ca;">=</span><span style="color:#644a9b;font-weight:bold;">&lt;Tag/&gt;</span>
0049 <span style="color:#ca60ca;">&amp;&amp;</span><span style="font-weight:bold;">&lt;tag/&gt;</span>   <span style="color:#ca60ca;">||</span><span style="font-weight:bold;">&lt;tag/&gt;</span>
0050 <span style="font-weight:bold;">return </span><span style="font-weight:bold;">&lt;tag/&gt;</span> <span style="color:#ca60ca;">;</span>
0051 <span style="color:#ff5500;">default</span><span style="font-weight:bold;">&lt;tag/&gt;</span> <span style="color:#ca60ca;">;</span>
0052 <span style="color:#644a9b;font-weight:bold;">&lt;Tag&gt;</span> <span style="font-weight:bold;">&lt;tag&gt;</span> <span style="color:#644a9b;font-weight:bold;">&lt;tag$/&gt;</span> <span style="font-weight:bold;">&lt;/tag&gt;</span> return <span style="color:#644a9b;font-weight:bold;">&lt;/Tag&gt;</span>
0053 
0054 anyWord<span style="color:#ca60ca;">&lt;</span>noTag<span style="color:#ca60ca;">&gt;</span>
0055 anyWord<span style="color:#898887;">/*comment*/</span> <span style="color:#ca60ca;">&lt;</span>noTag<span style="color:#ca60ca;">/&gt;</span>
0056 <span style="color:#ca60ca;">.&lt;</span>noTag<span style="color:#ca60ca;">&gt;</span>
0057 <span style="color:#ca60ca;">&amp;&lt;</span>notag<span style="color:#ca60ca;">&gt;</span> <span style="color:#ca60ca;">|</span> <span style="color:#ca60ca;">&lt;</span>noTag<span style="color:#ca60ca;">/&gt;</span>
0058 <span style="color:#ca60ca;">%</span> <span style="color:#898887;">/* comment*/</span> <span style="color:#ca60ca;">&lt;</span>noTag<span style="color:#ca60ca;">/&gt;</span>
0059 
0060 <span style="color:#898887;">// Non-ASCII tag name &amp; attribute</span>
0061 <span style="color:#644a9b;font-weight:bold;">&lt;日本語&gt;&lt;/日本語&gt;</span><span style="color:#ca60ca;">;</span>
0062 <span style="color:#644a9b;font-weight:bold;">&lt;Component</span> <span style="color:#006e28;">本本:本-本</span> <span style="color:#006e28;">aa本:本</span> <span style="color:#006e28;">aa:aa</span> <span style="color:#644a9b;font-weight:bold;">/&gt;</span>
0063 
0064 <span style="color:#644a9b;font-weight:bold;">&lt;Namespace.DeepNamespace.Component</span> <span style="color:#644a9b;font-weight:bold;">/&gt;</span><span style="color:#ca60ca;">;</span>
0065 <span style="color:#644a9b;font-weight:bold;">&lt;Component</span> <span style="color:#0057ae;">{</span> <span style="color:#ca60ca;">...</span> x <span style="color:#0057ae;">}</span> <span style="color:#006e28;">y</span>
0066 <span style="color:#ca60ca;">=</span><span style="color:#0057ae;">{</span><span style="color:#b08000;">2</span> <span style="color:#0057ae;">}</span> <span style="color:#006e28;">z</span> <span style="color:#644a9b;font-weight:bold;">/&gt;</span><span style="color:#ca60ca;">;</span>
0067 
0068 <span style="font-weight:bold;font-style:italic;">let</span> k1 <span style="color:#ca60ca;">= </span><span style="font-weight:bold;">&lt;div&gt;</span> <span style="font-weight:bold;">&lt;h2&gt;</span> Hello <span style="font-weight:bold;">&lt;/h2&gt;</span> <span style="font-weight:bold;">&lt;h1&gt;</span> world <span style="font-weight:bold;">&lt;/h1&gt;&lt;/div&gt;</span><span style="color:#ca60ca;">;</span>
0069 <span style="font-weight:bold;font-style:italic;">let</span> k2 <span style="color:#ca60ca;">= </span><span style="color:#644a9b;font-weight:bold;">&lt;Button&gt;</span> <span style="font-weight:bold;">&lt;h2&gt;</span> Hello <span style="font-weight:bold;">&lt;/h2&gt;</span> <span style="color:#644a9b;font-weight:bold;">&lt;/Button&gt;</span><span style="color:#ca60ca;">;</span>
0070 
0071 <span style="color:#898887;">// Empty tags</span>
0072 <span style="font-weight:bold;">&lt;&gt;&lt;/&gt;</span><span style="color:#ca60ca;">;</span> <span style="color:#898887;">// no whitespace</span>
0073 <span style="font-weight:bold;">&lt;    &gt;&lt;/   &gt;</span><span style="color:#ca60ca;">;</span> <span style="color:#898887;">// lots of whitespace</span>
0074 <span style="color:#ca60ca;">&lt;</span> <span style="color:#898887;">/*starting wrap*/</span> <span style="color:#ca60ca;">&gt;&lt;/</span> <span style="color:#898887;">/*ending wrap*/</span><span style="color:#ca60ca;">&gt;;</span> <span style="color:#898887;">// comments in the tags</span>
0075 <span style="font-weight:bold;">&lt;&gt;</span>hi<span style="font-weight:bold;">&lt;/&gt;</span><span style="color:#ca60ca;">;</span> <span style="color:#898887;">// text inside</span>
0076 <span style="font-weight:bold;">&lt;&gt;&lt;span&gt;</span>hi<span style="font-weight:bold;">&lt;/span&gt;&lt;div&gt;</span>bye<span style="font-weight:bold;">&lt;/div&gt;&lt;/&gt;</span><span style="color:#ca60ca;">;</span> <span style="color:#898887;">// children</span>
0077 <span style="font-weight:bold;">&lt;&gt;&lt;span&gt;</span>1<span style="font-weight:bold;">&lt;/span&gt;&lt;&gt;&lt;span&gt;</span>2.1<span style="font-weight:bold;">&lt;/span&gt;&lt;span&gt;</span>2.2<span style="font-weight:bold;">&lt;/span&gt;&lt;/&gt;&lt;span&gt;</span>3<span style="font-weight:bold;">&lt;/span&gt;&lt;/&gt;</span><span style="color:#ca60ca;">;</span> <span style="color:#898887;">// nested fragments</span>
0078 <span style="font-weight:bold;">&lt;&gt;</span>#<span style="font-weight:bold;">&lt;/&gt;</span><span style="color:#ca60ca;">;</span> <span style="color:#898887;">// # would cause scanning error if not in jsxtext</span>
0079 
0080 <span style="color:#898887;">// Tags after substitutions in templates</span>
0081 <span style="color:#e31616;">`aaa</span><span style="color:#3daee9;">${</span><span style="font-weight:bold;">&lt;tag&gt;&lt;/tag&gt;</span><span style="color:#898887;">//comment</span>
0082     <span style="color:#898887;">/*comment*/</span><span style="color:#644a9b;font-weight:bold;">&lt;A/&gt;</span><span style="color:#3daee9;">}</span><span style="color:#e31616;">`</span>
0083 
0084 <span style="color:#898887;">// Don't highlight tags within variable declaration</span>
0085 <span style="font-weight:bold;font-style:italic;">let</span> myIdentity<span style="color:#ca60ca;">:</span> <span style="color:#ca60ca;">&lt;</span>T<span style="color:#ca60ca;">&gt;</span>(arg<span style="color:#ca60ca;">:</span> T) <span style="font-weight:bold;">=&gt;</span> T <span style="color:#ca60ca;">=</span> identity<span style="color:#ca60ca;">;</span>
0086 <span style="font-weight:bold;">var</span> myIdentity<span style="color:#ca60ca;">:</span> <span style="color:#ca60ca;">&lt;</span>U<span style="color:#ca60ca;">&gt;</span>(arg<span style="color:#ca60ca;">:</span> U) <span style="font-weight:bold;">=&gt;</span> U <span style="color:#ca60ca;">=</span> identity<span style="color:#ca60ca;">;</span>
0087 <span style="font-weight:bold;">const</span> myIdentity<span style="color:#ca60ca;">:</span> {&lt;T<span style="color:#ca60ca;">&gt;</span>(<span style="color:#0057ae;">arg</span><span style="color:#ca60ca;">:</span> T)<span style="color:#ca60ca;">:</span> T} <span style="color:#ca60ca;">=</span> identity<span style="color:#ca60ca;">;</span>
0088 
0089 <span style="color:#898887;">// Don't highlight tags within interfaces and classes</span>
0090 <span style="font-weight:bold;font-style:italic;">interface</span> GenericIdentityFn {
0091     <span style="color:#ca60ca;">&lt;</span>T<span style="color:#ca60ca;">&gt;</span>(<span style="color:#0057ae;">arg</span><span style="color:#ca60ca;">:</span> T)<span style="color:#ca60ca;">:</span> T<span style="color:#ca60ca;">;</span>
0092     <span style="color:#ca60ca;">&lt;</span>noTag <span style="color:#ca60ca;">/&gt;</span>
0093 }
0094 <span style="font-weight:bold;font-style:italic;">class</span> Handler {
0095     <span style="color:#0057ae;">info</span><span style="color:#ca60ca;">:</span> <span style="color:#ca60ca;">&lt;</span>T<span style="color:#ca60ca;">&gt;</span>(<span style="color:#0057ae;">arg</span><span style="color:#ca60ca;">:</span> T)<span style="color:#ca60ca;">:</span> T <span style="color:#ca60ca;">&lt;</span>noTag <span style="color:#ca60ca;">/&gt;;</span>
0096     <span style="font-weight:bold;">&lt;tag&gt;</span> <span style="font-weight:bold;">&lt;/tag&gt;</span>
0097 }
0098 
0099 <span style="color:#898887;">// Check character after tag name, do not highlight invalid tags</span>
0100 <span style="color:#ca60ca;">&lt;</span>noTag <span style="color:#ca60ca;">?</span>
0101 <span style="color:#ca60ca;">&lt;</span>noTag  <span style="color:#ca60ca;">,</span>
0102 <span style="color:#ca60ca;">&lt;</span>noTag <span style="color:#898887;">/* comment */</span> <span style="color:#ca60ca;">?</span>
0103 <span style="color:#ca60ca;">&lt;</span>noTag#
0104 <span style="color:#ca60ca;">&lt;</span>noTag<span style="color:#898887;">/*comment*/</span>#
0105 
0106 <span style="color:#898887;">// Tagged template literals</span>
0107 <span style="color:#644a9b;">tagFunc</span><span style="color:#e31616;">`</span>
0108 <span style="color:#e31616;">    Hello world!</span>
0109 <span style="color:#e31616;">    </span><span style="color:#3daee9;">${</span> <span style="color:#644a9b;font-weight:bold;">&lt;Tag</span> <span style="color:#644a9b;font-weight:bold;">/&gt;</span><span style="color:#ca60ca;">;</span> <span style="color:#b08000;">22</span> <span style="color:#ca60ca;">+</span> <span style="color:#bf0303;">&quot;11&quot;</span> <span style="color:#3daee9;">}</span><span style="color:#e31616;">`</span><span style="color:#ca60ca;">;</span>
0110 obj<span style="color:#ca60ca;">.</span><span style="color:#0057ae;">something</span><span style="color:#ca60ca;">.</span><span style="color:#644a9b;">tagFunc</span><span style="color:#e31616;">`Setting </span><span style="color:#3daee9;">${</span>setting<span style="color:#3daee9;">}</span><span style="color:#e31616;"> is </span><span style="color:#3daee9;">${</span>value<span style="color:#3daee9;">}</span><span style="color:#e31616;">!`</span><span style="color:#ca60ca;">;</span>
0111 </pre></body></html>