From 6a043870090be183a993eeb4b530338613f91da7 Mon Sep 17 00:00:00 2001 From: Dmitriy Pleshevskiy Date: Thu, 5 Jan 2023 16:53:32 +0300 Subject: [PATCH] grammar: add link and tooltip attributes Closes #18 --- grammar.js | 2 ++ src/grammar.json | 34 +++++++++++++++++++++++++++------- src/node-types.json | 16 ++++++++++++++-- src/parser.c | Bin 158056 -> 193736 bytes test/corpus/attributes.txt | 4 ++++ test/corpus/shape.txt | 15 +++++++++++++++ test/highlight/attribute.d2 | 16 +++++++++++++++- test/highlight/shape.d2 | 7 +++++++ tree-sitter-d2.wasm | Bin 40829 -> 48929 bytes 9 files changed, 84 insertions(+), 10 deletions(-) diff --git a/grammar.js b/grammar.js index 114b847..2364a5a 100644 --- a/grammar.js +++ b/grammar.js @@ -190,6 +190,8 @@ module.exports = grammar({ choice( "shape", "label", + "link", + "tooltip", // sql "constraint", // image diff --git a/src/grammar.json b/src/grammar.json index 3aa6922..dc01220 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -777,6 +777,14 @@ "type": "STRING", "value": "label" }, + { + "type": "STRING", + "value": "link" + }, + { + "type": "STRING", + "value": "tooltip" + }, { "type": "STRING", "value": "constraint" @@ -1286,14 +1294,26 @@ } }, "_unquoted_string": { - "type": "TOKEN", + "type": "REPEAT1", "content": { - "type": "PREC", - "value": -1, - "content": { - "type": "PATTERN", - "value": "[^'\"`|\\n\\s;{}]([^\\n;{}]*[^\\n\\s;{}])?" - } + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "escape_sequence" + }, + { + "type": "TOKEN", + "content": { + "type": "PREC", + "value": -1, + "content": { + "type": "PATTERN", + "value": "[^'\"`\\\\|\\n\\s;{}]([^\\\\\\n;{}]*[^\\\\\\n\\s;{}])?" + } + } + } + ] } }, "string": { diff --git a/src/node-types.json b/src/node-types.json index 15a9534..92c1eec 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -19,13 +19,17 @@ "named": true, "fields": {}, "children": { - "multiple": false, + "multiple": true, "required": false, "types": [ { "type": "boolean", "named": true }, + { + "type": "escape_sequence", + "named": true + }, { "type": "float", "named": true @@ -202,9 +206,13 @@ "named": true, "fields": {}, "children": { - "multiple": false, + "multiple": true, "required": false, "types": [ + { + "type": "escape_sequence", + "named": true + }, { "type": "string", "named": true @@ -476,6 +484,10 @@ "type": "target-arrowhead", "named": false }, + { + "type": "tooltip", + "named": false + }, { "type": "true", "named": false diff --git a/src/parser.c b/src/parser.c index 2c3ba0ac08c9fc896c4603999816919e135bb82e..334c028e887fca2be166dfc06fef910900f27149 100644 GIT binary patch literal 193736 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 Ver3eoSNDFga+vLX@R2sW{}0X%_=5ld literal 158056 zcmeHwYm*zdvFQD*U%_kNidHGvcW3yHPjYG_ZyZ%*$&uFQ&w;6Rn_~q{kE#+yXAggZU67v#dcS1 zKY#Owd-pzFzUp07ua@iT>SR9u>gl(S=JN-=fBlPnyj(5Tui@*xPv34Audf%quO2<> zT`d={*PGpbdD(k=vwIUOTSBF6b=CXiv;Vwa?sm)d>(5>-tJT$K%k^@DiMxFE@Do z>GAoKFJ-G!-RSGHzs;$a7w3Qd_WbFi^ZAqWr(a$Cxi{2xzIp!a%WofDz&PiR6@>o1 zd)4~py7$j}z20KISt>??DYQ0|q z{kQY|=KE@0K*K?@MhP{B$r^pAG2%7$)ld8R%hl%cd(+8SR1gCYoOH8zT|uJ>Hc}(I zT5hY${c^L0lBrd)d$V{e>KCWh=hfn6wGy9gf?RIayZv^tT<=AhO_e1SimyZz)$?xu z^9tb;CDi91msk5YqBad*eST9dU%x@vG-&m`epMQDw;?D}H(jGLcakbb9tV?_3FE`sOm~;VRySQ53>_iot46iop zJyy8ftTtOwZqoy%;cD}v_-+&A`ewCXzC{X_Hc1xi<@I6@vJY)+!mO6-@5NW7ieQU5 zGRh^UCo#TTT3_;R%olitU%BdDA8KW;WKx;YRZw3;ZihyUWQ-#)uI7vJr{f2qHl z;oq#Q-6gO&Km%AS(9;NX{z~XukXZo*DI&X8wXZfeFN3uQNEuO^s?K-SKW?h^rC_gt z%{=?<4Suz0@@lc#;b%<~5UJ{QB{*ZCsq$*ISqS6?nl3Q4)%9w=Mw$|a?&7ni0TD>Z?egW# zUJ!3&2!X_7GCeY6pw6v!nhNumiya7n(E4+$hM|ZlR0A*sL3M659BV3oSb?rLg_@va zO_uo*W^e0Ogn^9>jSLjo{aDipSzj#Hx+7J^(2Vf_AK%zej@MA?&R{K&F{F&vRUK=> zsugpr35k>Q!(xRBU~Fh8mH@F*PBi7TlACBsz1(b8)dH&-(vVP2kRA(Zb};FhZ>zV} zVlV8D2@*urVWVJGkRqyzD_9&Bk|R`6ssqz2sUKw!LANAv(qLhIBat*nW;wAsNHJZ< z%sC2!2XczkRMn-1H_)a?S+Ix~JG9meZnPv$fy%#paqk{zMPYP9@owL{e6!g0ek*_M zvEj?jYQA1vSG(EYfy}~uoI%0Mn*LOZH&d@52p-d1}tGLr9Xq^#!_ZAKMRe5 zfM9)L8S?7lw*%cXqOm@G{fx|Nr-f}(V|DTAGc>WCy1)itUlR)Wr&F%%Y^n6iRh2dqFHvQcBsfN`$9wPKY@lS@n>o6h***Nn)TK7c^qy(Cm7NX%0G6HQ=VO z6i&S7Wf8T4MT};Q^Bp>eN+Jz?rz|=k4%KRw7+=u*6I_ifgASYSZ;n4LJi&QWw17WN z5v?#-M1Pth>C9o7{M!`Hm4+05&}Z$%n8=Cp#|Xav-EPRpB3&SC=YO`Fx!TO?G*%b~ zL8_V~z+qUWJ`hVexiCV74hW-g>{0mNorXzA6UoTp4*_4)1}E(fJ^=fZtR8ku)vU?! zk{{u@sTVI^{Co|LY0tQ**Ne9~2i135eQ#Bp0d|q`S#<^aWLGo(tFA_$s9MsORU*I^ z66r;z8>2@XZH%FmS+p4a+IXqevstZ}cdOcZh1gW+80FTAndQF;cF@b!#M9ocT^W}i z0Z&)NFLouZ^mHZsVpjtF0L&@2cPwz`vt3`K}h)|K#!UCH>w zx)y!1tC4H0tMsqzV&)<1I`W%cQ8~)GmiS;-0a8hSSy!S@p=!3<>@+Zi(Wc5*3$+ww zcEg}Et($tKc4ObK)-CNKyBRQ@bg^}H`eavA&b7s1>Z4s%`Pf!f_0g`X{BGT~_<&V} zkl7nx0-XQVh8J_gHT+No8$`?_*C0X_49aT45mSGLwR^6?;TPRrd+MS+{?J9zR~H5F zr~d3Z=9)~77mp2euf|_@KH1fb@2;!SC*FPDjYneSw(~+DZT?fDDkudjP;46RXVjTbwh4@1kagSeN%fIQ0DhPn|fH(jaXmnHvM_rW#4OB(;Nmp|t2CA<6T{kdx zx2kHs=t|r+7F(ODs{1|I0LK$*fd#q=bW5hBs;WQeDxy1XUaOiM4I8N2!U;9tv^qdp z72UBmV?+aE!RTMgqq9Ef*33@S7#mYxS2O&mYMC#(QXuGngV0;9X!QrGD-^Yq7-I(k z;Hb=2qe8*mjx~^DA&4Y8rk5-}c9=oq6B}sIHPWqMj%B!v;uU5X(I7>792&daID%0L zhF2h*VUS~JTOkX?EmRn8YDFJ(bSF7L4%}*<8LzhG1$1M^i(hsK!~VkYmO%_e5BH;W zA$g~Yc=SsbvOtDtDu3!?70N)cpw+QJ`9w^Ua*sSwY&B=ZV$QT`?U!1Ox$+XaHH1K{ zP81NWApvAKB&(7KiYwX}PN6zBAfxAkF#KY>c~Gi@kdiempu{&JAa)5giU&U;8}@;{ zdKCouy4o+U7W)MchR9F3h=|zD@AW?aVYyqvxi9b%v=Ihh#iqYF5~Yl{UkG*Ou?vCm z+N-*(xd!R9HzAcnpqPkD8z{+uj0aGUBr&=eM2ylL6(WXi4uNRw02a?_15hYG9_8_1 z1h_(da+pE~d=BL4e_mAl*uz1Sjq$YIT+fDzGJ7yoeFj2cpZj50xTJy zJ^~~jxUK_EjoXZo;t4F8-3|;3#vCx^&IO(zBt1`T?)+hy_)QRqYLJA%!!9a-?op>6 zIvf;IyggPhG81z5(5XEz9tCQTj2IV(#NzNlp!KNL$h%Y{HY`o?>ei+dE@dXhb-*}` z`UnD1n5UW0j-4L^kctMkWF8`~725V7)tl$w-LV5kXfQi;hH(nBO=MaL8~8YO6N+;~J&4br*? zcXEQ{ z@5N@G*lC08I@infVl^i?{FJjmLtBy$DPs#|MKND-e=mUo4kfrUS^z;9A}0!{L;JX) zpa$Gc_QnPqmT=d&dVD1Y_jU`}Jhndr@4_cI%d(rXOgoC=L_)mhJi}?gJIymBGM#M3 zT`;^JJ{yQucnf?s6o2Av@7YNFiTAl@WAP_m*q%+qpLivEHWh#3&Ffi#(@TkAW(9Rf zJr>v{<$swK*eRubnHAV=LH!okF{OB!71(t_eHYj{C3Kk;*gYk2nH7jYK^T;X0VQmi zm52f5W|@^VXh{IVfW}fH2C5BVKtn4L0|fvvpv)<=5;35JDYFtWkR^S>fB^If1L~(w z7|0SLJW;-n7*KMPSsyW=%qFuwVnCTpW_`qf(wEHoh(TXMLkuV-$!vfaP{xtj05Oo& z28h9cW`2Me4CLI?x4G;tMgD{{@2Z({{2Qe7XEDR9?N(C|-A_kQ9V>Uz# zDAUJmh!{|MkJ%70P}L9vO5!maA_kPSV>Uz#C`ZR^h!{|6j@b|~pi~^Q5n@33HfAHl zfKqMDMw|vC#DLOj%to9BBgBBRXUs;30p-h>jSvGl(h<=>iV9*dA{vZ|2E=b;!houc z5d+F!F&iTWl(1qpMhwOz3uDB9vQW&%hykUUn2iyGF>%!xF`yh0voT^onImQs#DH=} z%qEBdWs8_i5Q7Qv!2~g&6cMutVnDedW)s9oFWqNkNk;f6sLqoaf*n*Ke7~2DNdzsIz?oPQ^KY=MRedFSs4*3 zP6?yp6j6eIWGNz5oJy>uqSTs_u%gsipg0LDr7fkpRQggXOr29y0akV3I7nzq&^F&{t8l{@Q*AdT2a=jSwTt^{*k3bE6Pm;r9>-ANCiKM zR#IaYq)g$fY)iDFlvA)+&&LAn(f-*=!Wx|RwN5M~;L8(~_Qmyb0bwtXw zklM8%^$P#UQkp@jI*UGGC3S2;N*4a1%A{rsO63G=8qJ{8v<0bJ_(xVItSD_0R3=(U z6pBE=!3-wE|g)Sf9NuzDG zzuB&PCzri{>rKjjiN?*p)9+$*ia&cj`Qd)=zWg9R{o(h$``_*F_kQ!69sm$OUfqA7 ztNc!W?CEd6L%@)0ZFDNq7gDbUkdbNmZXANn*h=Etle_TqCM?gA321r>k+vqG<||x{i`Ce-aDi1;6~I{;_K-M z#leM^HYwdgW$158NifZ!BoNe%7H&3aT1y!Hq?LrI<|~QQQo~^yLE>lW1N7B6Vz1}4x zb?cq}PT~wXXHTHfgWlPf|8WK>QBR6-AKMB&Eecng&G!q+^7#ASDX%w(*Sr7S`o5`J z!fXjlgCOsJ!fOsjiJG7Cn!{*r6ur1aOMqNUO;xYD&c??SJBx8+keN@?qsDtM3* z#0Dz3z7nj@x58hs7{sDC*c@!)5~BbAl2HD|pp*lf!nN#KjTGafvLDk1{~H!y5CtYF zx_uAI?sHk?=!Chke5c&V32qb0j6q0Y{Wbm}BYu%uhc77}rzurLhi`qSq$0Q1d5X++`H`|A9eUa(Z$fG)Jb<1HaMjSTPnk%tnK1qYJRLu;4-zF#y5eJd%$}(KhBPnz0uOGC0dy9k=hw3^bT;? z_b;q7DHgI_Y>&2-x8u0#cj6|F8r_Lo;E0vAi(7Xiu8p|GPa`xrz4dXQGT;Vb5-SVOm-^hLk zqH>$h<)*Z?tyXK;Idrt#inAXOu#6c?IossGfTgkfY8cS*4c(8NuWED4h%fU8a7$ZD z_CRh)1;4p$)!?Q0X6F45$E)Yz+p?dET=U4NxYZZG?^A=9%%zV6oc118Jrj~?j-kDn zAHdf!qdcnx*U7DyFPu^nABHRG_x~wOXmNo7e&|(z--%$M>`3%DzCUPR_DD@U-&skY z%7Sz4iD-`NFSI(-uIYg1FCRJ`*5eQx$&>rXza!Pq$uQ1gWE$g}ZuO_}9Zb##O8%)) zkYW0l@lBZbeNneTIK&DwOl`YP`#F(I@LKHDz7_1tMei=Vg035*%zi9^fikg`aGPUj z%~`>^-DFSp9V>{u0%an?|DIXlPAQl?4uQ+g4Hxok2&7EJ;NLkX+)4WVqt9<58r*Vz zj}^CiPd*_=qe^QVp`Mxep8Yu66@$zz=!=Os1$V|$fd|*QGbcev|U zCW5UkIdPau9FjCdn`jypL?{O_r?iIC&6&qw9kK2c;lujpp_+t8rpDp(k0%nV1=AUb z4Qe|GH8tB)0#f4$2T7+D{i`RPx6X&28g7Y9b0V^5P4mE>op!uy&x0@^nA)%CJ;)1$! z4fqD#vFl^Fts_Pff3aRpoC3l0Wx|c0w}R0^F!Qh zos9rWtXLMHoK*J{I*|i{yskNFCp3)(i6xVZ3@)K*Y)B@$ABHqY=noEQWOl70fD+uz z0To&H9wgYCLt^2%2uca==75GdrW_==n*)Np!xSJNLh*}7@R{Yirl(8OfYy1l5dN> zWuh?3Ss$Z>DDW=FIeLx~qQC(`Hu8)pj1r>2A@z+8^NGNZduBJOMhThWJ+gzaVMZU- z6qzFHevA?#Q?UsyPqPz~5E&a%mRAxYV?kmU4kC0)h>Q)%%y9%#LS#53mftoEXq*rP z3s6po#|c5;fZ*MMj3A5?g1{j`nrU_RBr>)He{(?DK)^V`-y9H2kQ~9NCVOX<#keMS z7sH$yA1Ao`HIukW7Epq@IUtr3F+!vSZ}VgKCA+yAhBQeqw*`saY>hxlaJLO9N2W=F zyE!Cy>mtM6lLUKnNDPp_U|3gYozqVykR-y0{M;8jIFdsyAu=4faZayH5+Y*(%Bk^5 zLS(FL*KBFY&?{@VO%lRo_nE~$Azd6&c0X~FkS-1g9-_%i@iZY_79@5NJ}h0+gmhVu zPIKXjX+pXzNJUOgrwQq@AZ3r#O%tMEK`OGNOUMF;#FA7;2%eCI@0rps^C%@aoI@Jr zEShP8!FkGn67IjJm;Gsi!!1bgLQWbIJbD$)U2&g-DzYI#crdFTD7MoRo;!GJs~)5x z>!89rUG+eXa?T4p@l_L2ZsCB}!Qzmv8E+19b|gG37KgNEkl5o2F_I^^oI`@=tFkPW z;By;Po;wqa&Ov3Bv_q8DzeetqDb(%1uCnEK>^hy6-$5<8(@OhZLG2q zm^zzlfy%EBsS}$PD0Y`QGQiY{KOWj*cQay;5=xyz$_B~61dPughXmR`CxEHLCH#R6 zmcunRyacOrNM$zo4DThz$7g{mvI?e5usR0?GOtPHdlx^mRS6bnT{A|Cgi!EK*}G8@ zNU4o;4r!cSzEk_U98y2Ky!8|6pF_%qIN(jodh^T<&c*1IkO+=bcJ~vW(5#13QDkke zeocvhK64zE+TP{kgEvjHpz2Bl3uwovp5SwS9J$PHHNduXoa`LbBx{`v5{3?kRAe{j z;jz;=QatRE4V^;Js2-&9G;5rsws|>H;%Uc>8$m2>}u2_I(x`0hEsykIZo5;dYjto<&Z!(=4Nl0U~~=&o+iuiL29>`L&~1ifp`1j zB){Q{=*TQH{&M@1RnshOqGpXljbr|7S;@9q?4HEoQ+5O|d*Y)QCKefMaHn~SCsr8? z6uZb9;my<@v<=FTJO(OZckvy}GQai>6SBuau_QS$q!O}cLCP+osm*0>;g#8NW|7)n z=AddAi>du(D~Tlw)zuV)Hm?Z&31rW@`g@YUS^*alj35Ptgk=cL2@^?)8jL}a~aQgl7Xt zZn(Y1$eqMDc+xC;q_r69-GH-4kIuijm|r~m%lXrj{cis9X1Urg*K?8Ppjuz)MKltD zFbDlDKzh2e?R88k-2TZQpPxNC&qC1woiLQ=^`PiziVfxFC#1%Fc~!0V%U4TSZ1$V) zt95omcdVltO#%9%$rV`kMqV-2VTjIp_EEHKkbI=x+%-5HN9)33k=?1C=ncBVyXMzf z@_Rz&GQ)9uW}bLNQqARu!+Yk}2-v+|pC$MnW&R2TJj|e?JV(aSgoHCVjv z_WM!Oh{q9|hg3B3P8Qo76zE(QvwOYMw5hYNe%jApt~Qt7*K`-ng}$JEkHhoTd*w6AH+iYWez2o+c6JMnUQ4LUnLo;y}vIENz_BPidQ{BzKJbUry zS~F_yMrPq%Ep}N3G4~_G;9hRFR}ga)=xrBQ%bT4hOl-Uv-hZ`O?-AVPX0_R7p=E>s zG|biJ$1IeL6kOjx*!gW9WNW*Hm{ysM*b1%}u1v3QWYQ5O+ zxAX6-tW23(krp7WI(M6!?PY~iw%BerKfV#CAJSI`N^?Cj40FHOzJ@JR!BzEPhE+Tc zxDKbA>yZ{te*3h<^HjQi&1MO3OLNciJ>cYHf9I67cFM{!tf}g-*B#jpAbUo&KYI4$ z+0(4L3fnhg?od5t+lTeJ-`*EFZcH3iwU|4?o@%+;WGy~(FW756zghp|W&^9-94w{f z`n4vGH#l~Ws$iL;yn0T~`{->2ajdlE(+2FWaG-lT>AH#a`&GYS5y_GTZ2g+nC7q)^ zZ67E0`+3i`Bj-YXAE#hh|9sAF65omOhY;oV4~62Q>ZqaQ zX*~Vr2+Lz&53B~mn#*kYXJ$*2#Ndu4?Tw0V6k}?y;k__gEa+Z?(T=GZ!_lme040_d z`%RkLygt9DN3fKBVW)p=^>UcLs~3r8`pHQR8k+8!`qFF)+5NgOZtIpN$IT(s=cn7sVT=>+sDE*OB9-?gzD8=&0v(U~DW~X; z_bD7IsUHs})OVe&e5EDJPj#nxt$%YsF-G;Iz2Ayn?|KADn^}$EYIF0l{fx7; zs_kdooNPSmjKltWB2k(3@OjC`5#a}u%hQr&M}8Vn^FV$$^7!IbCb0@+L-@x{wZ1fG z=wg%#pZpY*ia`?dUSrX9a($Xzs2C>kvqi_nBx~`QY@!zTXbrjF-sI_;JA$`Z?eajv zi;0*VI7M5%uFTmzTNs71x6(v8FIv@@J~)ye4ra%uFTP~GT5T5gvedkPW3$Ejk1qjm zl&_j!Zmu({K z@7`{|*e@@8c;3Bt@#0DK)7P7;st3sxR@G1QYxsLNdvS4gaXx?a?AxaofA9Ui_fKd$ zJH@{~7nKBv3cjB{?0pW`NUH66vBK7>p!nsXXj1r1ig6KZR8pg|O{0FBMuR}3eg?Z? zi#DScZN`B%S<+4XM$^oArp=oa0ZzzuQv_Hc+a|yX*){=2$hHaaLAFgBJ}BBSLJ{DE zGBc?~fDy870-R9fq@fJ3Law7SzzUPtfcjD=1X!UM<{AZfVH|6tluv*cvTXvqkZluU zg;5MSMTHP6M0KzlQHU3^jRMS2<{I@w%#dvq;D&rp0d~kY3a~>th>=`UuOHxte4_wE zdDa6%5bQGgS2i}I)iBa8x!ki{*)2s!2%wP1u%fDy7Z zXu$}h7K|_sFhY(7;{YFI+XVO^+a|yV*){<_$hK+02jdoeFb?oRjz`AC!K4KrOagpRMm-g|5Kme#!X&^5xe1yC7$MuH1tUxXjF2V5v;`+jTX4d( z1t&~faKbdi2|1%@+JY0NEjVG?f)l1KIAI##gdE4gEA4(zD$73bAiLix-&G4{fVa8Y z^b}x+JbEqI0iH>3gI)`UC{9~&L~+`NB|0vr)-G?2T3{QyTq8x2*X07v9G zHWY-6b|tOxA{2y-Hd6S7qL9%>x~Bk3lsOl@7_?CngEl-73Pt7z)s!cG`QqNaYJGE! z`^>Npt+$jhkNtekQVYTc^LCFr&#=Fot_sfsK*d6AM5ilm7e8VbP`eD*rZkE2j0RNe zKfEV!c6QQV{Cxd#v$8saqmb*hc>M*7=GTk2v-7`QoIihh_JrOvaQ4{Kh~nUdGR4CL zE>&>HJq-Xz5^4^gYcy753PDh15il10RD0`VfS@loF=C3-2fNwm?`c|+UWeI-g9vG| zXu67{Q(_3&7Lt&)>nr+*u_qf@MB%mh*@zg1nZ~4RVvRj1A!&!Z^dZ77t;TBvE5bk{Q}Oy&Yqk-|LT0skJHRv{MXlieD=fKys))5|l2bCrZ+F=mC;&omk3X6t6f^Izwm}s>IWyCBWIoGuC6TQ%U4wE_)~SQJ^lBha5V5vM znwJLcC4Wp;w^KW&>r&#zbRCtJF1$yw%i)k zyE(EJ#$bjQL%()bK@LB-N&RUTN>kgx*_ zBsEf8C3?V^mf$MU$l_|MO9fnFc*h^1_#x|@s_GgQxt4n0#p>yOB*`~RVXA`gYrJxAx$|n+3!GO>OPcptEn;4Q zTDH6bu~3PRGdi~9Dpz=?j!9ZhmGmt=rTCh$seCYpuuxOdAMif(j6{?%+<0Ud>DnP> zZ0jvuHKdH;<<$_>kTM>E#cL}cXK}ShH}uudoq9d-blIJHRSQj0y+X#OTdiJ&FW)Qf z)T=W5w0bS*JUZMgz;KAteUL|pDHE-tD6DK(jhI)SOYF3=Y&YEjTQe0Zqp%7LY0I&t z0yWT(wuJ2LY=B~QPHM}sMGsueU2VzX=_Lm205$;;%qO(5;VOk&37<_hB^^QYKSN@1U}F zRD|8D+NpO}f`Aoqry>rrB5tvYm+KNZQNch0>6mEF5Mf3~ zC^j=ij5M@ZWQjp>;z6v$GR?H<&_Qrf!~WQ#g@UzEtp*~kY+|^z$v$(-lHde=LfM7X z+_U}|kE*HQg5t^sn==>&_if_f3KCvy`gq*ah!tF&^6WWhr75hf4J|c}{U3K*i&JZ@ zLaHz6Xsq7f*Dgd)ovDDgm|Q#4^yqDo^!+Y^X9$k3QwpI5)RZz7`Pc<)HlUkFiZq(r zPmy5CsnrT8#KR8f=(-*g6jrc4WLnvhqf9HqeaNf{elLC2{T1>1DLR06 z0a6tU&;il`CExHE-cn7PheNzMwK-4q;Iq3GK+qtAB4o!#x?p#E{kl`{AIEO%fUbl~ zcSCFUqcJ;$yr-7!amQO92X77OHm5xAp?S-W-KN!EX|3|QZb<7M!?T3E0KyE^-k|PK z>FztrP#ny|gBsfPQhw2Jh<=eb-SwxiD8rkCp%w9Ny4QO=_;a~gZML2r4xxyv&5z#a z_UCf^>81#<6W=M`kHktWn0RuYVV~~=S?jc@Ade_JiYLfnvz8ND>v-Gk*TII&Ug0rh znhr7qoX9uuq=_dFUB>3}yT*(!j~byGQI-dH0^3bW5jhqYn)ka2#9%j@*LESs5oOMF z&gei^10GC^N|mdU?URaVeVfCeWS|$;c5n!?wFRZ*{223H^o3qACYK7-xVl2u5CaIt zX%$ul9!{Hh!tQ;bi?!Zo&e?1#@!FrNERa}iw`PeIAK>aAFE_^l7!+}rPE?wW#+VLc zNG;y~G{93!N1g_FMyC!$y>>gCsizaSI&b@Qj!)70b!D%e&OL@)(L$)DMlbsj?tb@s zSMP6q9Mk&fs#kbWo$XbGlptm^ai`cmI_WU6lxsWE7f^BCsaJSYyN(oUMiB!@t5-aD ze(U9tyiw)LD`g@iOB;t`sDbm|s%|l|b^x>l@nyr*wcK3ff}8a}ZZ>=Ij^2I?FX@q@ zHw|oVQ&D1W2%5U~@~rA|<3iURd$Be!^!4*Z4ifeOTEse(ltyjmjXm-)1DaUfKWEEF zPj&3$c%oO+DPIn!7Kso$=VXjC96S)G*AqQqRLkDR75=QQpcmyarTo0(8v6pKL*|cz zYwU#*xleDYhj?c~+2Pz(C24&dskK-=xAu@2m3EZ=ovte5qpvDxwCiI}S~QjH>JMD| zvT3kqOV{>{_C_}Pgp%F6Q<_}y^^{I5MO<@AEd?8D)19G!S01z(5b7JvA6-L8L=8jX zwoNHz(6-#J_bEuna*`&(R?%~FjM+oC>z2*lw7|5TckA;o z48Zdim?huk07tY_8r!M*L1_U$6!$}=WdjOiE_+HCODWy2;{yRuOJS_XyWLqGdLWI340y( zuwve#vsr4zsMa?q(|0=XWj9^gN_%TsISG&s7au4Qe8aQJA6Li7}>-DDCT^TJQ4hNx6`C>Y~-5 z2~1RA*{gg#LX~MRK_wo=*ZiO{yCdW%1=1xX$j|U zjat8W&NxQ{U^;8f51OvcHGn)8C9jLCxwzBv;uP8K)bf_`t~Dt0`}LW(VnD}XC7-Ct zEovQHI)+j7VVu{8HyiPUx3dhEk?S!b-BtF(h6_8Sq^Mu^t!*T9GR$=YVmbRdh*SqF zm6)9B*jb;I1I*USfahy(O)E7cU%4UY%+@oC8 zC=bJFXzom|+hTI*AWoghoS<;s`ADH-i=<%d+#Bi6M`|*eqY{JIj=5acIuw2sm5=w- zq@rd9y;3gP9^ob^t7k6_x;9h56csw`dTTN2hZdCM?z$7};H@9Mcq<#1N5{moi@}8Y zmOU;6Ie0+Aevv>e?8+b(z=`(C=s3zOi=|Dor5==fD_Rd*V3jx(+T!r#4C1W#4!k@A zu0~fjvDEBGYC_DW!P?U(#`E#4_M<6=SY1ln@k&j-P@uc4aq57?#hH>o{4^#mPAZ6i zyr{`MiUi>G%l9k-;{rv%RrdZxNX@H9B>`?icYg=NQ}t%kjV&A|Vl?jK)9^04Hc<=> zTsYq}(8T^ooU`!|*HR~;OF6bO@(6Kc6Dft=3O%c3Bo_ZUF7Jwc8hLe&anZ5OlpL$l zdva2Z9Cd&nh8;GZVpOaP0^psqTW^R?PVpu{Cj=0|m)lQ(vMUbwKqB{(K5~GwTy^1! zw70E>US!8{MUJYvZh><#8Fj^#B_4#i{bETglWSVq_lLxyJ~!FAj>!Zhyxkj@+E}Y~ z*km%rUA8W?HD)2c^=vUMPQ^Rp5>GYZ&9)h91>&dKKs=d{m>A58Gkoy7SdzPHG32y= za1g}KW24=87ID+lJoTndi;tWQ?-qbR8$}>nJed3)??mA(V% z)jOc3$0WlQUewta;rF*|*+4gzr=58g35y>F4xS$) z_}|C7Pcq<{iXPg#ndmMh4_3gXDl{+LSZa+WLz2T<39!S?ZL2AT#h|suTZeB4xaZQrQ0RK5KNMTEwA;dNVzO}` zcq!4IO?ZKPh=!eO?mBtO)vYs*saEwcJ(ijb+$yAA{TtT`22sYByLUqZx_8%FQNayr zAc5<+ckBiB@pYfWy+C+^KF9#26(-d@`Kx4r@)RRM9Y}m1Z)Ev=?b$_~uC|DZV|beU zdS|#S3p^av1iMBKW-8E><7LT5@g+Xc>eX{ZyNX$6xDjnc7}K#O%Spr=*c zqE5ODRT-`=a{Z^7m8aN~CY`m9t~SZ(j+T9F%)k~-zNEesjGHx`zq*2ROE)i9l}!6R zf3;n_zOL4LC0t^Rfsq>II>DLFg>^ya&f+h9a%;N4c_?DWhR*6_ zYxK;tUYGcRT4vUAoj{9xaNX`t(B_pLD-*%aud2K9m%zZo%iS!2L+hcf8X<>1?XGk& zRimy{&)}3F*p)^Gu*JKuG4PPR@B4DYFMV1O!rh&@e0Y}J2!{%tDCB|+TFd1d^gDC; zMz%m75$6G#t?$g}uy2rPT5|;>T@h>Zu$C)=XT+t99?KOOgby4S)_#;8hOg87lgaaL zbQ+!tum_(u>j&em!l->br{0N#(GE@*dKmq$PH^sS?Lg-00_P#E9TK!!$cxB9QJ?EW z`3O64X3@52!u7-MLR=H!o_8`E-G#XDbVVmPceY8>pLDer%6Hql&@K~UadtxIQD;su zWBPIHS zQ)}Nrj7^_zAa9^3y&C)&k^JPd`V1w_5}ipdW^RJ}Laavy|W(loC-&qMF#LH zq19sj`eyOE5_$thF+#h?A$Xk>iFUGB6;5NvSFQAiYRm^we2n%^3tTaio1T_;f@|=M z)xb77G$-?ejKs=#p-y9rTEyYx<7SHlPMGrOzM8K(oM2}&eHYY~_s$(ofM_{qc1>Mo z9};oxyrM{4mON4o{Sa22(Ai%PK}$U(5cJoOV zDm%TZHY+EC(3$N4KA^3oF*I*SVH(Oy=nQ$#w_FC@Ip0`4O7El4?chNm6E0hGj_A7p z@hQoyJAPZeAg?hDwu>L<;wPEGMzDI=5A?$Bda+u~-!8VhYQA5HqqNtHw=;1H z?w`URc=7ewlP7bslFA3-Grmh;eedJ{GI&4Ihe;F>4`ljfQc~a@M!$?`QowV6 zei;!(y!Gan5mkzE9KeOh0wHgoOTfCsF~E_24<;P!rm~UWAJ~Od7T^XrgpFkoeehvQ zy1TctR#d9DenDtk}kv2A0Jpo)Gi?TaHg2bCV_U6E|8Mg>km@eV>`&h z>z7HoK!R7lOwt8XlKN$mE|3+|FOzhE+>m~mqzmLR^vfh&#sOsw%P@`sa@hIpBwfJG z_RAz)CZ*pF(##@ENDAh)gT;@^MuB#cE|UPBaPW`XO?`fW5EPa{ULU_dNf*d5JeIUEso)&l7NxirNL_9YWVsHt_ijPBT$iV0nk+;ZzpTJ#eCk$^!axBIyFR@w_p> zIUH;UgYe5FUEp?^Unc2N29~0Uq)QnXAH2l|tA0q@nvMbf1Vm=D4Se~7vk+7k&=Zheh{^)<2PYP&Y~s%YBwwPk zfIPtI0xW|~TYr3#E^s8*FOzhEV4hc2KuR708n6n*3vE;w7$HcBEFAl+UBHexwG7Bv zaVm*32n@1-oo#Fh$J+wfO7g%7u|T1u&oIEJ1*Fm-umMIbU~8KS114G_?OaGH)77LJ-pl6iNzBL)rwc<>5G|A=*m&xSS3ETQ78Q@!}g1Dmc5` zFE{J+^?v)a2qIAUV1XZZCU}6m%m4fw?&Cr=2q=7hxw%>I;jhz&z0bGR%}&G{;ODEw zYFGX83yuP#nV~jCxJ~c*`J-q5asK?|0XD}xr!|`Iw>P54-itp!{?o<${BIY}&m;tl ziUx$yiFlh?G{@bC8qKZooWL`K z)SNN|v}g|jLD7BDik{Fv?7L(8y3}-rZvfP#pGyD;z9IrG2`F;?iT3pVOk)D7>7$%& z&6~^4>rzh*KE{i%4T^(lM@&gddbF&;SR^)T|CdRJzUbeRd`j1vLa@uI*rV9xfJ*^? ze*Vq**@c!WdQzcAcMf5j^`@neZs>O3ofKL+GShu`QpN{S9dXpT(<)(r2g14^o@9Fp z-FM!dQaD4rEZ22+NXPZIUT^1spg3#l1F!$Z`DQ-ewpV5W1gKMkEo<1Vq_v5SthD6ad zwX3eRYZvz|ovvM`Q&u!2?fMzc8!Yzw?egW#zLH0y)iGhg+|IB~-*`wl#2HTCu~oNe z*KkZk$UfXpj!m^AX{uwTIpvZDJ20&PsQ%;r=#dA0GSyv1Y3&U8fO$sRQu3vDFsUaZ z`cLy2cWP_WGi8$!_nyG67Ij7mazg{GOUYDkNW()t+Zq-yP!H}9P;X78fiGqzRghlC zAjsNEIz;wWM2HS~HK8!c=Rh%g+?kC{5djb{HV_8UwZH+O6ok9x7_#^a%^*ten%o)z z?xf#s{78RDsko=>KzAsGHj4oa*J~u{>2_s}$yWfSZdTk(X^?BQ*Ta>} zqm)T)2iE~04k02*;ts4s5)FU}l-3R6LV54=x7*Ft4MybW%PTOW6q5AfOY>1G2B-T$ z&D)ENEi}kz{3bR?IZxu;H$jLRJsAkf$%BhlHT8@pG~!@w6clmy)Ir1HH<1t+$3f|F zYLL28!ZGLZHyX6L()b#y|_-G-^a1~LHJnJKD$S=+I75D@1;kdNSPoK^}9Y&WTVAl-gV2sJp7uD)=`O-Of1 zS299$Za&d|7q*NSDo_cJj>HCb{9eaWuFLpF>G3;N&VO0d)&FV=iH$`TDV!g=tR9-5 z4M_NIYH`B1w%$~WD-&MPURGJ#4^^XNotQotyt>n%;1M6{Y3#S- zV{sFasMe0^aB7>{$2UyVv!;|WCAh3HYxek+CZ;@Q4Vts*z=w;q3slDUMw26fgKUx# zO)1Gx;q3Qzv43N*s_jSG^bx5FaDE$migLMD{L#`e6nFEf|EB!OsbVZtqh{JVisHf; zVpQ8vbSSDgHtqyAU#`SlGdtJ~+G?YRt`mpY{OEmZYZnf69?uxa3{)IOrr8-c-M8TU zViYVKs}oYBWRosKhv=7-ZShnr@=SbZGud7|Q9|vb!KX-jIVu(IX9M#rMS5^GG`4!Y z5rJ)+h+5yrz0UMV@Qfd9R;*teQJyqi``BF5t0!iLDMd(#3VFPkCk$yI<&;gL+#dl* zicDo6p(3^yb?QAw>0@aAc&_9`mXKW)m<)W68JB4(*i3A-8-K)fJC?b|V} zcn<{I$Nj%Nml!>wg$Uk*Y)DU62(+?*XByjsiZie!Wc|iYAwzeycv-Eqy!PY%VLh$P zQI7fVaHvE|4m@Yq1$A(1*-SzFMD7vCBwoiwUTo}7vdIwCv!0PxYQ5js%VbbBP?0P+ zx=YZn?T9J^lXc-uyP_>az&C$KtH~}84+%3FOnnUgfwvs6>XceO#7pIBRc>DNYrCqN6(pX@o^;-fQ+9Hn-WCe2 zKlLO$0N1u7H8WAdzfeyRX5^H1PM{bW8P*N$21Jh&TE?{CMWlxO$g$KsFSE;ODpP8z z=3`g0$2rY$tP-+CPh~Xdm1IjKb4A&pSN|HcXSC3yfT>EL7(WmkVG2S~NpIXsjx=W& za+>0LYmAstOXm$Y+Z|R_te}ZncQ-^!G7WjCR>{WxGPQ@>+cc{!J!A2<1#(4W&zRFZ zLL80T0faXxzu@(2g=<}62ed=@z@7F#<=a{fq(e%V(lm{a1v5In+-z3W0*b3<4M?WiON|NH^xGjI#Rihmw`;HZk8ig&6O&*hNXjClfNzK-XDnlh z&4Zn&sc3wln0JCF_x1T{EfSD?{Q%5gE+7>g?kn-VL&dv|opi}Mil}k_J2G?BUL;W$ zYc*uOZa6g6zhb?z?t<)CD5l2?c5G$S3?73!lhQj1-_Oip|?A3ijJku&+2E zew#HigPdcHwPZ!DAg67sX%)F6ktnqf{;CB=vW0jSgaEYE$tpMv>C0M;pb*b@69#n| zQw^ba_UO_1Hy88APrv#0LS`=*#ILJHW=9f29YGiz7bbm#o+4mjW#D#g>-cjf&UeQYD&*r8Q?FQi#y_xN=A3NDoO=JU(9tDBwp z|2;^aTy59APab^&IY2*!G^EQ{_kP&GA>!Zew-qc6%RQ9OugW=9T&(81%LUqKm)mNw zuTDhe2VYQ|T$8H`;w_t>u}$x{&`LN0y<98Np=|Q7ck$v$^;5O&{q~{EZ;BuUtef?2 z`FdSl<>6J^ZiAx?f!w91~oTeT|gdJ7`S}9!JQhK0!-m*WqxHX)Uyxbh8^gi zUhnfCs_hPL6~c!nXHUQS_Ux+3&0doq9Y z?AxaovIfv_vC|dKo;*H#VU=U%YF&Qu>@Vj}t#Zv#c16g~a{m13*^{~7LJY6c5HV4$ z1#z|5z6PGPYCSo74rBA{S`l3h^PA_-Al1YLkYWD#OA9s}J6>JsdVhL+{=_c7Ui>sC zitMU?+*Iq!YQC!0ulH| yENZBF!gasJnD&!0XzpFcT&`qjmsB_&x#Ua0*Won!}d z^v+KI4*#iHaWnWr{ZL}xSap%`H_}8DS@_5lKUCey`lFx|i>w#d)lLFsU+hZP)qZic z*e|Sl>Z9uR=H+U6DYBLe&NGgv>x{7788$J{q_Vvzn(L8s8vfX6I%J& zQX|)`E=E_ou2Pb98vrhL6HF2Xs_5-@dA->FECqXcC1=L_EINW^uGiaE`x{u)exuah R7x#YAdYG+!@R1h0{|^NT!ZQE> diff --git a/test/corpus/attributes.txt b/test/corpus/attributes.txt index b38f8bd..0aba8d6 100644 --- a/test/corpus/attributes.txt +++ b/test/corpus/attributes.txt @@ -125,6 +125,8 @@ foo: { icon: pathto width: 100 height: 200 + link: https://microsoft.com + tooltip: Gee, I feel kind of LIGHT in the head now,\nknowing I can't make my satellite dish PAYMENTS! } -------------------------------------------------------------------------------- @@ -139,6 +141,8 @@ foo: { (attribute (attr_key) (attr_value)) (attribute (attr_key) (attr_value (integer))) (attribute (attr_key) (attr_value (integer))) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value (escape_sequence))) ) ) ) diff --git a/test/corpus/shape.txt b/test/corpus/shape.txt index a0e25b5..54b87da 100644 --- a/test/corpus/shape.txt +++ b/test/corpus/shape.txt @@ -103,6 +103,21 @@ a: Foo Bar; b: Biz Baz (shape (shape_key) (label)) ) +================================================================================ +Label with escape sequence +================================================================================ +a: Foo\nB\#ar +a: Foo\nB\@r; b: Biz\nBaz + +-------------------------------------------------------------------------------- + +(source_file + (shape (shape_key) (label (escape_sequence) (escape_sequence))) + (shape (shape_key) (label (escape_sequence) (escape_sequence))) + (shape (shape_key) (label (escape_sequence))) +) + + ================================================================================ It should skip white spaces ================================================================================ diff --git a/test/highlight/attribute.d2 b/test/highlight/attribute.d2 index f870e2f..3dfd5a2 100644 --- a/test/highlight/attribute.d2 +++ b/test/highlight/attribute.d2 @@ -26,7 +26,6 @@ foo: Label { # ^ property } - foo: { style: { opacity: 0.5 @@ -43,3 +42,18 @@ foo: { # ^ boolean } } + +foo: Label { + tooltip: Gee, I feel kind of LIGHT in the head now,\nknowing I can't make my satellite dish PAYMENTS! + # <- property + # ^ string + # ^ string.escape + + link: https://microsoft.com + # <- property + # ^ string + + style.fill: red + # <- property + # ^ property +} diff --git a/test/highlight/shape.d2 b/test/highlight/shape.d2 index 6b7c6a8..d74ba02 100644 --- a/test/highlight/shape.d2 +++ b/test/highlight/shape.d2 @@ -35,3 +35,10 @@ foo: Foo Bar { # ^ variable } # <- punctuation.bracket + +foo: Foo\#Ba\@r { + # ^ text.title + # ^ string.escape + # ^ text.title + # ^ string.escape +} diff --git a/tree-sitter-d2.wasm b/tree-sitter-d2.wasm index 501a6576455d9dce73fd1b652cecf0cf89bda4ce..9de2e3094df7b08431544beb29abe8393a9f67d8 100755 GIT binary patch literal 48929 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