Warning, /frameworks/syntax-highlighting/autotests/folding/test.jsx.fold is written in an unsupported language. File is not indexed.
0001 // JavaScript React 0002 0003 <beginfold id='1'>/** </beginfold id='1'>@author Willy <willy@wmail.com> 0004 * @url https://reactjs.org/ *<endfold id='1'>*/</endfold id='1'> 0005 0006 import React from 'react'; 0007 import <beginfold id='2'>{</beginfold id='2'> PhotoStory, VideoStory <endfold id='2'>}</endfold id='2'> from './stories'; 0008 0009 function Story(props) <beginfold id='2'>{</beginfold id='2'> 0010 const SpecificStory = components<beginfold id='3'>[</beginfold id='3'>props.storyType<endfold id='3'>]</endfold id='3'>; 0011 return <beginfold id='4'><SpecificStory</beginfold id='4'> story=<beginfold id='5'>{</beginfold id='5'> props.story <endfold id='5'>}</endfold id='5'> attr2="&ref;" attr3="Hello\n" <endfold id='4'>/></endfold id='4'>; 0012 <endfold id='2'>}</endfold id='2'> 0013 0014 function 0015 <beginfold id='4'><Tag</beginfold id='4'> attr1=<beginfold id='5'>{</beginfold id='5'> <beginfold id='6'><tag</beginfold id='6'><endfold id='6'>/></endfold id='6'> function <noTag/> return class var 0x123 <beginfold id='2'>{</beginfold id='2'> <endfold id='2'>}</endfold id='2'> &noRef; hello() React.Component() <endfold id='5'>}</endfold id='5'> attr2="&ref;"> 0016 /* no comment*/ function <beginfold id='6'><tag</beginfold id='6'><endfold id='6'>/></endfold id='6'> return class var 0x123 &ref; hello() React.Component() 0017 .<beginfold id='6'><tag</beginfold id='6'><endfold id='6'>/></endfold id='6'> anyWord <beginfold id='6'><tag</beginfold id='6'><endfold id='6'>/></endfold id='6'> 0018 <beginfold id='5'>{</beginfold id='5'> function <tag> return class var 0x123 hello() React.Component() <endfold id='5'>}</endfold id='5'> 0019 </Tag<endfold id='4'>></endfold id='4'> 0020 0021 <beginfold id='6'><tag1</beginfold id='6'>> </tag1<endfold id='6'>></endfold id='6'> 0022 <beginfold id='6'><tag1</beginfold id='6'>> </Tag$<endfold id='6'>></endfold id='6'> 0023 <beginfold id='4'><Tag$</beginfold id='4'>> </tag<endfold id='4'>></endfold id='4'> 0024 0025 <beginfold id='6'><tag</beginfold id='6'><beginfold id='7'>/*</beginfold id='7'>comment<endfold id='7'>*/</endfold id='7'>attr1<beginfold id='7'>/*</beginfold id='7'>comment<endfold id='7'>*/</endfold id='7'>= <beginfold id='7'>/*</beginfold id='7'>comment<endfold id='7'>*/</endfold id='7'>"value"<beginfold id='7'>/*</beginfold id='7'>comment<endfold id='7'>*/</endfold id='7'>attr2 <beginfold id='7'>/*</beginfold id='7'>comment<endfold id='7'>*/</endfold id='7'>attr3='a' key<beginfold id='7'>/*</beginfold id='7'>comment<endfold id='7'>*/</endfold id='7'>key2 <endfold id='6'>/></endfold id='6'> 0026 0027 // Detect Valid tags 0028 0029 <beginfold id='7'>/*</beginfold id='7'> comment <endfold id='7'>*/</endfold id='7'> <beginfold id='6'><tag</beginfold id='6'>></tag<endfold id='6'>></endfold id='6'> 0030 <beginfold id='2'>{</beginfold id='2'> <beginfold id='7'>/*</beginfold id='7'> comment 0031 <endfold id='7'>*/</endfold id='7'> <beginfold id='4'><Tag</beginfold id='4'> <endfold id='4'>/></endfold id='4'> 0032 word <noTag/> . <noTag/> <endfold id='2'>}</endfold id='2'> <noTag/> 0033 return <beginfold id='7'>/*</beginfold id='7'> comment 0034 multiline <endfold id='7'>*/</endfold id='7'> <beginfold id='6'><tag</beginfold id='6'><endfold id='6'>/></endfold id='6'> <beginfold id='7'>/*</beginfold id='7'> comment <endfold id='7'>*/</endfold id='7'> <beginfold id='4'><Tag</beginfold id='4'><endfold id='4'>/></endfold id='4'> 0035 && <beginfold id='7'>/*</beginfold id='7'>comment<endfold id='7'>*/</endfold id='7'> <beginfold id='4'><Tag</beginfold id='4'><endfold id='4'>/></endfold id='4'> 0036 & <beginfold id='7'>/*</beginfold id='7'>comment<endfold id='7'>*/</endfold id='7'> <noTag/> 0037 0038 <beginfold id='6'><tag</beginfold id='6'><endfold id='6'>/></endfold id='6'> 0039 <beginfold id='2'>{</beginfold id='2'> <beginfold id='6'><hello</beginfold id='6'>>Hello</hello<endfold id='6'>></endfold id='6'> <endfold id='2'>}</endfold id='2'> 0040 ?<beginfold id='4'><Tag</beginfold id='4'> <endfold id='4'>/></endfold id='4'>; 0041 <beginfold id='3'>[ </beginfold id='3'><beginfold id='6'><tag</beginfold id='6'> <endfold id='6'>/></endfold id='6'> ( <beginfold id='6'><tag</beginfold id='6'> <endfold id='6'>/></endfold id='6'> <endfold id='3'>]</endfold id='3'> 0042 ,<beginfold id='4'><Tag</beginfold id='4'><endfold id='4'>/></endfold id='4'> =<beginfold id='4'><Tag</beginfold id='4'><endfold id='4'>/></endfold id='4'> 0043 &&<beginfold id='6'><tag</beginfold id='6'><endfold id='6'>/></endfold id='6'> ||<beginfold id='6'><tag</beginfold id='6'><endfold id='6'>/></endfold id='6'> 0044 return <beginfold id='6'><tag</beginfold id='6'><endfold id='6'>/></endfold id='6'> ; 0045 default<beginfold id='6'><tag</beginfold id='6'><endfold id='6'>/></endfold id='6'> ; 0046 <beginfold id='4'><Tag</beginfold id='4'>> <beginfold id='6'><tag</beginfold id='6'>> <beginfold id='4'><tag$</beginfold id='4'><endfold id='4'>/></endfold id='4'> </tag<endfold id='6'>></endfold id='6'> return </Tag<endfold id='4'>></endfold id='4'> 0047 0048 anyWord<noTag> 0049 anyWord<beginfold id='7'>/*</beginfold id='7'>comment<endfold id='7'>*/</endfold id='7'> <noTag/> 0050 .<noTag> 0051 &<notag> | <noTag/> 0052 % <beginfold id='7'>/*</beginfold id='7'> comment<endfold id='7'>*/</endfold id='7'> <noTag/> 0053 0054 // Non-ASCII tag name & attribute 0055 <beginfold id='4'><日本語</beginfold id='4'>></日本語<endfold id='4'>></endfold id='4'>; 0056 <beginfold id='4'><Component</beginfold id='4'> 本本:本-本 aa本:本 aa:aa <endfold id='4'>/></endfold id='4'> 0057 0058 <beginfold id='4'><Namespace.DeepNamespace.Component</beginfold id='4'> <endfold id='4'>/></endfold id='4'>; 0059 <beginfold id='4'><Component</beginfold id='4'> <beginfold id='5'>{</beginfold id='5'> ... x <endfold id='5'>}</endfold id='5'> y 0060 =<beginfold id='5'>{</beginfold id='5'>2 <endfold id='5'>}</endfold id='5'> z <endfold id='4'>/></endfold id='4'>; 0061 0062 let k1 = <beginfold id='6'><div</beginfold id='6'>> <beginfold id='6'><h2</beginfold id='6'>> Hello </h2<endfold id='6'>></endfold id='6'> <beginfold id='6'><h1</beginfold id='6'>> world </h1<endfold id='6'>></endfold id='6'></div<endfold id='6'>></endfold id='6'>; 0063 let k2 = <beginfold id='4'><Button</beginfold id='4'>> <beginfold id='6'><h2</beginfold id='6'>> Hello </h2<endfold id='6'>></endfold id='6'> </Button<endfold id='4'>></endfold id='4'>; 0064 0065 // Empty tags 0066 <beginfold id='6'><></beginfold id='6'><endfold id='6'></></endfold id='6'>; // no whitespace 0067 <beginfold id='6'>< ></beginfold id='6'><endfold id='6'></ ></endfold id='6'>; // lots of whitespace 0068 < <beginfold id='7'>/*</beginfold id='7'>starting wrap<endfold id='7'>*/</endfold id='7'> ></ <beginfold id='7'>/*</beginfold id='7'>ending wrap<endfold id='7'>*/</endfold id='7'>>; // comments in the tags 0069 <beginfold id='6'><></beginfold id='6'>hi<endfold id='6'></></endfold id='6'>; // text inside 0070 <beginfold id='6'><></beginfold id='6'><beginfold id='6'><span</beginfold id='6'>>hi</span<endfold id='6'>></endfold id='6'><beginfold id='6'><div</beginfold id='6'>>bye</div<endfold id='6'>></endfold id='6'><endfold id='6'></></endfold id='6'>; // children 0071 <beginfold id='6'><></beginfold id='6'><beginfold id='6'><span</beginfold id='6'>>1</span<endfold id='6'>></endfold id='6'><beginfold id='6'><></beginfold id='6'><beginfold id='6'><span</beginfold id='6'>>2.1</span<endfold id='6'>></endfold id='6'><beginfold id='6'><span</beginfold id='6'>>2.2</span<endfold id='6'>></endfold id='6'><endfold id='6'></></endfold id='6'><beginfold id='6'><span</beginfold id='6'>>3</span<endfold id='6'>></endfold id='6'><endfold id='6'></></endfold id='6'>; // nested fragments 0072 <beginfold id='6'><></beginfold id='6'>#<endfold id='6'></></endfold id='6'>; // # would cause scanning error if not in jsxtext 0073 0074 // Tags after substitutions in templates 0075 <beginfold id='8'>`</beginfold id='8'>aaa${<beginfold id='6'><tag</beginfold id='6'>></tag<endfold id='6'>></endfold id='6'>//comment 0076 <beginfold id='7'>/*</beginfold id='7'>comment<endfold id='7'>*/</endfold id='7'><beginfold id='4'><A</beginfold id='4'><endfold id='4'>/></endfold id='4'>}<endfold id='8'>`</endfold id='8'> 0077 0078 // Don't highlight tags within variable declaration 0079 let myIdentity: <T>(arg: T) => T = identity; 0080 var myIdentity: <U>(arg: U) => U = identity; 0081 const myIdentity: <beginfold id='2'>{<</beginfold id='2'>T>(arg: T): T<endfold id='2'>}</endfold id='2'> = identity; 0082 0083 // Don't highlight tags within interfaces and classes 0084 interface GenericIdentityFn <beginfold id='2'>{</beginfold id='2'> 0085 <T>(arg: T): T; 0086 <noTag /> 0087 <endfold id='2'>}</endfold id='2'> 0088 class Handler <beginfold id='2'>{</beginfold id='2'> 0089 info: <T>(arg: T): T <noTag />; 0090 <beginfold id='6'><tag</beginfold id='6'>> </tag<endfold id='6'>></endfold id='6'> 0091 <endfold id='2'>}</endfold id='2'> 0092 0093 // Check character after tag name, do not highlight invalid tags 0094 <noTag ? 0095 <noTag , 0096 <noTag <beginfold id='7'>/*</beginfold id='7'> comment <endfold id='7'>*/</endfold id='7'> ? 0097 <noTag# 0098 <noTag<beginfold id='7'>/*</beginfold id='7'>comment<endfold id='7'>*/</endfold id='7'># 0099 0100 // Tagged template literals 0101 tagFunc<beginfold id='8'>`</beginfold id='8'> 0102 Hello world! 0103 ${ <beginfold id='4'><Tag</beginfold id='4'> <endfold id='4'>/></endfold id='4'>; 22 + "11" }<endfold id='8'>`</endfold id='8'>; 0104 obj.something.tagFunc<beginfold id='8'>`</beginfold id='8'>Setting ${setting} is ${value}!<endfold id='8'>`</endfold id='8'>;