package Ġch . de let escape . highlight . languages Ċ import Ġch . de let escape . highlight . core .* Ċ /* Ċ Language Ġ= ĠQ ML Ċ Requires Ġ= Ġjavascript . js , Ġxml . js Ċ Author Ġ= ĠJohn ĠF oster Ġ< j fo ster @ esri . com > Ċ Description Ġ= ĠSyntax Ġhighlighting Ġfor Ġthe ĠQt ĠQuick ĠQ ML Ġscripting Ġlanguage , Ġbased Ġmostly Ġoff ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġthe ĠJavaScript Ġparser . Ċ Category Ġ= Ġscripting Ċ */ Ċ /** Ċ Ġ* ĠThis Ġfunction Ġwas Ġautomatically Ġgenerated , Ġavoid Ġdirectly Ġediting Ġit Ġif Ġpossible ! Ċ Ġ* ĠOrigin Ġhighlight . js / src / languages / q ml . js ĠMD 5 Ġ< b 2 3 ca 8 ed 7 6 2 deb 3 6 f 3 8 6 5 ec 2 7 8 8 e 1 ff 0 > Ċ Ġ*/ Ċ internal Ġfun Ġq ml (): ĠMode Ġ{ ĊĠĠĠ Ġvar ĠKEY WORDS Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġkeyword ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" keyword ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" in Ġof Ġon Ġif Ġfor Ġwhile Ġfinally Ġvar Ġnew Ġfunction Ġdo Ġreturn Ġvoid Ġelse Ġbreak Ġcatch Ġinstanceof Ġwith Ġthrow Ġcase Ġdefault Ġtry Ġthis Ġswitch Ġcontinue Ġtypeof Ġdelete Ġlet Ġyield Ġconst Ġexport Ġsuper Ġdebugger Ġas Ġasync Ġawait Ġimport " ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġkeyword ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" literal ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" true Ġfalse Ġnull Ġundefined ĠNaN ĠInfinity " ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġkeyword ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" built _ in ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" eval Ġis Finite Ġis NaN ĠparseFloat ĠparseInt Ġdecode URI Ġdecode URIComponent Ġencode URI ĠencodeURIComponent Ġescape Ġun escape ĠObject ĠFunction ĠBoolean ĠError ĠEval Error ĠInternal Error ĠRange Error ĠReference Error ĠStop Iteration ĠSyntax Error ĠTypeError ĠURI Error ĠNumber ĠMath ĠDate ĠString ĠRegExp ĠArray ĠFloat 3 2 Array ĠFloat 6 4 Array ĠInt 1 6 Array ĠInt 3 2 Array ĠInt 8 Array ĠUint 1 6 Array ĠUint 3 2 Array ĠUint 8 Array ĠUint 8 Clamp ed Array ĠArray Buffer ĠData View ĠJSON ĠInt l Ġarguments Ġrequire Ġmodule Ġconsole Ġwindow Ġdocument ĠSymbol ĠSet ĠMap ĠWeak Set ĠWeak Map ĠProxy ĠReflect ĠBehavior Ġbool Ġcolor Ġcoordinate Ġdate Ġdouble Ġenumeration Ġfont Ġge oc ircle Ġge ore ct angle Ġge osh ape Ġint Ġlist Ġmatrix 4 x 4 Ġparent Ġpoint Ġquaternion Ġreal Ġrect Ġsize Ġstring Ġurl Ġvariant Ġvector 2 d Ġvector 3 d Ġvector 4 d Promise " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ). flatten () ĊĠĠĠ Ġvar ĠQ ML _ IDENT _ RE Ġ= Ġ"[ a - zA - Z _ ][ a - zA - Z 0 - 9 \\ ._ ]* " ĊĠĠĠ Ġ// ĠI sol ate Ġproperty Ġstatements . ĠEnd s Ġat Ġa Ġ:, Ġ= , Ġ; , Ġ, , Ġa Ġcomment Ġor Ġend Ġof Ġline . ĊĠĠĠ Ġ// ĠUse Ġproperty Ġclass . ĊĠĠĠ Ġvar ĠPROPERTY Ġ= ĠMode ( ĊĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" keyword ", ĊĠĠĠĠĠĠĠ Ġbegin Ġ= Ġ"\\ b property \\ b ", ĊĠĠĠĠĠĠĠ Ġstarts Ġ= ĠMode ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" string ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ" (: |= |; |, |// | / \\ * |\ $ )", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn End Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠĠĠ Ġ// ĠI sol ate Ġsignal Ġstatements . ĠEnd s Ġat Ġa Ġ) Ġa Ġcomment Ġor Ġend Ġof Ġline . ĊĠĠĠ Ġ// ĠUse Ġproperty Ġclass . ĊĠĠĠ Ġvar ĠSIGNAL Ġ= ĠMode ( ĊĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" keyword ", ĊĠĠĠĠĠĠĠ Ġbegin Ġ= Ġ"\\ b signal \\ b ", ĊĠĠĠĠĠĠĠ Ġstarts Ġ= ĠMode ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" string ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ"( \\ (| : |= |; |, |// | / \\ * |\ $ )", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn End Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠĠĠ Ġ// Ġid : Ġis Ġspecial Ġin ĠQ ML . ĠWhen Ġwe Ġsee Ġid : Ġwe Ġwant Ġto Ġmark Ġthe Ġid : Ġas Ġattribute Ġand ĊĠĠĠ Ġ// Ġemp has ize Ġthe Ġtoken Ġfollowing . ĊĠĠĠ Ġvar ĠID _ ID Ġ= ĠMode ( ĊĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" attribute ", ĊĠĠĠĠĠĠĠ Ġbegin Ġ= Ġ"\\ bid \\ s * :", ĊĠĠĠĠĠĠĠ Ġstarts Ġ= ĠMode ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" string ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĠQ ML _ IDENT _ RE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn End Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠĠĠ Ġ// ĠFind ĠQ ML Ġobject Ġattribute . ĠAn Ġattribute Ġis Ġa ĠQ ML Ġidentifier Ġfollowed Ġby Ġ: . ĊĠĠĠ Ġ// ĠUnfortunately Ġit 's Ġhard Ġto Ġknow Ġwhere Ġit Ġends , Ġas Ġit Ġmay Ġcontain Ġscal ars , ĊĠĠĠ Ġ// Ġobjects , Ġobject Ġdefinitions , Ġor Ġjavascript . ĠThe Ġtrue Ġend Ġis Ġeither Ġwhen Ġthe Ġparent ĊĠĠĠ Ġ// Ġends Ġor Ġthe Ġnext Ġattribute Ġis Ġdetected . ĊĠĠĠ Ġvar ĠQ ML _ ATTRIBUTE Ġ= ĠMode ( ĊĠĠĠĠĠĠĠ Ġbegin Ġ= ĠQ ML _ IDENT _ RE Ġ+ Ġ"\\ s * :", ĊĠĠĠĠĠĠĠ Ġreturn Begin Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġcontains Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" attribute ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbegin Ġ= ĠQ ML _ IDENT _ RE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ"\\ s * :", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexclude End Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre levance Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġre levance Ġ= Ġ 0 ĊĠĠĠ Ġ) ĊĠĠĠ Ġ// ĠFind ĠQ ML Ġobject . ĠA ĠQ ML Ġobject Ġis Ġa ĠQ ML Ġidentifier Ġfollowed Ġby Ġ{ Ġand Ġends Ġat Ġthe Ġmatching Ġ}. ĊĠĠĠ Ġ// ĠAll Ġwe Ġreally Ġcare Ġabout Ġis Ġfinding ĠIDENT Ġfollowed Ġby Ġ{ Ġand Ġjust Ġmark Ġup Ġthe ĠIDENT Ġand Ġignore Ġthe Ġ{. ĊĠĠĠ Ġvar ĠQ ML _ OBJECT Ġ= ĠMode ( ĊĠĠĠĠĠĠĠ Ġbegin Ġ= ĠQ ML _ IDENT _ RE Ġ+ Ġ"\\ s * \\ {", ĊĠĠĠĠĠĠĠ Ġend Ġ= Ġ"\\ {", ĊĠĠĠĠĠĠĠ Ġreturn Begin Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġre levance Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġcontains Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . inherit ( hljs . TITLE _ MODE , ĠMode ( begin Ġ= ĠQ ML _ IDENT _ RE )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠĠĠ Ġreturn ĠMode ( ĊĠĠĠĠĠĠĠ Ġaliases Ġ= ĠlistOf (" qt "), ĊĠĠĠĠĠĠĠ Ġcase _ ins ensitive Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġkeywords Ġ= ĠKEY WORDS , ĊĠĠĠĠĠĠĠ Ġcontains Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" meta ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbegin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ^\ s * [' \"] use Ġ( strict | asm )[' "] """ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . A POS _ STRING _ MODE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . QUOTE _ STRING _ MODE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( // Ġtemplate Ġstring ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" string ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbegin Ġ= Ġ"` ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ"` ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontains Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . BACK SL ASH _ ESCAPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" subst ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbegin Ġ= Ġ"\\ ${ '$ '} \\ {", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ"\\ }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . C _ LINE _ COMMENT _ MODE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . C _ BLOCK _ COMMENT _ MODE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" number ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvariants Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( begin Ġ= Ġ"\\ b ( 0 [ b B ][ 0 1 ]+ )"), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( begin Ġ= Ġ"\\ b ( 0 [ o O ][ 0 - 7 ]+ )"), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( begin Ġ= Ġhl js . C _ NUMBER _ RE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre levance Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( // Ġ" value " Ġcontainer ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbegin Ġ= Ġ"(" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . RE _ STAR TER S _ RE Ġ+ Ġ"| \\ b ( case | return | throw )\\ b )\\ s *", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkeywords Ġ= Ġkeywords (" return Ġthrow Ġcase "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontains Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . C _ LINE _ COMMENT _ MODE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . C _ BLOCK _ COMMENT _ MODE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . REG EXP _ MODE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( // ĠE 4 X Ġ/ ĠJSX ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbegin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" < """, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ">\ s *[ );\ ]] """, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre levance Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub Language Ġ= Ġ" xml " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre levance Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSIGNAL , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPROPERTY , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" function ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbegin Keywords Ġ= Ġkeywords (" function "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" \{ """, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexclude End Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontains Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . inherit ( hljs . TITLE _ MODE , ĠMode ( begin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" [ A - Za - z \ ${ '$ '} _ ][ 0 - 9 A - Za - z \ ${ '$ '} _ ]* "" ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġ" params ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbegin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" \ (" "", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" \) """, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexclude Begin Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexclude End Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontains Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . C _ LINE _ COMMENT _ MODE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . C _ BLOCK _ COMMENT _ MODE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġillegal Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" \[ |% """ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbegin Ġ= Ġ"\\ ." Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhl js . IDENT _ RE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre levance Ġ= Ġ 0 Ġ// Ġhack : Ġprevents Ġdetection Ġof Ġkeywords Ġafter Ġdots ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠID _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠQ ML _ ATTRIBUTE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠQ ML _ OBJECT ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġillegal Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" # """ ĊĠĠĠ Ġ) Ċ } Ċ