From 3f65a31a4f998c950b46b4ab302dd89031fc6ab8 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 17 Dec 2015 16:43:55 -0800 Subject: [PATCH] Property show images in Language Specification markdown --- doc/images/image1.png | Bin 0 -> 11672 bytes doc/images/image2.png | Bin 0 -> 10238 bytes doc/images/image3.png | Bin 0 -> 6003 bytes doc/images/image4.png | Bin 0 -> 16082 bytes doc/spec.md | 8 ++++---- scripts/word2md.js | 7 +++++++ scripts/word2md.ts | 14 ++++++++++++++ 7 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 doc/images/image1.png create mode 100644 doc/images/image2.png create mode 100644 doc/images/image3.png create mode 100644 doc/images/image4.png diff --git a/doc/images/image1.png b/doc/images/image1.png new file mode 100644 index 0000000000000000000000000000000000000000..e1db88fa4f8637f06f77e971dcdee24d5cc9cf50 GIT binary patch literal 11672 zcma)i2Q-{f*X{@rB}fRO3nA)=9?^Rly(P+!=)D`gCLx6AM(@3MF$igdQAaN!34_59 zB^dRNl<&*^@49RKV~w@Wd(PSC+0Wi*?|t4gQQDfyBt*1C004kQRYgG;0KkD^znlbD zu>TpJ$dqF{a6EODX;e#Q%tL4!=@equ+#_OQ|L2s^rG zS8#5QR1wIA65PO*=L{uw%**CTE5K8an&R~*0KqKax{a#gU!QoPQ2{KPR?B@!Oq3~? ze?O%jswpWc1$!-Z9eeaJeQpPA|^HK&FW||<{%Ukxn&Ml z_8IuGVsJ9NZa=S`_-^QR((`bUt(6zV^gzd-*FC3dDV*$_MEvA^)~0e8T{0mDjoDxy zZ8d*+;^3c^Br_v>dyS2&e9)!kx7!ae&aBc_K`5gZhB<$P3DEi5fh>F+Th~pyXr=Y zj(ivQgtEnvR@Z{w{KKW1WgR>X^j(!zy@K-bNy4MR{E0cuu?ZeGOI) zHJ@4F&i5CKKbI21#_r@P!ABybf{w?r5F}mfwhB8A&$jz6Dyqn7otwKzyty~k7KLZi z8AZn(l6@r6F0-RmVKV=b73iTH>-X^8lAZ*S=VKyVVHlxPPsG;gcj_*;^0U1Gv#Z0K zYr!i@lFIEXS_P-)Gx0F53&Zm9nZin8pIeM=A&)?3h82#!yTJsDfCQ8IXLuq(aiw@I z0*urBzR4{fha6ovxwlhb5@POA$z?N3H8&?IT{?8u;G5uQBIP#RXZG5u>5%)P(PH=T zX5W4gbuFuwxQ*@`g}r&y=PsMsln6WB+`HE7?T4-zx>^6#FefJmMhSWET5Mu^-JxZ7 z>za91c6OV$4TZOW*kQD;mI-QdG9{;FH+E_Pt2o}e?$=*!#7S}2t_Wdg`coM&k(y@m z(uOy%DTv<1oxf~GZF?Q^VU0j6U!%!HjIPzp%i4cdt+fS9bPAT}qHkUj{jTObKlV_r z+;BV)qM@eRGzPoElypGmlyZCe`z_Cz_xA&GGnkPB;W;gc>S}ID=i*wBR-`x%_aatM zVC!pkBZSFJY)*^rLeclgxPf6ifzqfgls)&CSsr4vV@YYX`i;hv?Z*QuUj%;)%oD$z z2}Y4E-1H%wTu3hvb#O>(r#dp>4ovw%Cbp>c^G7z-@WCYe%THID`=~8qRjN0OM7|W+ z6u$BMRsnJ+%Z;4kbnhD9u_chnu=6JGKa)jUjXpWG|jwW^a91c?Yq% zk;=U1IJWPt;2aU=5Ur~1oRcltb@GndwevjqC#jC~4>r!=H(_#;fVu;>iCbowrKP0} z#5N){Gxwy_9YmVH5K(Qf(2_nXAUno&ikzOi#biE57kg0i)DIP?dase^;E zyVi^`N?ERBB^|zA&rbRm7-N;1hjZLkP1^Aql``$guN87jtXFV$h(g;KkLHjJ&fATZyQ%<^J@~U5cy(L+^gg;=4|NC zqn!ylAUBD~pIE64Ie=htQa1=Pq<=momD=|t4I!|)gI_i%Ea2v>*6%;CnQ*T`;aZsn zD%0!6YH!KWl!pA+mF%?ASQG(M=Y&}ItSPH}rN(i(CzEyrU0Ril+L&zAN43J_^ot+m z!VZiljXc~26|yugjR;H2Cb6d3(;pwmupj8A#z-vAB)b9Ig)<)03y-5nb@|sv*Xu;4 zK94x;VSSP}ml$<#HIOuFl0L3LplQ}C#85f48a!^J9$}cdFZig-i&X98L&9*>(1^p> znUSM~UGq#Z)LAic|9Z8^1X#p8h$5i#nbMh<^^xA`H#fH9fK)67)+Ui8qE;i+P5n&f z=M0M>d9elJ-SoTAD5zO=!difcg{3~q+(ofWimHZcw?asZW2UM^dA_pQFzBIE*?5_* z;mFpI*oKpB@3?^UIFbonVTf$0^f)J@#|y29QG!-v1>Au7{TwRnrw*3#$VDWilQ}L% zwC3X(6!Z5kc`l|5KVtJ^)6%`h-J`!YL43&9)}LsAIx!}R`dV>|P}s z_b8c|xdUXX_DK?d2yTY}QCYuT9#^4GMgLRZNmwXXVOT{Be(>n1jDZra0S$@1wUBno zWuvf!3sWF!hN$Ogcsm~ZjJGZBMr=k!a>aa3rYT&owj>w>-!nh!FP7!L0Tv3cKuC5q zN*#sWd3}<5VdTAL=6bp_#@Ch_Ua`Bmxmi86ce2rDd{320RYO`KHd#gmLD%FlH zZE__NwQ7bolbi}ipOe%0#M4s8H7Q0q#CH_|D|LhFmr^>pJ%l92J;uvoW>twFA+dp9 z)*E%lp#R<#XXl!_jYcw)l$B=c{YagW^8xedJKwi-a!~9H^W=IOE6%|bkpVQl3yi#x zj?svMyRj>-TW^q)9E*#xA6`^?bZV0v*TkEp>=o#CJ$>hW>-M&{Hqt-A0E4p444lrF zE;+{CrZ7rz$;4Wl3q^2_ezds9q?E=wWVgAvFTmL55;$X}aPi~WgjKc;IdZt9@WtCc z-KP%>X2x$PMl#fJtL;HG)D30>D>jfPStM#H8&?fzVr31Gw2PVw*DJY(b6y0F#_}MF zv0hoBpIceK?O$NoEOzuG>;>6|2u(V6q`&MhvtTD#PjGvxk+?}=jJC#0BJvH2JIw4I zN9a9$A23kpop;yMG_Q)?q%kyDhZL9hL-}lz2JV&}Jb)TRRXBY-lik4DHujsoH9939 z-{JLx(@Jyv3R$L0#q?9wMbg`#mT#-J%v>BDM&4Ryzo(Dr(F?dCda)= z@_lWwSJYFbRR#Bu@G`lQ4@Lt(gFVjo^+tXxLb>3$c{gBiSQE@15MZW=d zjOmGU1CD|9w6nm$$Qo8S92(r#KQKbyJ~+x=h?lF@FK)N>Qm7@;H$Zzg$_?Kj1zvah zl;OAMVq288Jj|kAk}?CuRXljlz=4DJ#$82qFv5QD?E|&~ zywVBI1edz#HaqgG#RiQHL@31CcH&8>mg=idKEY|?W>Bpf^F&Y1H79s+H;nT@0S_Gg zrDAcAOEanosMvR)$3l3*7Q#_pB`4nrWHLL9Iw5nuQlzF1c6s;%?iC7@jUM0d2(h)L zo&t9t+wFq_jjmMPTq7@1DFp6(Q?FBEmWpQ?VNuzM8%3U`X}q4Wda&~X-y@u1aC}_+CWU`-?nrtN8O<>75nVM}Y(&bZv5rV?Yf+YSe^qb; z^yaX?Ie_PC+hcJazWe64sOtz3H6~9ut3G?#*wf9Y{xA+43b>{;D70L@F<$%-bla>B z4`Y%dl?-H6ywgrXqFZ$50;ikrk;*IJ#cJ<`vO%0(^u_u1g}XpMsyPUie&`*VekP33 z%1tdBf-~*hUEzf^H?1KiZW6FJ0F9FAJ6i9WiDump5Lgv;@e)bd?pfJmJkQY0DY3}P zNzZ3c?{x@s1i)fcPM3T)eu6BYCk+sOCe;}7eaPlcS&^X;3!be-B~gL2;}e?--7>H(D?vaEKIV6K?Zs= zDr7C(Lpo@B&(48UH)Hs%b7o?XP03(dddYWxEo-VPSS(gxY<0YF zI>=PPlxOkyWf4e?0DSDpe6E>thJaGKqpUdm^58G?f_|+zVl9Mi?EBL*iHuk)ux#wk z)xKTbb65MZkT~6AAu>2%?KzZ>XRcp*aJQKAU8#alQPuYhjBh_R!cRy8JM-f>a(+WW z6RPC&y~mQ%`F7mBgPKA0b%9)d@c&%oR>wH`+d2W>vjc0PWGd@753jtFfsShbe%Qzbe(Spv9%14=rEISgQOSB^K+Vf< zR4(en2l=6=8AAd6w=@O@<$iamTY;ql4mNj@@VouF7pJR2m-U=qF25m^=fRi>kMx(F zbb(I4b^YI>DU6_jN9^9SlEr;5?3gR?>?J_lS_(?}fbjPk@?w4WPS^hS;G^Mof5e3W3-kXBe+wMl zuA=>IN}8k2Mq`mmVI#%=kR7ovE_i6e^F3I7=Rrx@@|H}$rY+}^!Q(U1+)G1c%t14^ z63A=cJ6ziIYsWp>Kg<=N$U|SsK$#V3z1tcsEofkaIq2;h?aI9pYO0!9OiXB7pb_%O zu9bsOBsbfq-_50E_yX9I_|OLO{8*(>GlvS112SN~(|+qVo)Q%37d&JSQ6m*}5bjqi zzH=2BfWGx<*XZ#bsoZZmR5X;@dJIk}RA%R-we8G~4eDziPi}+HS$ZA!Rp`l6fHXt; z%9?D=XMy8$^!JvpaMOdjs>;yQOp9zqme4Em`8|A5`d)pC#9yIvazQ7$>xs*X;o>bP zU{oUMfKVSipNv_>~!t@ zi+ihNu4Zr4P|A<^+-yjEY8E=&z7>kQ#2{|D6vdb_tHkDbp@z*KdR`QIJY5(Fx?=cu$rp4g$OpYw{ytq-DdnN(R=1K%%Avbvi6 zv~U_{n=8$%9M~CkK`RE-QCX}f`f!_Dc}-CW9uG4Ymw0imI&?M}eLX`s?0nmPn%NcI*>*0Sskhfis-ETg^Ob5hr!(br$QC z>|LjBflZY;rmh$u9zZ9p7Ieh6mJ0yu=C2&EF>Hc~LVcf?bIl#vH{MKNbv2+j#{+dVn?*Yi%)2)S&Qxs}OkXARt=XPT}uy;w-h9YTn`n(-S z1$V_Pal;C$s@kw8(Cld3 zOWyMk%6OyxAx2-k1*I|0_DWaH^C@^i^5Jy5#aL_Ymx&~))WU>p)*yk70 zE;Eb|MC}&_OYii0;+0_gh(?sJ74w-GMKQhfympuVH*d^Nv!w1sK8!%NirB3Vg@NLioDK(Qb_J-xitfbu zXPMK!5(-9n_c3yMqrgf1r0UR=Ae)GeOtg!qc+_DNgF{!7#}3=}Oq*}I=DQ{iV7hX? zQ$2!3PqUx;^N|Hm+Wd*|R{i*{+Z?l@t-zVFFYa0|b4iUERHF`fP5mWsCc4UeC17om zQlvtTUL=y-O1({>LyD-YDBol@jQ@`2+#6+Hv92y8`R0|Gf@O0Obatb~*dVR04&MCb+og?MvV z`3RBvj4KT93CHRTMcU(D4_`W3?!ZJ;me1kS$6%jHuj)u z(1tM@Q8YB>Sy7E zk|e`rd2P&HO3Cy=GEjz><#4#?akeljaW9DP6?rTyO9QhtJpDF_<3**4+H0viI4O38 z`4h3=l0wCFBfhdc$9R~SOHsxOInJkS%wL~q|s@xthw!&WVYjE8cO5g zB-nBw?ZXL=*`e=@U%z6Dg3nE7< z5*MpxWVMlSh+*@UcpZ7yT^&Y7Mvrh$of?-VNK& z<)Sc`6olSUUNNx|u@&O?Y42sfC-b>4@7GWnY%LpnI<1O`ZaCeK7-gf&KhsZd&)O2S zHYOFl%BIXTVtvhG9ns1|myx0yj^{;48&wXHI&qPja+ecQcJLH!7-3_Y$C%ix;KL+e z>jAymnyZR}W=H~R1E1;q(u?^H_B{Rn)iuF8D%f@ctIZ8PDF1Qxi)7VXe-}**(B@g# zRxg07A4QBf4F)mD|0asL0l0b~?#U$F=t}N%+)bm!Fz1+6bMgGs&v*CF?#(|!sLuv- z$BI|&TtOmysp`8a3w~>=4#pOeaA^nju>)gR=WNcZppE`o!#G83bl=n9s|)*QIw01M zS026mZ3OIgS~(DB-C!xN3u}9d#I?;Dj?Wm7K6n5;LlD*6-u;$is}I`4RQ|SS*k_n2 zHRpW2{{Ju~?x;1`#cR z9>x~qZ~1Y-;apg?jB~q^9R%gy#tlM0V#)@^M%Z5d@BA_-=kPlHUrZimU5yZt&CT}c z-+W&M|mLa8%9v{VE|WWx9Mw!S?&x)DF2XSD)8NhE}2Ji zw#OhPht!zFK{STnzGaFA%0RQD0v7~Z7t=ANYgbceG_4dL3E1WaUi)m7LGwoaxQ?h( z=#0Z_=92XrrQ=V(z9_o_+XP^b$G_1{R>Ea}?*thkur8W4wV(U#thW49)Ztcedz__>}AIK1Bp^l|tl5(cJUD?H{n4Sr}#UakaZ0Y2tBv@=; zW0L{B26!yq16=f5Wnk3N-;09``y7D%o15mWLz>9N-pb;3+_g3qv1AOIwO+#B({kQ;2Si@gSW+lpz`h)q{7P%$2XT1ijn@p67qKMe zrHV*$2eiEUfgT|h%7zpcEejC+u&>>PY=z(Tqrx7}Ko zH`aszV21;t$&Nha6BG3JI71AArgGgNa*&xfF94xbiA|sl|674RkEN!{A69Ry%Ft~# zpxfXp-aF5--Y&BQg{{|Xh;66!ECq+08AajGx z2I^@RH9kUJRy;V}P{WAUZ3a3TeFQq1Kw)jOF9Qxdzm;y{+^)O@KEp-EQD_md!RA-4>dqHMAsF{2*uu-n`p&iy8vZZ{wo~2 z>VIa`fdBx4EC16NzmX(1!m}A3JOD5&S_J5|)V|e_r6KN2xwM>0(x;B{pL&vm+eV^# za?(F=vBHb`0MI$&R8!Oy~664N(> zoSE^&E0BMHgHtD<+XRP#evHw1X_ATDo_%)jo-_~b-OLMruU%;E+mk;B7MbV0eLkg& zfhT7dV&^@6+JbeUc&cplZd`6~c`!bKf^U3q)-~azCU6erZ`)4AzTa(( zHWZt6>OdcjEgI3g=C!9M*h{{H&Woe5u|`|^v895d2%L-%p}zT- zPiL-%8)t0pVsG^6xpHwKQI7>g=78mj80_`QBDONc-gKT9URxZAM%D zCMT-et;gIG^nm(l`5fucOpV^;<$StTzn6)T;nwA|#iD9773!hj1?;;~aC@Zy^~*z2 zrNU=(Ecfifuvehm!zoT)wYh48RYIv>;xy`aAgH+%uEDDgedvbS{Uou8^5?@<>bx^n zCvx2lLe0Rr!b#xZ@boVBedm@fWMeIbrI)JR`;*OWQkR{Wg5`zL-j>^KjDzpx^;T+3 zUcY;wc;=cW!fdW%k1iZdIqd&Lk6Bm0Mc4Df@sWACH@f0Mt;let3kVS%e`VkReIzLuu~m4Cp%jb`|=BWmEQ68&~?1#?yI6Z z#hj75_FNa(iwhfQv2L)!AgGYYMXSPsnKWS&apB?MS)pfbW6gD@mYtB`-o&SXPx+&y zkVv!|K3uSyDMwWawh6G&3o8k{Sgm}YrS}m3d8B9vJZi`ifa?`=$JthWQ4L`@?`A)T^?C*U^S#w*iQ2DT@8^ zpHxINWdKz%3TRzPm5*`dkrFE71F)PEqbYyU+o)&#EY_bb>Odp7s1_jK#j=lU$3e|H zo~jr+u3WS+#(A{EVr9k)*4-$Nvms2@rNwTEQ9u}GR{eo6&9)X+giZu|9Q3iOjm0bD zq7f3eP}gl!t@mr|C7_mxn;MO%yQ0M`ddXgeKjRFe4PLgvF$Xj1qAZV0yhwLhi`BVI zVw~vyKz#zuyM|~6VWLS|hTrXG=u*}}HBv0N&*gk%8sbbDg4aV}vDMqPv-KSRbR;yPv9`fan`Q1t1&Z|OH z3>Z$c_`f&26QpfablvDWgwUVaz8!DwFS%IFaHiQ*NdI978;0or0r~{WELKFu^(y(! zt9L+IvTmTPhYFKE6{kGaGjKSg$}AAtCP*qm{f_|DtaYna=1;hx^j71;f2I~WLdOd> zf7lB~1+9#JI1(-VPPbhP zIl_^dHE@Vp-%RYb$YcEnCV4Y_C|3ktPMhAJKdQLdkUVO7{iDorUV{ov!|hG-eHlcn z|4X(7AEPYZ6Hn^~QRUdf@}`W=+muYQa8GvuM#_H_D4%1Smiq_z|Ij%U9KIYcRmP(m z!Gqt9CkbfB>-&e^C*7_7-6bsl@U7EsdOT*c!sz?sY<+qdcZcMt?A1KiKk|#_U>)?B zF&kbU7w7>_!TZ;s!umm)NUl{2M+9W&A7%9Zn717deBS6Q?(HxpdGcqYNhR`%!w~!X<5#m1HMwDbopSrr}6ku zB-Ge!<{-c7{@u&{_aDbni{*?OSl3UNw|@#%v_W??W0qt6X4(7nvT^*Uct)Fk@GAaU z_O1hTRLa?KH@AXj;`mlEvj1tuF_Vx5Y##D}uQ?=iXw$>CdVDDW?-GP@$J&D%9tkX`;gx=|(oir@dKC^n2y1vB zkM(v&l`lXP{prq9FO<*R##4U;<@W(3N@QM`9MI&xax$AHA=;Vdlp8THI3h)Z0xh?Z z2!_A;E7uFXi%o1^1-!9|S|4aK#*ZN^+wPNJi5wV4Y$v7o%}gE_%c}p;Mg|7yb6JZ` zJWVjpkl+k`59ctjzdG5T!()#CcD;2IBeD2PQ=$}2DL#8Tdws;*;))af>gA1gTx zROc|(@%Ga{MjmS$-X^~c`j;WCpGY2ChWY~_go*NhhFD-e~Kjy+3?ok#Z8oK1%8EQd@{vBn!o5Q$xX-%#UBG<(~}i6D`@v6LTGvPetVM^b3@yV)lSwM z&|pc@{BiU^;++gzhA-1R@HO*h^_;68mH!(Rb}8wcvccx{I=QJ@P-5z2wv;;}yc7z5 zcwX$wzNRW%{Q}Of`Oes1Qv*~LH5F>)o`nA&(08m5 literal 0 HcmV?d00001 diff --git a/doc/images/image2.png b/doc/images/image2.png new file mode 100644 index 0000000000000000000000000000000000000000..c032103805785e018ae0f10cfc9a263358e436c4 GIT binary patch literal 10238 zcmb7KbyQT}_8$dAQpu4H=@_It3_!Z18M?bmLO`S>q&uVq>68-bj-k7e8XC#rHz*Ik zZ@snNTfaYMt$WWsXP>=4`?KSoJ3;cY;uxrer~m)}L*n%-MF8O5IQ;tP;eGfOYf%pq z{N|p6qWB9yQ9tnp{07nFxy*9_pfnuqQV$7!k7D~;-2ni=Y`OW}>#)f)1ORBGBwjs# z1}*n{f){tPRG+WE(0UIjxwsHX=K{y z1qB6l1?H)4YFFL{i9|W=bx|AbW2a*>1}Ac~yIKO^s?KJ+_H18c-g!$DepAzevzZuXaO=H6ZVG9C{x9!T6paG4X}Vf zd8EjhB&f0z!Ii@fp+V*f^_DZ+I z{iBxruamQ7!3;I+_Uvynt$5vBi>0gEOm|O0(BM~&X6y)R7z(U5XO|Omjufu_ zD5E4w5A}BPNI9%Uf4PBVPK-G|!934-XmPo`dmX$*;pK({gNO}qI#;T_e{;^0{N_CV zP4j^ZWG72;+19Y+t4A;Fky*%rf9;Afta{IFg&k4wn2 z$z!QnzqAtvK}*Y^mi+md8hZ6o0? z76Z2Q0H@b_=&yY2lZSS-H#g{3A$ zGl@&PN%vLo3q7sVp!3rcRx)tRo(iw$@m`}K`4;B*c`cXhNmx>Wta75xGLS{vHoIk! zuuj=gMkEwXILErgkAjev)_tkd1WNLF06RYY_ zI#6GVtQ!f@Nw8+r=j5+ar!mDdS%(e|6q{tQXP$?Bt2l9lkhUzQT+X+N%kW5PBn5-F zWlq(}i6L#8hB#w%-Ru%4?&mhvS{d4FQ9OOQ_G7N@^g5u7U)k+nz|t+>-jaF1`iXYq z#&=~fwLUAkQay1JcoKy9?ey$${eTK(M=b%OK)jX}y=ZCzqh={5a0J!~1@@-b-B9+7 zoYEltNyAcusyCB22VeS%?DthoEA($6V6s=nKf(2_dQ+nC1=pt+O$XzI*hjli-B*67 z=QgUC%$PK5riU*Ap5XaG^~aGv!DlhzNyXw=J{>7f^EfBp!nW_y2smkDTM*l8w78kle57EIemNqRvS|81gWU1Wf6~v zk~o&~4WBHI%sf8xOM*<(=2%!aaipeO;S=0Rv%vVM)Qru&0c8K(W#lkaH?0Tc12M*7H;vJ55$9!V}#|21eGlc|kc?X=< zbwq3WW1*qUXRf{kaZPyR!`Y{SBcr9@XOkppGFPIF_}&Vo5;Ifv2Xkw9sa4UQrKS7{ z^5OX4uB+GOF0@*vOHGgF+bRNUXZ9@XHJO}v>#DwUM6&d}IYndJl0#V3UJfa(4UzFJ z-eFP^HL~nTc*Ge3ELC-qJyo>LULtTGz#89PRsX5D)81-ivI=@|_zbL7`J)XsJ2}rE z@4r(Rb3I#&GWdQYMHV*e!=(Zxfpr|W0j;q|-T^Yp&4G2xx}O#iEQ$U2(H-sV_Tjvn zzgTb>Culp~pJn?A$~j4cK|g(Ci;|-qq9xmRJEvBphdKLX`o`FqFs*7Cq~m#iDu2llISC3nh`q}?aI zJ^Y|c=jow~{VSj zh5=1<(0^QC|17UZWlYX+*(VeMiX(%GQ!-raGJ%>Z!oeHqsmH(KA60~m?k_FD5FAT0 zLO?}fA>x@>POM}(KT$W;$@Z4$(nB)Ye}b&}hsT)VL^W^X6EwdbO&OL=_P87lMsElq z>UWpMlnw9IJ{ay;z`IfC9SEfG=+jSzH^2g9Y$_rhp|iwqc?OyCV2HBeR2%MZb_)nf z&hFQ^Ru5UYFz#|4@X}BmywtY_l39nJ($gH%rMfG+;i9&gzAd!hq)4q|qiubu#lSl< zpw z4sm!PHJ}_L&n6`T2Bx}r+8r$tK~qo9Q8T?v7kw$NhRp zW`VFK5?D)^%BHB6uS69eLhH02+#qlSO6`*ciZcwh4Z#D$UU?XvO`R7l<#R;WMC6s2iKA2y zxLcyw_L37Ew%8AQ%A0SdO>Yr6x^ZRGBc!JRdLGFzk$t(e?kq-~HHEHEzuRie2y1Gd zjL+JQL&ai!opA7Win)G}b#iomli`RXSq**2@Y+HDXYR5hx!~UHyY2k*P{$spoe5dCzQ7!@TW!FQ7iyj5?Fh~TR<`!Rn*u^rd-**fOXgTp${pwwfhWv^+hU(StzD0D# zm7gG_#`VS6%FmJ9D<;_X%F=4g-WTP2SmHuGuC}_;Gt`oGLgY(%BCX)h6-U9( zr2}bFCYDD3 z`)dLw8T!F#+SL_ zzH5bG6_RBlqh$zKkl4ZKvW!9OEiFU9)_1&|XI(p`k{8`2!HNX36(qDYMkR=6QLdK> zICRa!6eKvprYujx{h>TY&14gC&NHhoLt<;`N>>{`G5*Q>3;>mCPyefz$E~5(04KT(QJa6+d)K zP@S5nS5FuDDo1|{JbVGimh-TOR;PdkP--t=f_Kcav`{d?K>U-PL_%vMr((-5af1+@ zGNLZ`SGQ1&^x3`b_?(0)C&4YDmISYZmQV`!`ZKCB{GGc^~-F8rSIyCj)1v z1U_q8NRC{ftLcg$&Dxa~_b0#~KI?WA-8!>Nm**4KpFt{$rAhAK;U_NQ0{fBa6z{*; zaA5uM_=ZlaPr$@>?u^Zr8(9(7pCElk^Pl00hgA&*L<9dNPk)9ERfPft3wfSylk~;5 zJq?ti_2gp!uh>xCjC$Fntk#*a7CeE#LjXmpiu9j>pKXGLP{Q|^wUadP$qEK8`oRO# z2X0CXr+-@!ohe;bPnn@P|T{BZn%h*Xt$?|#GRb1z1`Ig(VT3`ITtkqfP z4L3vFdVJp4&d;}xsd>dk3psRcbf|t5o5r0Hv&t{8)&EjnTDqn9q06g8=LVzyWGa^523dL~1! zv4Of?V9c6Aj^5zi~ z-eupfZmR8mhc3}cSm)&V>~Xqo1b4RSr4Yt)c;RfQo2=~i=jYA31j(kRfrA7Jq zHe(+#6WY0>!=C|$-qri~KA$@()crM>B<16-8;(A%@%SEH4STe?QO%g|L#m7gn0HdQ zK(D9CbhPTTf{_oFvyRILpf?C|Jg##F0Fe(2((l@kT3h6eJzYTdPExQ*K8As8IB5 z4T7Rd^850(CUm3SH!|P(^1sYi`C!2uD1wce>c&J#bi3}TSXYR&cYP%>4EdMGM<(Li zl~;`MGrvyPU48?ywZ4M6jb=*ET1qc;&|~HeYVnw2isVZ>;7KH&yl)|TCm55bV7uR9 zqPzpdY;p!<;ztS*9s8j8^~M1{FudOJoKMc0MKT4Qr83Q4*r=q065CyU^+FRU3SpFC z&eDn4N3{-)hW=aj=?fX3-utp3OIEUJSv*HfU+9bdG( zc0EMN|Hja3)W)hXe!+1&Lz#bQNDFk&UEdfAOR!rA$LM+5YWJ4}bq$d62(}(V)W%Dy zQrhvwl+=|*jy6({ik9`A^o1U2Y}7{L|G*P~J45ha^z@;^^+e!vNQxb`I&n9g7M4B7mlzQ3E5Tay}dxY}n zf%G*hW*tN+jrfD_y{OjIne8pVvqsriruiWWHlgepDsimPTOK0t$jB5s-THUs^8)&R z1JAI8HV*ACc=b1U*}2o+n)y?wc^ov$FSvCp+9WNC{TEQCx3nS?;cez8PY)yCfU!F! zEqvz}+<+vvJ*!b7$|oUL`Qx*Q)>N(UDXD9a*=_Y?xiunQ$n!gQ{C7MfRrcTqa0LE} zUq4=ZIKqyK=RKTY=tIiM!k#cP6P?KSaALg3S7~p$hRJQBi4>BK6i{VQ;m$ZSy^x^V zhg*FQsUz?Wt^gchmG+&eVEN5vd421yJb0iWpoU@P)5XtJ@BDsNmy;zi-5TH`lbF%E zJh06Kl0da)SjJI+$BbCULR8D!nB8>zUpw?kTlc6LS*Q5-HyVbjnPuX68DzhF1TU}DlNoEfZxH$o?_v2&6Nf=LEw@jB77 z5s&eU*Hh^wnus-~l@FtyA@TI#nRps3`^mCV{##C!^Jg=3Jp*_=(d4b+mJBRU+Xkxa~s#yS%^DJ)ZGWNY@{ zI!k_H6|PyO=w;v4VpW|^r%n^xRaSrHXaTa{lw|gEq^DW+6#~Qbjrj18aID6W%h~FE zZJIbjO7Ky*y~szgRcfq^JSffKM9O2FK<)Hw7F`mmi({F5lM_itV}UBv2x^d|4vvgg z(OlGD&7Fz}v@cRi>RpUEO;&7ff6XjVyDl&npi`n=8N^V7LH()q#ueb^fax{O6_zAy z>&x%giD)jC3`#Vonpt#WSZl&UR}U=Rq8iXWHM;WTeTIHADFF~RddNN zJ=GWvqqJ?9|{b5+zlcC`VNlZ|b4+~wc`o@kc=XEgG3uJZ6y zvBxiX)*J)F2oP*+EXVrS%Iz+sxs5JTOM2Q398^*^2|8D5*>LRIE$!Q|YDZoBWs!9_ z@$h!R*;`w-|CY8Q<@b6GuqM<06cu=>8>oRmhCLjmliy1r-O9MB2QF*;g0$i|hY#c= zOU=(7Bj(OB3PD8fVmZ}QWzxOmESi?-)l~fwJJR2@K;Yu8vBtoIcRK>lt=xy_y4eeB zsvbG-Zp#BaP4fP?JoUG}kzWbcTK*f{?4p17vT)6%Rf8v8fs5qiCP5r3? zOr_M7Y2h<}2hZCw3AdBQKG(#}A{PtVD*a_z_-*Uf@z-h_`%~hZaz%Br@?-bth*a9! z#rdOehy*1blG5ul#oGp=$0xcF_21iyzY3Yj`QP8v-Jj~sfWn8j{Vf6#0zf3~ zyZ=2vx}1iVYgt_>r;q~*q?uAtX+}*`JZZ~6Nd*ug2Txp|e0Ef#h>Yb^A>BueX$=ELK`UCSF^I78}OJjsS(QWf}W>i4lkfT<-SKOM3`q>8d zy`}+%M>h4UP7@+Pl+(0D+$CsR4 zT!d)aT5wvuo$BqPptW)nE?(2FM1ScC5iONCEuU@F zs5xFpeGh;!0*?1GoMJ{?qD`hb6hK5AgfS0nYMZE73dvSL2ab&IuI>}dh&Nb58t!sf4K$b^y` zVdqC_*KX%6WSAW5O|YJ06o766`n3Oa#-|jidjJt>je6sgM!~)YVsWY|A2bBOnBNH@ z8{2OtB|`e@(!QoIN>(=RrdTk_TDi~z0D(bAgu5kHx${#@jLUD=7k&WVc`0ZcNOujF znAp_2HIu+Rc2hD1k`Mp@JF^4A1IlH|lY^&v#%Oi6{lEH~;Y{AjXtwAKD)c81{{sEW z*pnFkWYpMsmsslwpoDZ&`=uC%0kN5-dB(l{Zwgi4m~8a`-`&;PEqXD%k;TRZ%ddSn z2EBHZ?er4S0Dw;fCxJF64GubhXDoOjt2d+q{{B+R;P55G?-U=m^5>P67o z>b0;GUvGssT^C$jpL76$EWC6wywL+l#`f+N?0oSxD1#{7dc5%OTQmXP>wg3inO|@*3r!5l?%0<6vxem4$5szII zqbolEp|c@@EXk{nGj(Iu?z5ZiDhqbHi)!HqxzfUqVh{+V-RR*4 z|8_Y)0pkqy?Q+|Q8jgN>#u4Y4ks>B+WNJ?VJQ;EL;D2XloX5pZHH&tAIwD*hc7(w& z2}qb^6|YBcjRA&eZAxaQJ_d6L=A+dTihIBZ3HN~y=>Kj$pU? z=>jlNYMyoC)|52Qv)r7kMd!$+YW?uQT0(zkr%!tmebZIBnSW&)?b;Uual&gHmFIVgVt6zW2S_^jB#fY!+Dh_wh2&GlXXGN8caMfh10L(#jp$mfE;x9qK-D9ayyWz$eqmP`m6G#YNtbg zl7YW|mip#;kthR`;=HaWv z=jWG@v^0-jv-2q!&HgDFAb&Q@R{kWB zW&_cVtTr-l73oxIn|UX=3;jQ@{h);(;TiCK9c?v5GYvWPbxWd_$Qs0chU z(F}j>u|AkP9aMX%+SH{nL!>iH>Yc>~E^JhQ;D5FZ>-h+YJsUd9*(I|UH@jj$r;Et-oTTn<;tON!QUuE2=*Q~oD-g5 z>@DieicH>97+BnE%FZ5N9w*P#rz9h>t}{=Y_x=^{QC=4sD;3l`HrhRxd2dsq@_V^U zKB7tN^@~eBql)p4><|oP;~bX4mYW+R|uC(a){g=KA)vKjd5)P2gq9vx0|RtF}n zoC0Af_3!fAXpk&6%rMb$NW4-=u-^!G!?{=wr&@=}d_sdp?Q4TXY;2u$R;|UH^UjK7 zOQx47le}fU3@v&P+NJ9#^jZ|urkJY4-p=ATk3icIpnAk^p2s8~;FN!8uSa;%St@-T z(A*@pj_Vx#<~)&)604CkCDS{!ZH7$=J^hQpA||)F=K9!RJ$xqz4NO2to>d-p=&?e` zY1bN?eI^Z<9%7ogqsONQrL36R#5el(v-+LKBr%Sy9xG+$jHd+TN8tF+(4c zF=fMOt`UuTes{D(Q2S-o55Iqp_DR0!HLkU4JW|BF6rnY|F)hpsUN~5pIZ$h9Ze8at z?#64w3QG8syrCppr7!I#9{;a``_DY4Rkl6J`;S^ve>p9Tw&IUL+HEPYI;Qr-^iJ4> ztyO-tH$IbLAv}lv9bMRs)BL%UhGaakRai-UFV5Pc=oRC~aqXBjn(ne_G?Svgt-y!X zIhZl#a;IM|COJAYtd9{ z#O^!(BNIouUC`S8-4qtbGr@XsI8Y-(eX~;8+VBWqfXe%?Aq_r zS(WFGZ8keuP35(zd(>AAz2^JP6gxLBaaI0I4}P~k+5^+VW{NYyF3%|H@E}etR=vcJ zhqZZ)Pg#(E_dqpSTh-o)DB`0EGG2?#v1PgnWo4=NJ`<0LXI|U?X*2$(u@82B004vh u@ZJ{i6Q|}G{C|8X@b(vQZoqft%>g)&it%Niga2m_AR#LIs_2ET@BaZwk+Pov literal 0 HcmV?d00001 diff --git a/doc/images/image3.png b/doc/images/image3.png new file mode 100644 index 0000000000000000000000000000000000000000..5fe2ecb8f3e9d86242f2eff83bf982b06104fddc GIT binary patch literal 6003 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 VmqMj#8kokCmsXZ~|MYp_{{cK?Wjz1@ literal 0 HcmV?d00001 diff --git a/doc/spec.md b/doc/spec.md index a7947b19926..8114398ae5b 100644 --- a/doc/spec.md +++ b/doc/spec.md @@ -262,7 +262,7 @@ function f() { To benefit from this inference, a programmer can use the TypeScript language service. For example, a code editor can incorporate the TypeScript language service and use the service to find the members of a string object as in the following screen shot. -/ +![](images/image1.png) In this example, the programmer benefits from type inference without providing type annotations. Some beneficial tools, however, do require the programmer to provide type annotations. In TypeScript, we can express a parameter requirement as in the following code fragment. @@ -410,7 +410,7 @@ This signature denotes that a function may be passed as the parameter of the '$' A typical client would not need to add any additional typing but could just use a community-supplied typing to discover (through statement completion with documentation tips) and verify (through static checking) correct use of the library, as in the following screen shot. -/ +![](images/image2.png) Section [3.3](#3.3) provides additional information about object types. @@ -627,7 +627,7 @@ An important goal of TypeScript is to provide accurate and straightforward types JavaScript programming interfaces often include functions whose behavior is discriminated by a string constant passed to the function. The Document Object Model makes heavy use of this pattern. For example, the following screen shot shows that the 'createElement' method of the 'document' object has multiple signatures, some of which identify the types returned when specific strings are passed into the method. -/ +![](images/image3.png) The following code fragment uses this feature. Because the 'span' variable is inferred to have the type 'HTMLSpanElement', the code can reference without static error the 'isMultiline' property of 'span'. @@ -638,7 +638,7 @@ span.isMultiLine = false; // OK: HTMLSpanElement has isMultiline property In the following screen shot, a programming tool combines information from overloading on string parameters with contextual typing to infer that the type of the variable 'e' is 'MouseEvent' and that therefore 'e' has a 'clientX' property. -/ +![](images/image4.png) Section [3.9.2.4](#3.9.2.4) provides details on how to use string literals in function signatures. diff --git a/scripts/word2md.js b/scripts/word2md.js index e80275d5b2d..2866c92d580 100644 --- a/scripts/word2md.js +++ b/scripts/word2md.js @@ -47,6 +47,7 @@ function convertDocumentToMarkdown(doc) { var tableColumnCount; var tableCellIndex; var columnAlignment = []; + var imageCount = 0; function setProperties(target, properties) { for (var name in properties) { if (properties.hasOwnProperty(name)) { @@ -120,12 +121,18 @@ function convertDocumentToMarkdown(doc) { var text = p.range.text; var style = p.style.nameLocal; var inTable = p.range.tables.count > 0; + var containsImage = p.range.inlineShapes.count > 0; var level = 1; var sectionBreak = text.indexOf("\x0C") >= 0; text = trimEndFormattingMarks(text); if (inTable) { style = "Table"; } + else if (containsImage) { + imageCount++; + write("![](images/image" + imageCount + ".png)\n\n"); + text = ""; + } else if (style.match(/\s\d$/)) { level = +style.substr(style.length - 1); style = style.substr(0, style.length - 2); diff --git a/scripts/word2md.ts b/scripts/word2md.ts index ec9ed634b3c..1e9d7879f20 100644 --- a/scripts/word2md.ts +++ b/scripts/word2md.ts @@ -67,10 +67,17 @@ module Word { export interface Tables extends Collection { } + export interface InlineShape { + } + + export interface InlineShapes extends Collection { + } + export interface Range { find: Find; listFormat: ListFormat; tables: Tables; + inlineShapes: InlineShapes; text: string; words: Ranges; } @@ -180,6 +187,7 @@ function convertDocumentToMarkdown(doc: Word.Document): string { var tableColumnCount: number; var tableCellIndex: number; var columnAlignment: number[] = []; + var imageCount: number = 0; function setProperties(target: any, properties: any) { for (var name in properties) { @@ -261,6 +269,7 @@ function convertDocumentToMarkdown(doc: Word.Document): string { var text = p.range.text; var style = p.style.nameLocal; var inTable = p.range.tables.count > 0; + var containsImage = p.range.inlineShapes.count > 0; var level = 1; var sectionBreak = text.indexOf("\x0C") >= 0; @@ -268,6 +277,11 @@ function convertDocumentToMarkdown(doc: Word.Document): string { if (inTable) { style = "Table"; } + else if (containsImage) { + imageCount++; + write("![](images/image" + imageCount + ".png)\n\n"); + text = ""; + } else if (style.match(/\s\d$/)) { level = +style.substr(style.length - 1); style = style.substr(0, style.length - 2);