ÿØÿà JFIF    ÿÛ „ !.%+&8&+/1555$;@;4?.451 4,$,44444444444414444444444444444444444444444444444444ÿÀ  á á" ÿÄ     ÿÄ ?    !1AQaq"2‘¡±ÁðBRbrÑá#‚’¢²3S CñÿÄ   ÿÄ !    !1QAa‘2ÿÚ   ? 5˜Z¯V¦cø)›t/? z¨±>Õ5€¶‹Á¤·¼z¼Ü¬+ñ®v¤¨_ˆR­BFn©—˜ý®ç̝P8gýt·ÉSTŦˆìät?þé¼íìN/Þa)ì–í6ô… Ï¿øÃj´¿KÇü]ÿ ªô¹-eKànëÕHTx}ýSÜ›ÿ ”7Ø×&µ<¦  ¥ÑO¶[Ù¯ä¨ÞÃÿ PZ-¬;#õ|•oaÿ ©CìÞz3˜öː/¤­ñTûIØ}š^ mÓ%ªxˆ¥ÉŸu=Z+ISe¿45™¼u;ú&WØ÷€æßQ™®{|íx*TC“#ZŠìZ§²‹ 6pv…³¿¡äª*áZÐ%ÒOáˆo"x«OHk w±æ+¬V(kMúŸ5Vö«$ ÁrÏbàb57/luR ¸ÑÛj Òµì`Мq­û žICÀÊ•©4€Âcà¨Ï€O´<èÐ:›ù(Ë^L8þ‘ÍÌ#¸Ð_Ì©ÙK(Öz 4¬û+¸;ü’V’84‘¬ÃŽ:[â‡ÔÌáõp¢~§ªlæ£ö{®G>J¼"°‡7¯ÆÉèßû ‹É‹§ÁòÃýâßî ^ƾÙõ‹×óH#«LP½ïX=xÑÍ$|W?•~• îëÔ©ª‹ {ÝT…Kÿ ”hûâá)J*ö˜–ÔU;iÇ€/ ÆþjóZ\ýwØ=Ìm ºèËL9 ýèÆð/¨’¥öo=nË.%Îì ŽÕ¯È|{Oj²ƒE6e/ßdÄõ²Ìâ1O®ò×TsəԸhOMýíMˆ¿¼H˜l²,7Â¥#MF/Úf°Ö½± ¸–dr‹NýÊ íjqx{œÉ ä-È ¦ øÄër¨q°ð †nцýÑÄÆ’mä…n<0È™;ÁÝá¯ÁZƒ7FÀmì­ É&9ˆîéi¶ùN§Y• ÃZãAâ?•‡©‰ , ó¾IŸŠc1 4â&y­&pŠ­6;M À 0¹qç»p.á …ŸÅáK@%6·y6ƒ‰3?”úºŽ‰éX5ªPT §µ!=Mž«Ú½‹ÅgÂSâÉaþÓoö–¯ÁÔìR>5éÿ üs¶ÆUcÌ kÇR ]ÿ ù¬¼«VŽ;Â|‡~¢¦”ÏŰæ {L™Õ°Óv¹ò¸írޡעCÃ!íVÕ {¶»sŒNPg/ "uÕbkm²“$ďå¿é¹§°½æz¯6 †s¿!s–wÚÝ“™Œ °.ûj>·+™Òa…©Œ&rÝÎtÛë긪Ît’LAVp%c Úý[ÄzJ¾ÇàXXç@˜ó<êL]·T˜¾¥1Ó©V‡g´æ½¦Ý@¹óø!_@´ÞâSÁ —S3™•& ]@JHÚý©ZŽ €×æÔr»Áf!‡yÞ4Mv*èÓã_{‘åóUuљØ«Oïé*®EvÑ Œ÷‡U \"㪒ÍK+À 4“M¡ï:0¥5í!'<@î´”>Ç»&Z–ïCCV˜Ì5Šo&îhè.žû |ÓK©h$s6KìŒëã)¹hI¦GïOåóI;ììü#É$Š0…Ææ¥TØ.5­¾gn´ “ÂÖ\:hœ89G)J@„}œ:’Ò{/Š"¦_Æ×7Æ3VÇŠÊa]ÚŒÙ€Ä–=®uÁßâACZƒ§§£ Qnâ:«,×{tyø¬iÛcœÜÄ€H½ÄÍCk´÷šß .W'b¤Íåh]÷€=,Žv×cÚEÚHXJX¶îo¨FÒtèöŸ>ªª6[J®Fµ£sGÁeqõfe\íjÒÐïÄÐGˆe1Ø‹.Ø”‘Ëuø Y­ˆÜ ŽG|zùªüMpDnQWÄ”%JŠ™)â*p@Örš«ÕT2Ð%ˆG#ª„ ·¤!°ŸOTÂT¸aÚ%4&h™LµšØüÐ.F¿²ÐÞ_Ç‚¾ÅÃaÜ÷09Æ q€öy˜v‡85õN÷]¬äѼóS{°_MެúÔ#°Ç¸0åÞè2ëôPcvÆw9®ií1Ä8F™˜à‰´+‰Ik1òÝ7“Ñ×ÒsÝ\x‚h`ÞÑ`ó"|µEcý£n˜h`}GÞ !±ù²Ápü²ß6 0ïi󜵩SÈÇ7˜-ÕURO˜¦´f$ªž-Í6(œ}<„ éc øs]ŽŽ„*—¾ ìdŽ„)méª\¿êÎIg¾ØÞ~I#C/¼¼´EÁÈŽi8“©õådô·>euä ƒ'Ê×लR1ÉJE1ÐAát`t;ÇР%Ý<‡¥„ÍÆ`×Oyó)õiI€ñQaŸ4Ûù\áàaÃÔ¹HÃu¹*k€¦<„e S‡&õÏ B!ŽhüÞ`yj}mªf×\¿ Ç~æ­9‡û\՞Ǖg²1Žû5V7 !àöšm° c`ܬøÇìµÒ'P"?…´Ö,"§^•õލsÔ)6˜sæéÍR¼ ò|Sl”‹7 nPW Gòú÷½§O¯‡„l¡kSÞŒr½PÊ@æ¢pŽ-mÿ #Ÿ˜Àº¶Áä¦;ïÔæ$1££`“Õ>„—·ž)ßð³ñ#Ï Ô$¶œ‰ÊE‹À;÷º ¯«P:Ñ”8–IÊtpÞ3ª“>ê“þës4ò2OÏÕ­±zô†Õ§‰.÷ä¸;¿˜“'œ›žª}«Œ{ª±Ì 9ÔóÞÕ‡0 $íWV3Üì¬ —@kÝ4@¿r¼±½¬™›?øØæ´'Áé®CË3-g$˜ö‡×auÚi´Žp/êÛ æF›Ú2v‹ã¿¿,nB1̨ƃqÞa5͝@&Æû“él÷ \C²½UÍc ¯k×¢U ÖéQå™—-r wô ÞÏ<Ò=&=ÿ Ôê Òêˈt,i—;LîÜ á¸*ÚÃ1$êL•LÍ <É)ýÐà’ ;F™{ƒ™˜€&'}‚ãÄK`¡ÞT@I;®žZóè‚s’7®°›+§O­Åq©é»²9<Ô J ¼9O’HL»Ùïì¸rk¼Ž_ý‘TŸu[²ßÚŒ·ü÷B%¯E ŸÔX5êO´ Ç•€’I0 ÉJX` ñ¹õ%;µŸD‘«´€àwÒ™U ûئžÖö\×®×´8 ½‡ºÐÆÓ§?Àkmœ=;d5*@-ì0F Rªýš[Ü6âö̃ڸr*KA9· u*µæ£?U¸Âêí†8@¦X4 e-ò„0s{ HâUpU?¼mñRa°®a%Ð'tÉ×’\¾ÊÉ]t›h>·(Ë@R¼¡Ãt h}’O÷au<+nT…Ö…MӐ??Óe95 q>í/;&JSû °¯ÊéÞ øƒ*Ã2½Ài&:nôUl=¾¿5eˆ3”ñc|Ú2V”>„»&eE;«ÚäC p¢Û úy 9š[ŒÌx¼擼A&DåÒ¯ˆ¤ÀÌ;"˜ ÏQä¸åhÊ}Ûq«Û0WžÒ|»€ø®öCm5•\ÇÀ§Pe3£]0ÃàLDÉ‰1øªxjgwT‚÷¿LΨK‹›ùs—xˆÜ±µ kæ¸f‰‰ÜGk/LÛØ6d9ò¶ùA{ƒA3š/¬D¬khÓk‰`˜"㯒r¿±Óã jx‡°e}<Ñø\3y:'À•/h½Í€Ç4~g ?Û(¼]v‘ªlKÎâ~?O‚W%{Ì:“'©úNq¾›úo(X’¥¯ˆ nFê{Ç€ü?º'ë ø‹ì Þ09ŒÌç9Æ —ËC`j@ÓÄ(+a‹un¸#ÂꟋ{K`‘ÑÍÍ'à´»/Û,KW;Þ4²þð ï Nm|~fGÏ(…³Ã)«1ö­Õ ¥‡¨©ƒÃ™ü-s=à=U66Ï«Ýc蓦W¹íž®›nÔ%êÇìŒ<#Ü×84ån®Ð ÒåOC` ñânÑs‡¢ç 1õ%Îhì½Ã½® e:ݼUZo™`  ÅZŸŒÊ«ê1ÏÄo$q¹Þ€©ˆhÐÉä¯ñ[!…Ú˜àJ:x2$Íß&PåT£6ç— ‡Í*4Ýšçjÿ ‰É nófÐ ó(L5C•åÆ\rMÒ@ò }y-W}™üýVù—ú¢=Ù”c®‘< M ž ´Phr ¦©TD ‘ù.$´÷O‡‘V2Æò.=IUŒ=ž‡â¬i™aþÓåÙ?òUø'ØÖ•.~* šTŒ!•-×áºTâ®ä#õü'´ eýlYÅÓeÕKÂrT"CÚ@u!Óxƒ{š3€}1¿(r}%«nËamjÑ%ÑNEò v ˜à  σöK³,*º.àzù¨™Ó ÚçâU¦*¿ 9{%Ö¹ njûdaXöb) kÛÆ±ûÓ\°M7ˆÂ=û›ç¿Ã‚­V»Cg–8ÙêE- j)k$º`Ã-ùEýeBÆÇ]c¡°ñty&Òd0nõ'¡W+ƒ*|–øµFa\GQªEAÔp5\Ǽ·¼Ç8·õ -â§Ú[ ‡ uZeÖ 3}×d'+¹:ð+K†Û®s!Ï$úe€<Û”x)1»a­¡LC]¸µík…ÚàA»AYº{†ªS[¦5HÒ7ù --,ísòDØ€èk ÞÀîÜ ò@â( ËNˆë›4ô½•/¦o‡€Û7 ê•ÆêòðÜy'Án½µ á˜ݦ ndeo…[ì¶Ê,¥R³Ä=À±—–ß;£™´ñSâ*g§”ïaið‘Jå~™ÓÞ ß³Õ¢»8x埒²52>AÊb&-÷\7´éÄù€T˜,w;3{ï˜k…à¹ÄqÀ«œ{€\ ˆ¾[´¨јr &Úé„Ívˆ±8†¿]|¬ņ4I×pÞS1ÈÖz‰#Ìv‡G!YNògñ:màTz¢Ý1ô©^O=~ë|5Bã™ç•¼µõ•bÆ@úÕS¬ÈŒ#¬zünrŸ û” Z²•èðV"ÁHÚý©wÝ €7¼Ìu1hÑa3Éä û f$o¿É ™Ú›ÝçnpÒ3äÌ3†Í§,Äï]$‰/pê †«À¼¸e9­Æê_C]žƒ·ý·frÁN«, E=›Çq -‰öŒ:aÏ¿±í&£Í:-} 84‘ÿ eƒQÑeëSsuiA ³g㟥ú£?ÿ ʼn*”“÷aühe:ÊWa@ÒÞk±eØ] F Ô—r.åä˜ @ö¥ªZoÐýYL·¥S²G/‡ñ <~*ZÆ´è>JlòàÛÆ½ÿ 窘ìGN¢:I®KšJp/`íIÁÀõ#Ä-€ö­šµŒoF4|ÆQØÆ@Ì|£Ô…¢À{9˜è½Üó›€ôYÒÎYsið;ís¤€à²ˆ‚4qÉVŒI$ ‰"° æµ8cXGjœˏ¡Aâý•ËÜ¢ûï e·çLx']á"oÅÎê3¯Ç—¹”ó0nå‚âg{Œñ> S´˜îè°g238‚ãköÝfÚd´6Ò€;ò÷±¢™¼›º ¢Æ'¥Ðx'e¬ç ]bÈÆV¢ó‹kýBO ðÊâ$Ÿ!×T 3Mýמ žìٍàÌü‘8÷€àæØ8æ©6‰©L´«…oãpð„~Çk‰!ñ;‹”ÛžÍ àž±z Ÿôû øŸÝužÏ;ÿ #|u6™Þ¬ÚˆÐõA4¶â|ôl|Ê2ŽÇ¤ÝÅÇY.<#Aí.k§hóF‚”Y; M½Ö4hŸ4&›­¿tès´%FìL¥£Ãk‰ÇT¤haÁ¤ÚxfÉ`ÑìË›>i 3t‚:,–+^÷´–{Û–Nxi"x‘Ûg î¨>¥Õ܁ùZH,2Û“:8xÊ¢Çí9.É-Ìâã-=çjwµS˜dütžçwýGòú®®ûº_ˆýx$–¡ãøO EÚÛÏ÷R„×w+3£Á£öUMyR²¹âŒ°š›¸Ñãò9§Ó_Dl+Ùßc›úšGÅÌc†Ž!Ko=¶.‘Îÿ c²(2®V mª.ÿ ¹B›¹å ù„öŸSV>™ü¯$y:G¢Z×àøúdî¹û­·ýÇ´:•c LÍõi_‹ö+ÎæGÊè>OŠ•äž´§Þ{X}¨1ÚTc›»Qþ•êô°t¿OP?eæ~É{5]•ÙR£r5†nZ\ã@ &îJõ ¾àC°þV>fé¥/ü5ñÊIº_é5 ;e­h<@ Ä&æÃëE%;X,ÒãÆÞ`Oò¦kŸm#˜!ÀyÄ¢| óLšò¥Ä` ¶R=|ÈCâh5ò3DˆïF†ðÒ#ÅìÛœ?¸yhBãœí ZxßÎÄhºRK„`Þödvײ™ÀÈÑÒgŒuY w³%†ƒÓzõ ÖÏp‚dH®¦A´ù§»ÓÇMæ~)ˆð‡û:ù&Ä •vGD´À n ݇¼Ö8Fö óáà£~Ë¥x`oK|Ä?fxiØü%pìR>éò+Û±éÎ>núlFŤ'tq8LZÏvÃ?„¡ß±È⽆¯³íü@x|PöUäèØã¡ð‚ŒAìÏ"vÍwóŸÍ{ ý0.z È•Ö{,N¡£¡ŸKÕÙž>Ýœþ ÍÀ°<×EA!Å‚D™IúOÍ¡>ôG}Â` ÍßkÜL™Ž Þð™ {IøF²¹òQ3&!ÃÂÞz.d&Ï-sH¸,Ôõ˜ŽP€ 77ˆÝ¼ÊëÜw =cÕ Ú,ØÐ5ÎYÐ)ì´öœgŒ[¤ßv㙑8心>h]§µháYš£²ºÑ.{Ï7Sð•?´~×SÃKýJÛ˜ ™Íäiúu<µX¶1õ^kâçIÑ£sZ4h>j*ÔšD:4­¿_ ÷¸ Õxæÿ ¸?Mù _•­ÊÐ ä ÷ý ÑwL œ­ïnTkÛUÍN©ë:¦fV ¶ÜÔÜMªÅâA½–¿R×TXš-%iTÊT•‡Ù‚JôϐZxWÑè‰f‰òG º ×Õû2aZ7OU3[“×AT–ÞŒ…-‘¤”Ì ì&(ˆ¿­•ƒkï’:ðY¦W‘ Å)“†‘˜³Åtcø˜ñTÂwÚÇ4|üLÇªí–v- qˆèU qPE.†â‘˜µ Æ,ÐÅs]8¾„oúÑ i>ÜxxÈó)ƒ ´æÁâØ$À‰vžŸf$Ž |ãw;ÀÁIJ»b` {¦Ó¤Ú$©YÀ‘n@Óïž«9J¼êG m¤ ܯ¹ÌW4€ÐÒÅÛ‡#褕Ÿn-?í|с¥÷Ú¹¬'´ÞÜ9ÓK `hê£SÄSà?7—Wí_´…óB›»:=Ãïq`<8ñÓŒÑlú2d¬ê³£hÖ[l|$vÝro~'R®‰§°ñmY ͧäP |PUª¹·:3Œ[Û{Xÿ ºâ@‚W–Äé u‚ ¯´*=íή.pûÒdt @G‰¬ s¸ ëÉücr ÞæÑ¨Ê@>¤¢Ö±. Þ'¯°ÌME[YéïĵÂCå½ Ué©Áû'Ê9%eÔðNU”ë‘ÌsD3/®+UI˜9h.WC”빓$#:pz:YÓ ¿xž* ³$Í +$kñAŠ‹†¢ Uê>¸)_š¬÷©ßAÂÔb9ÇU ¯¾á•9¯ÏÏ÷O÷¼¼Fähal1‰3Ì[Ïr•´UCksNÐ] R‘¸¥H+§Šé†c©vÖÞ0iÓ76s†î!§=ß ¼~Ô'°Ãmäoäš³ªøi1úÉ)³yV8 CLÄØÁ‘WYïi€H6ÖÑiámø^ÈY´°Ñ7¥Û*—Ñ©L«Qƒï—Ùrÿ ›£Ð*š¸ˆL©ˆ$ˆ ÷¾D§9È®«qbqC)–ˆïv´çñsÑVT­Ø, <àïºÀO«Jý·õ àfPìð .wFšir´þ’2_Y *Æ€x\« ì€9š@ Ž|F⇥ˆkZ@hÖÄ0t¿-<“‹qµ¾*ZL¤Ú)&BJpÓF5=$„at*Zš$’ÑtdûÝRI1 2މ$€$I$#‰SÞ’Hë¬ï;Á$¡t$’`<(ñÇt)$‡Ð.Êf¢X’Kt=Éé$‚ˆªè¢oÝëòI%Rgcª÷ŠyI%¡‰ÿ !ñ)´õ $¤ Ô’IIGÿÙ""" pygments.lexers.arturo ~~~~~~~~~~~~~~~~~~~~~~ Lexer for the Arturo language. :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ from pygments.lexer import RegexLexer, bygroups, do_insertions, include, \ this, using, words from pygments.token import Comment, Error, Keyword, Name, Number, Operator, \ Punctuation, String, Text from pygments.util import ClassNotFound, get_bool_opt __all__ = ['ArturoLexer'] class ArturoLexer(RegexLexer): """ For Arturo source code. See `Arturo's Github `_ and `Arturo's Website `_. .. versionadded:: 2.14.0 """ name = 'Arturo' aliases = ['arturo', 'art'] filenames = ['*.art'] url = 'https://arturo-lang.io/' def __init__(self, **options): self.handle_annotateds = get_bool_opt(options, 'handle_annotateds', True) RegexLexer.__init__(self, **options) def handle_annotated_strings(self, match): """Adds syntax from another languages inside annotated strings match args: 1:open_string, 2:exclamation_mark, 3:lang_name, 4:space_or_newline, 5:code, 6:close_string """ from pygments.lexers import get_lexer_by_name # Header's section yield match.start(1), String.Double, match.group(1) yield match.start(2), String.Interpol, match.group(2) yield match.start(3), String.Interpol, match.group(3) yield match.start(4), Text.Whitespace, match.group(4) lexer = None if self.handle_annotateds: try: lexer = get_lexer_by_name(match.group(3).strip()) except ClassNotFound: pass code = match.group(5) if lexer is None: yield match.group(5), String, code else: yield from do_insertions([], lexer.get_tokens_unprocessed(code)) yield match.start(6), String.Double, match.group(6) tokens = { 'root': [ (r';.*?$', Comment.Single), (r'^((\s#!)|(#!)).*?$', Comment.Hashbang), # Constants (words(('false', 'true', 'maybe'), # boolean suffix=r'\b'), Name.Constant), (words(('this', 'init'), # class related keywords prefix=r'\b', suffix=r'\b\??:?'), Name.Builtin.Pseudo), (r'`.`', String.Char), # character (r'\\\w+\b\??:?', Name.Property), # array index (r'#\w+', Name.Constant), # color (r'\b[0-9]+\.[0-9]+', Number.Float), # float (r'\b[0-9]+', Number.Integer), # integer (r'\w+\b\??:', Name.Label), # label # Note: Literals can be labeled too (r'\'(?:\w+\b\??:?)', Keyword.Declaration), # literal (r'\:\w+', Keyword.Type), # type # Note: Attributes can be labeled too (r'\.\w+\??:?', Name.Attribute), # attributes # Switch structure (r'(\()(.*?)(\)\?)', bygroups(Punctuation, using(this), Punctuation)), # Single Line Strings (r'"', String.Double, 'inside-simple-string'), (r'»', String.Single, 'inside-smart-string'), (r'«««', String.Double, 'inside-safe-string'), (r'\{\/', String.Single, 'inside-regex-string'), # Multi Line Strings (r'\{\:', String.Double, 'inside-curly-verb-string'), (r'(\{)(\!)(\w+)(\s|\n)([\w\W]*?)(^\})', handle_annotated_strings), (r'\{', String.Single, 'inside-curly-string'), (r'\-{3,}', String.Single, 'inside-eof-string'), include('builtin-functions'), # Operators (r'[()[\],]', Punctuation), (words(('->', '==>', '|', '::', '@', '#', # sugar syntax '$', '&', '!', '!!', './')), Name.Decorator), (words(('<:', ':>', ':<', '>:', '<\\', '<>', '<', '>', 'ø', '∞', '+', '-', '*', '~', '=', '^', '%', '/', '//', '==>', '<=>', '<==>', '=>>', '<<=>>', '<<==>>', '-->', '<->', '<-->', '=|', '|=', '-:', ':-', '_', '.', '..', '\\')), Operator), (r'\b\w+', Name), (r'\s+', Text.Whitespace), (r'.+$', Error), ], 'inside-interpol': [ (r'\|', String.Interpol, '#pop'), (r'[^|]+', using(this)), ], 'inside-template': [ (r'\|\|\>', String.Interpol, '#pop'), (r'[^|]+', using(this)), ], 'string-escape': [ (words(('\\\\', '\\n', '\\t', '\\"')), String.Escape), ], 'inside-simple-string': [ include('string-escape'), (r'\|', String.Interpol, 'inside-interpol'), # Interpolation (r'\<\|\|', String.Interpol, 'inside-template'), # Templates (r'"', String.Double, '#pop'), # Closing Quote (r'[^|"]+', String) # String Content ], 'inside-smart-string': [ include('string-escape'), (r'\|', String.Interpol, 'inside-interpol'), # Interpolation (r'\<\|\|', String.Interpol, 'inside-template'), # Templates (r'\n', String.Single, '#pop'), # Closing Quote (r'[^|\n]+', String) # String Content ], 'inside-safe-string': [ include('string-escape'), (r'\|', String.Interpol, 'inside-interpol'), # Interpolation (r'\<\|\|', String.Interpol, 'inside-template'), # Templates (r'»»»', String.Double, '#pop'), # Closing Quote (r'[^|»]+', String) # String Content ], 'inside-regex-string': [ (r'\\[sSwWdDbBZApPxucItnvfr0]+', String.Escape), (r'\|', String.Interpol, 'inside-interpol'), # Interpolation (r'\<\|\|', String.Interpol, 'inside-template'), # Templates (r'\/\}', String.Single, '#pop'), # Closing Quote (r'[^|\/]+', String.Regex), # String Content ], 'inside-curly-verb-string': [ include('string-escape'), (r'\|', String.Interpol, 'inside-interpol'), # Interpolation (r'\<\|\|', String.Interpol, 'inside-template'), # Templates (r'\:\}', String.Double, '#pop'), # Closing Quote (r'[^|<:]+', String), # String Content ], 'inside-curly-string': [ include('string-escape'), (r'\|', String.Interpol, 'inside-interpol'), # Interpolation (r'\<\|\|', String.Interpol, 'inside-template'), # Templates (r'\}', String.Single, '#pop'), # Closing Quote (r'[^|<}]+', String), # String Content ], 'inside-eof-string': [ include('string-escape'), (r'\|', String.Interpol, 'inside-interpol'), # Interpolation (r'\<\|\|', String.Interpol, 'inside-template'), # Templates (r'\Z', String.Single, '#pop'), # Closing Quote (r'[^|<]+', String), # String Content ], 'builtin-functions': [ (words(( 'all', 'and', 'any', 'ascii', 'attr', 'attribute', 'attributeLabel', 'binary', 'block' 'char', 'contains', 'database', 'date', 'dictionary', 'empty', 'equal', 'even', 'every', 'exists', 'false', 'floatin', 'function', 'greater', 'greaterOrEqual', 'if', 'in', 'inline', 'integer', 'is', 'key', 'label', 'leap', 'less', 'lessOrEqual', 'literal', 'logical', 'lower', 'nand', 'negative', 'nor', 'not', 'notEqual', 'null', 'numeric', 'odd', 'or', 'path', 'pathLabel', 'positive', 'prefix', 'prime', 'set', 'some', 'sorted', 'standalone', 'string', 'subset', 'suffix', 'superset', 'ymbol', 'true', 'try', 'type', 'unless', 'upper', 'when', 'whitespace', 'word', 'xnor', 'xor', 'zero', ), prefix=r'\b', suffix=r'\b\?'), Name.Builtin), (words(( 'abs', 'acos', 'acosh', 'acsec', 'acsech', 'actan', 'actanh', 'add', 'after', 'alphabet', 'and', 'angle', 'append', 'arg', 'args', 'arity', 'array', 'as', 'asec', 'asech', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'attr', 'attrs', 'average', 'before', 'benchmark', 'blend', 'break', 'builtins1', 'builtins2', 'call', 'capitalize', 'case', 'ceil', 'chop', 'chunk', 'clear', 'close', 'cluster', 'color', 'combine', 'conj', 'continue', 'copy', 'cos', 'cosh', 'couple', 'csec', 'csech', 'ctan', 'ctanh', 'cursor', 'darken', 'dec', 'decode', 'decouple', 'define', 'delete', 'desaturate', 'deviation', 'dictionary', 'difference', 'digest', 'digits', 'div', 'do', 'download', 'drop', 'dup', 'e', 'else', 'empty', 'encode', 'ensure', 'env', 'epsilon', 'escape', 'execute', 'exit', 'exp', 'extend', 'extract', 'factors', 'false', 'fdiv', 'filter', 'first', 'flatten', 'floor', 'fold', 'from', 'function', 'gamma', 'gcd', 'get', 'goto', 'hash', 'help', 'hypot', 'if', 'in', 'inc', 'indent', 'index', 'infinity', 'info', 'input', 'insert', 'inspect', 'intersection', 'invert', 'join', 'keys', 'kurtosis', 'last', 'let', 'levenshtein', 'lighten', 'list', 'ln', 'log', 'loop', 'lower', 'mail', 'map', 'match', 'max', 'maybe', 'median', 'min', 'mod', 'module', 'mul', 'nand', 'neg', 'new', 'nor', 'normalize', 'not', 'now', 'null', 'open', 'or', 'outdent', 'pad', 'panic', 'path', 'pause', 'permissions', 'permutate', 'pi', 'pop', 'pow', 'powerset', 'powmod', 'prefix', 'print', 'prints', 'process', 'product', 'query', 'random', 'range', 'read', 'relative', 'remove', 'rename', 'render', 'repeat', 'replace', 'request', 'return', 'reverse', 'round', 'sample', 'saturate', 'script', 'sec', 'sech', 'select', 'serve', 'set', 'shl', 'shr', 'shuffle', 'sin', 'sinh', 'size', 'skewness', 'slice', 'sort', 'split', 'sqrt', 'squeeze', 'stack', 'strip', 'sub', 'suffix', 'sum', 'switch', 'symbols', 'symlink', 'sys', 'take', 'tan', 'tanh', 'terminal', 'to', 'true', 'truncate', 'try', 'type', 'union', 'unique', 'unless', 'until', 'unzip', 'upper', 'values', 'var', 'variance', 'volume', 'webview', 'while', 'with', 'wordwrap', 'write', 'xnor', 'xor', 'zip' ), prefix=r'\b', suffix=r'\b'), Name.Builtin) ], }