File indexing completed on 2024-05-12 04:02:09

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