From c5fb34123cad86294887defe9571cd773e9ace99 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 27 Mar 2023 16:09:26 +0200 Subject: [PATCH] Fix parsing of unbalanced delimiters in math --- src/syntax/parser.rs | 2 ++ tests/ref/math/unbalanced.png | Bin 0 -> 2482 bytes tests/typ/math/unbalanced.typ | 6 ++++++ 3 files changed, 8 insertions(+) create mode 100644 tests/ref/math/unbalanced.png create mode 100644 tests/typ/math/unbalanced.typ diff --git a/src/syntax/parser.rs b/src/syntax/parser.rs index 0e211e692..46150ff2b 100644 --- a/src/syntax/parser.rs +++ b/src/syntax/parser.rs @@ -361,6 +361,8 @@ fn math_delimited(p: &mut Parser, stop: MathClass) { p.unexpected(); } } + + p.wrap(m, SyntaxKind::Math); } fn math_unparen(p: &mut Parser, m: Marker) { diff --git a/tests/ref/math/unbalanced.png b/tests/ref/math/unbalanced.png new file mode 100644 index 0000000000000000000000000000000000000000..5b4d77363cb2ac6fc9161f40a7bc62854b57c788 GIT binary patch literal 2482 zcmZ`*XHb)g7X3mJdcd$!q!$H5DHe(eVhBabqe)#67LY6w1QO{zVgM;hSr8CGiV6fJ zR3S)60BMWVP(v353{?<81bpti_grV*?3pun&di;Af1Nq^##@?ShH;B>0{{RsHqyTW z03gVBJ;V9E0P3ro_W^(_#8_X~CYZT86=GvEDnb8v!J;O${?;`UZ&B-Qk-^zB?PH;& z8%aDGw_X>f)#xL)*!^lP!OpyI@wb;o^P|eDMGZSWExG8^R-T@v z_S8X_nPp(OXjE-*09AklGGMpPClQuC3H9v>g^CG9AnqI;;H-pQo&@vwCGVtAy%46L zvK$1;wz9MJ7kEG$ciF}?BH|C1UVkvgmeHln9oxCA&`xJCUy;8^#YT-4OpzSU6 z&;I$3wSw*7SIn8nmYyE#ysgS0;(Xa#@l{FCe|<;XJ0ieXmgj$H>e*iDD6R$z8I?sZ zTyaAlYi$hp@9k8?qS4y2_5ogy{ zL47MMAw$cL^-JRI13xnO+*zPq5X&Po)ojLJ;i788Yh2hkpmVE560PKaisKW9#Su8q ziZf)Gbu;&|&!9j{a}#wc^c5uoO2ca!mbBDni$+ymC2&JfcgPF8Uj9A%rMEl-wr zt+}eHHaYpOGY&ZVc~Bl*=SG-i95uLAu26qXb^=BqJ%b(xLw)H`UqIkuZM@nhZ-wj1 zUVwG)5oC0?IXkZ^(5?5mPRGf{p=R`b}>8|wS8OsNI+$ci+P9qrFiV!z~-X1UcQ zx}1~wDGh#3h95d#ndm1qhD48WL^v`Js%|{}Xi%l`=yZz0--DNk{VmgQ(%V938+6}f zwHI+PJ-+x=^>8{IzgS#{+Efo&umJ zp~A*%1PR8=_P;bffuof%W!xIQC1e;->0bP?jY^*!gYvhU0i!07Lu;;PEaz4(RF(j6 zjRnmQ!a75p(!~L(>ofSS8ay$j6v#XpByFP!E1^6eU-wb^a8HWRvG#E2U=abrBZ6j& zP{1G~pVZb3?0+S*OrOP$X`wB)$pHr-HQPEq4RgFHxZSWhD|uMsH~!6IK~aaY7%N&8kkW<_;t+6NQ9)mTt~5bg?5m@rhdJ^Kbj`<+Ye%;Npc z6Z?z;5hlqOkg@?OhyQDxH#vaKkK5&Xt1rP3!LS|3?PfS9SS9v$0G*cKPoa#XhmOo6 zEFA1!U2Y{4OyxUo_pNX|r7&ys^1YyZdFbTLW85kEWdRxyMKK6d`#35v$-qpUN0+aa zSNiv~?e-Cy?%W=!CM@=h!o&ov&-H2+1}f1K8{P&NnqS0CL$gQ_@J1S9`A;XOax=Ll zG5NBXS5ZyuF}jxHOMXU!5^M;Gv+7|xm|0OEb+t4jbnIIVBBUiEAd^}0hF$0+%U_^} z29>51Ouyt$S{=T#x1;CFc6p>l-HA7R!4mRm27>c&jl_sa-L+B>oM3YJC9nqY^m{b0 zSsD_E~WQ<;5xBZ_$(`tTXvU<@?ahVqI>?P_@J$S`$OJW=+ zgi7E+vHCyi#yB_SwRbnE#H*M3&v(DQO&)?4&tGhmuiI_{qx!?QPe{Tw?r)S74O8b| zpvR_AP8`)8+lW<0!^d44yu!SD%nteCi0Hu|d$uMBohm#;1L}D5nbxlB(#0!Nce5>v zzoZv!KYid^Nz%eJX7WX%8G{E>aNax0ST2*I^J!e?4Qy2Il(Z IXqV`J129x