From 31a45ab926378429e0a4e8f07cb21164d80cbd43 Mon Sep 17 00:00:00 2001 From: Adrien Burgun Date: Thu, 9 Feb 2023 11:08:58 +0100 Subject: [PATCH] :art: Use Fira Code for listings --- figures/email-src-hbs.tex | 2 +- figures/email-src-mjml.tex | 2 +- figures/email.tex | 2 +- figures/fromeffectloop.tex | 8 ++--- figures/hbs1.tex | 10 +++--- figures/hbs2.tex | 2 +- figures/nestjs1.tex | 56 +++++++++++++++---------------- figures/nestjs2.tex | 38 ++++++++++----------- images/fromeffectloop2.pdf | Bin 24656 -> 25849 bytes report.tex | 67 +++++++++++++++++++++++++------------ 10 files changed, 106 insertions(+), 81 deletions(-) diff --git a/figures/email-src-hbs.tex b/figures/email-src-hbs.tex index c5ab855..9f8ec9c 100644 --- a/figures/email-src-hbs.tex +++ b/figures/email-src-hbs.tex @@ -1,5 +1,5 @@ \begin{figure} - \begin{lstlisting}[language=hbs, numbers=none, backgroundcolor=\color{bgColor}, breaklines=true, basicstyle=\small] + \begin{lstlisting}[language=hbs, numbers=none] {{#>mint.main}} {{#>mint.title}} Bienvenue [[surname]] [[name]] diff --git a/figures/email-src-mjml.tex b/figures/email-src-mjml.tex index 7eb2f2f..6ada83c 100644 --- a/figures/email-src-mjml.tex +++ b/figures/email-src-mjml.tex @@ -1,5 +1,5 @@ \begin{figure} - \begin{lstlisting}[language=xml, numbers=none, backgroundcolor=\color{bgColor}, breaklines=true, basicstyle=\small, showstringspaces=false] + \begin{lstlisting}[language=xml, numbers=none] diff --git a/figures/email.tex b/figures/email.tex index c144610..157efdb 100644 --- a/figures/email.tex +++ b/figures/email.tex @@ -10,7 +10,7 @@ \end{subfigure} \begin{subfigure}[t]{\textwidth} - \begin{lstlisting}[language=hbs, numbers=none, backgroundcolor=\color{bgColor}, breaklines=true, basicstyle=\small] + \begin{lstlisting}[language=hbs, numbers=none] Bienvenue Paul Durant Nous sommes heureux de vous accompagner lors de votre séjour en vous proposant du divertissement. diff --git a/figures/fromeffectloop.tex b/figures/fromeffectloop.tex index 4384567..866edd1 100644 --- a/figures/fromeffectloop.tex +++ b/figures/fromeffectloop.tex @@ -1,6 +1,6 @@ \begin{figure} \begin{subfigure}[t]{\textwidth} - \begin{lstlisting}[style=JavaScript] + \begin{lstlisting}[language=JavaScript] function useCategoryCache() { const [cache, setCache] = React.useState>({}); @@ -47,12 +47,12 @@ const Page = (props) => { \begin{subfigure}[t]{0.45\textwidth} \includegraphics[width=\textwidth]{fromeffectloop} - \caption{Les flèches correspondent à un appel, les points à une dépendance} + \caption{Schéma des dépendances et des appels: une flèche correspond à un appel, un point à une dépendance} \end{subfigure} \hfill \begin{subfigure}[t]{0.45\textwidth} - \includegraphics[width=0.3\textwidth]{fromeffectloop2} - \caption{TODO} + \includegraphics[width=\textwidth]{fromeffectloop2} + \caption{\og Flame graph \fg abstrait des appels} \end{subfigure} \caption{Version simplifiée du bug causant plusieures requêtes à être executées} \label{fromeffectloop} diff --git a/figures/hbs1.tex b/figures/hbs1.tex index 00c30d2..f4c273b 100644 --- a/figures/hbs1.tex +++ b/figures/hbs1.tex @@ -1,27 +1,27 @@ \begin{figure}[H] \begin{subfigure}[t]{0.45\textwidth} - \begin{lstlisting}[language=hbs, numbers=none, backgroundcolor=\color{bgColor}] + \begin{lstlisting}[language=hbs, numbers=none]
\end{lstlisting} \caption{Composant \entity{Mustache} \og \texttt{component\_start} \fg} \end{subfigure} \hfill \begin{subfigure}[t]{0.45\textwidth} - \begin{lstlisting}[language=hbs, numbers=none, backgroundcolor=\color{bgColor}] + \begin{lstlisting}[language=hbs, numbers=none]
{{@partial-block}}
\end{lstlisting} \caption{Composant \entity{Handlebars} \og \texttt{component} \fg} \end{subfigure} \begin{subfigure}[t]{0.45\textwidth} - \begin{lstlisting}[language=hbs, numbers=none, backgroundcolor=\color{bgColor}] + \begin{lstlisting}[language=hbs, numbers=none]
\end{lstlisting} \caption{Composant \entity{Mustache} \og \texttt{component\_end} \fg} \end{subfigure} \begin{subfigure}[t]{0.45\textwidth} - \begin{lstlisting}[language=hbs, numbers=none, backgroundcolor=\color{bgColor}] + \begin{lstlisting}[language=hbs, numbers=none] {{>component_start}}

Hello, world!

{{>component_end}} @@ -30,7 +30,7 @@ \end{subfigure} \hfill \begin{subfigure}[t]{0.45\textwidth} - \begin{lstlisting}[language=hbs, numbers=none, backgroundcolor=\color{bgColor}] + \begin{lstlisting}[language=hbs, numbers=none] {{#>component}}

Hello, world!

{{/component}} diff --git a/figures/hbs2.tex b/figures/hbs2.tex index 9ee09b3..3147090 100644 --- a/figures/hbs2.tex +++ b/figures/hbs2.tex @@ -5,7 +5,7 @@ \end{figure} \begin{figure}[H] - \begin{lstlisting}[language=hbs, numbers=none, backgroundcolor=\color{bgColor}] + \begin{lstlisting}[language=hbs, numbers=none] Hello, user! This is an automated email sent to you, diff --git a/figures/nestjs1.tex b/figures/nestjs1.tex index 33d2f7c..6c5bcae 100644 --- a/figures/nestjs1.tex +++ b/figures/nestjs1.tex @@ -1,38 +1,38 @@ \begin{figure}[H] - \begin{lstlisting}[style=JavaScript] - export abstract class IChildService { - // ... - } - - @Injectable(IChildService) - export class ChildService implements IChildService { - // ... - } + \begin{lstlisting}[language=JavaScript] +export abstract class IChildService { + // ... +} - @Injectable() - export class ParentService { - private childService: IChildService; +@Injectable(IChildService) +export class ChildService implements IChildService { + // ... +} - constructor( - childService: IChildService - ) { - this.childService = IChildService; - } +@Injectable() +export class ParentService { + private childService: IChildService; - // ... + constructor( + childService: IChildService + ) { + this.childService = IChildService; } - @Module({ - providers: [ - ChildService, - ParentService - ], - exports: [ - ParentService - ] - }) - export class ParentModule {} + // ... +} + +@Module({ + providers: [ + ChildService, + ParentService + ], + exports: [ + ParentService + ] +}) +export class ParentModule {} \end{lstlisting} \centering diff --git a/figures/nestjs2.tex b/figures/nestjs2.tex index 4bd74af..9e7753b 100644 --- a/figures/nestjs2.tex +++ b/figures/nestjs2.tex @@ -1,25 +1,25 @@ \begin{figure}[H] - \begin{lstlisting}[style=JavaScript] - @Injectable() - export class MyService { - constructor( - parentService: ParentService - ) { - // ... - } + \begin{lstlisting}[language=JavaScript] +@Injectable() +export class MyService { + constructor( + parentService: ParentService + ) { + // ... } +} - @Module({ - imports: [ - // Comme ParentModule exporte ParentService, - // ce service est facilement rendu disponible ici pour MyService: - ParentModule - ], - providers: [ - MyService - ] - }) - export class MyModule {} +@Module({ + imports: [ + // Comme ParentModule exporte ParentService, + // ce service est facilement rendu disponible ici pour MyService: + ParentModule + ], + providers: [ + MyService + ] +}) +export class MyModule {} \end{lstlisting} \centering diff --git a/images/fromeffectloop2.pdf b/images/fromeffectloop2.pdf index 383a7e57854affe4d46aae527d8bd85025043f06..ba52bbbab7caaee6e63ea431003cf584242ffb51 100644 GIT binary patch delta 8756 zcmZu$1yoes+LrDv5u`h0dKd+il#mYT25FQ=ltDnc4=p9qAR$PDAl)Gdf`CeQcm3$S z|GnS$arc_F=FGF-{l3rp?0sg7$*i<5G%eZTx4f zlpQPMlidZ=6KAKm_BOS!W^ALPP!!GX@%r8**@Ak5WRbIy8jQOK9SvOrNF*Zq2vjRy zy&yHT&^^1;P8-N+*Ok;)BGf0gy?eU6mz{WsR!n25zDXuMzWjNUYgNa$j8zK6`LrNN z@V)$2g1qn>?^g?cm3|b@G2y9YO1=*=R{vKET;5xY97|_e?|LJI{&eAS zagZ*wQ0Knc7^wZusd+DRgu$r3;7RuiD_hp3(ZJX%MdDRW;*RB{-Nn-52hm9f$GQ96g_g{WzuIsdOU8+6<|SNf$i54W#45rQ!i zy-}MG$;Mggl}xWzNtGc?&F>P@tm8`t{>R?UHtoC|#@QW>sOkHfCtr^fI%ruv7+KNX z9(g%On1L08PJ+n~CE%?21jO@O&Z=ZLzIO!gc*Fv6S%p8(?3xvXN~O0}UlXNxF+93+ zuUm{i+vVHs?*r)jH}-XMPbttAQbD-j`bhnqt*jeXuIwUO6%iv_>)eua$r8GF@e(oF zAWTiaFCiS(ZB`15zuY)~6x?+pU$u?fGo;XrqA=4Ua{i36B?NQ6YfZsdRWh{W=%VHW zs|CsL<-LoIa&auULC{v{W5t^gTfeQQVwS3I`k`9diTwl}tMX1Y-=3KAEe5u%3_ZRQ zoDb2FND(C;8$~3q&$22z?T7h%I$Osj=T{aeumMJb6l)VI^L)Niivwy0Im|_bii<(>H9C}hs_(G|(+Wp1 ztX?k==m(;2I56$R5tl4ero9m=)3&=1RBf&v5%)=Q@hJ+ORgduvN3XiH=of~R#6%~bQ_2`$ zrfO{ngj=^nff0)m*3tPM{Pgx@lYlkV9E%_CsiuUmTGE>l3<^4w<1n%LueBXMPTS$V z3Rl6x)v0lHcu{%cE1g?&Wnn~ee)YYpy?5m#8M(+N6eLB$1LScS<$Jwt#G*s06zp(k z}*uG5qpuw+`@U_>un;=GQ^;tc$(>dqhSop|+_nLqfr)R#N2l=zv1XvoBf6 zGm>iMgt??=b%XPkZ;VVC8)sJn2!~Qg8YxGO#J^Z~F*v04nT0%S$oo^!b!uCK;fl%bWq|nU;B?0MT?-8Y43ob_4hWU4h|_&PgI~UXI%f z(L=LMoPU2BG?rUrrE-Q;ZATNQI*|w`Y4!Sh<%@utHXUVccDcNHny@plk$3XR;u9K@ zC_mCbhcH{bN0nv-0}{F8lS`7 zJ2K>R58UdHqa7Q+fSeO?_QvD^Ie4EapkU!UC^!m*VgW;;cTivy;D$c~5RnrDCIp!n zh;nSguUJ4B1qrZ7q5uSwl3*YK3PNVUh?E!5CnEvkNINhgD8P_R3$P+50h-C=fC&;3 zfR0=h0|8i*yJAA2zz=dQ3T!XAqSD*R{OnzA1g1_4l1U`iGk`1fi9LJJ3TM^hU@7!+`& z;-G>-{-9!F|G{BE5tSeY9GIXIL?d`v!0_JzEIba5<`$rT4dfMyyoL(%vOun*s4MhO zSAWd_2Jy1|tJlAwVBUX|{C~7OfSMZvXrZA5UlDN(0bE*sz>Jzg5em5i5&uj8gC_OD4xrU+n&_8CwjK!qbL42BQ_VBOnj7!nHl+b=F{ zqNf^To??p|Q-N7=6*2n{idq{Adx}~3{h3$@!c3y02C?2D*W@MEY&hThV+6m%pN@1Wu9D-itY8Qzd|mzEPHY@#fuZ0 zb)YuYEeGvobh&zViN4rPzf39jr<54(;wXzMi;tL}pJl+^!KYx%2)K85%>Ce{T3rnJ z3ENiVQgLVE7F>b&%;X2wPy^M@?bVPO+zW#r>7?OpZs)?ArbyPL`#!@RrqSEr7)9## zmf4VX5zyYiL=QK<96&&k8-T}-)%}IvFz^Dr#g7gYmwh=|OLWBbBQ(%majoRVz=;@Z z*C|0+eYG>}mgn(y!UYA$Zg_J&WR02Xu(}a@oWRr5-F(b=xh>67qG;fA?n>FvHo-Z) z8mTvUHnI(`BSLXz7b>x~rR)))vNs_fBga>^dN;Gl^jUZc7s~uz8Re_$PA4a(7{@H; z*BoeI;r==17tc`UiF-_GGDR_Imvf)@Lb8bTXU}HfN@Y>W>t=qFmANIyui4w0>6u>~ zc7H10Bs)Bw7(6He?g*c}n)uOHs_0Z0v!ERZ zK<%V}X&{SRElsGM73s4_5<%2NWZBTJOs$Oevz1=sYb|UVU@-d0$4l4$eT1mzg}IqR zkIadn+QVY{m+rmz+;8{jiz}K>_(DY}l7uXK1U5)cL$c!Laqh^Ju&;B-<90DQA!`D* z6P4+oP@i+}7W03i)idp3<1I~SVJgEo3HBx#c(`^CcsJmaMsg$>)F^AnwfIz2IpRkx z8rzD@GvLLmdhG5=b2?S~$LfPHXA(jMX!gTKI>e!>(_;Ka25T2Ooh`@ zR7_zCke=Yf)&n|dvixIrY%8-x#eHcu&QPAv+Jg%$%|q# zh?cL~MQ0XOtoRGZc?155u$bE!4?WR^`=y_MfxEqU08af$Y~2W8RNFOP@)AFx`pw=u zAyp&LI}tm{9MtF^s)=NZe69!`Ym7buhsSHm=Pxk=FR%fk=8 zY4YlRW!o3p1lW39dG&|c?1gGL_T!d@D`VvI-IMO@Qy+FGW-u`~nr*q6H8Mvc8y@PKFFuqV z{yHJ+M8cqee+@u*FvZ!3)@q>H4dT8k)KW*?ky|x4(B<#Qx<|V_oQ!EuD|-LV`~I

=@pro(tP~;3JM7ovI-xjJR77pEMmyG>aB@(pVJ8m0I?!+e7#>dBdGy% ztGFGyxxG8OQ9?9xD{9^mcWQcev(j)zQJSJe^szk|YxN&d&kyY_k__n47RANAQT(yG z8*3lpLk;?)Zpzbb(%q*OTz;i=_;VOLdB_*_W8g;nIg+uRj2y}mmN|r z6v-MJOCMs13?ib)<>@x)#ApSy$+0l_Q!^v2QZE*G>!zoRI6od(?fEaP8*e_)tFpZJ zHoABt&DeKX{jC|<{YQj0$>@&{@A{S)g9Y;lII-VW3MP^Z=1Rb4Tb0keFNGT!&4Xqf z)xwdf?i2w#PvYHEtzi2MBgadEJTA1=;)I=;z71_}E=g>^J~^P8)o!>PL|pC!R@EFo zIo8v_&RG?sq@y$++O$7SFAX$apWz1o+zb-9puQJ&dHK@vK7#3z$_*`GH*orC?#cSY z3)T29@kXYbDH1!FN_uLP9|+9ozK59|KIaTFlAlJ5ml{`0*tT;>sGVgovJs%Sh}+Vgs%lq%Y)gnV|+-a}uOKutb2_T~10#~nFvSX{ggk-}0pjjgq`r&4i) zKi_NX(pr2g3r)9MGyzPf+b=tcQ|-|oit5jn3XW#`!gJm2Us`F7qPL6uK0Tim$|ZZg zqh#52?wBHS5T1wJEIX4fiY(=t#8oEqM6d^`Ox ztZHkkPjGQ}7f03BaXSJ1^2&l&luRj|~ezW@HRexR{$k2PdPg@nOlU;g2NT0JDQV>F{ z+Zg|uj`>Are|K35<$GREq5DVupTZ5!&xRHg?(HxocD?biYS`+W-(BqQn;YDuA@M|# z485q``k3^tEGPGJ)_}EM^IpMO-wgVw|K5F5Gp3eA<)-q1=-00*Dta>+RbzM8wyB30 zPkQxf{RI|+N~}1U(E)M%@>Z(BrB2fG`#z=Sodz7*TrwBGj*dcCZHyvQl8eSanay=Y zppTyK@%N1~^jAg9l&>^uujw-gG962_m<|AG-P7?FuB)N(6|G)MX@Wb9{MsM#b22Sm zqf6{lJh@hx2@;C-+lgg+9`*IRWj~qt)#~uv?IWAtz>UrNR&`*$?o?A$Eo@#z(+ zs)eb2IpKtP35Nnf z2MQ<@%rnx7BL=d26wAh`2olh2lE9HMvk1_BX)3Pvvw!wYgwN`eUEDJx zj*3App~>=co`>`W1-JB5%FP$YA=(ey^*#lM9sWEM4@yPDOs60fndzq-Cmic{sVys~Cx zYya)VV$MQNdqDWU0>@(~HLzk9#~9y7zpkDTIW`oIarXz)f^RnPd)zjH-t>AOGIDD~ zwX2%fxBb7PLmm=YWmZLqMq|M5_TY=-=)M)yfVuPZ*-werD3LgG@uVV+aX&qecp{Ok zGD$zOa^AG?lK~|bi1^;>kYd6AK}J{8l|@{@a1hI3gbY{PRykl0h|1hQrHQ0u^tbyg zo|4x8RFGv+Kx#gGkVm;j_I}!umPJUiin|KXBKZ~q%AFxevaizUm|W~ zQ+bOB3*Ru^@>PcnVW#kb_}C#*miX2=Ht(RzVf`@gAW9joC_55iOgW6) zC_ZC>o69sRh8;tU9lJeB$?{VKOLmKMymymi39ECfbKKOOC}YA9sE2-wkL=Re#-Vqo zT^sNWrkZ<{Fwf6Of^Qw@Y3V1BBTnO1t*2s0Ft`s z-Ode?o)8_kE^&*&_x_YRIxE@+pXUqgwQQq1JK<@@!9jg=2Zb`-Wm4+;h0!^*j%FJ9 zWRgZW&J(aw&W(WrdYUrxw|~l7$fm*OJq< zKf*3k3hu-Tg4Bj~y7H`9jrC2qxZ!CoqJ1D4ET3Qb+!C*va)QliNvbkEs|d6;*D2e7 z?g|M7nilGjcm3&dq|w^TNPIiD=|`bck8b*oyht8y?cEldH~J`-&)|dY#fFuPL%$e} zCn3`vrDcfpen+0l&0+Sa#%a{`R6s_N7~erNbSj8+;O+hz0lN*SOtDpFq=n(&JM{Wf z+k281sOTWXH=)803Oesg=^X2$MNRq$jUl&8+Pd1E$o#p;=Zx<=(G#w=tk|``OQp>(Yg?-y(~coUR} zSKpIw^EauOt88cJ+S(1@8hRoYvK4`L!G{0R(v%+M(ck+jd2{7ua^F~|Sarvlyg9jF z=UP{^_;e-H#?BJRe&cQ%m2c3G`7)^=DuO59_zTz=KH4YRYdHoa=XV!sXuP-Qsm>It zve)b zrNDE`b4BnOJZ$1ap;$Ko+hdN_%jOKWMu*6uMP_d>Ar10 zTNlpMi`!=Q@V4Y3xX}E4OQf{_;d(X2DA&8YrA1l$g!vCilWs)N-%`EBqkV{?CC`>+gUogSX$w>^T&i7T9ZG8ZuLVsrnV!#8=?Gw*iB1uGl5 zl#YVvf$d2}oiGd=NI;<+2!=+|yJiOWS!-Hk3zi9n_o?IxVeLJtt|U|{hBQdokv7L^ zSxz+bGPb#tL*2tnc5{4w`mVi^vB~vW_C-3@lJI_4ukAlaWQDUdZJL)vFLF)V*_$tl zq48Bjy*`uYKZ!&EYP~uu_4zArR>HxGwbA*#ykWH2*BT`)*^^I|U zq(+E6`3q}}mO{S8DP1LkvkaT3`DpsozIR}&$GOD&# zS*j9Ink{cROv)_e#D@@JkH#;NJiA$b!zGhRDbHNHZzt^7RxGmujG>@JQBgl9hC+3zHO9_dP+&moYK6%)#ao50%92 zHy)6W2Mg3pr1mO#mg5z1pM44!EI-IoQ#aTCwrNt9$o8@u!;a2|Mls$?mAY(1Ir`qN zWI+h0rslY{jl!S@lq;1j``8ZMbO3SQ!8sN#?Bf>R)%hizv!`&p_QPdr<0q=_)Hp$W zrRXOwWnH#Tyihpfo=dLeb}!ZK4~wv$JbHYF3`vuuf>iJo7W19ImBt7(Pzc$}B+ zWAycx2m+gr#eh1VCSXci7ElnN2fp*h6T_h_dI&J`4pg{2Hz0|BmS6; zKr|l{DHsW1(Sswvci<4{m0R|nj}73`nQajf)XrJkQ#G#v}b+*JY&cMx30Z*oG~{Qgk@}j7ax&wt9}uyl-CWK?(Mx-0g~q=zO&o+)E}cn zt&9VQwPq^l;>8L)G^Iw5E>yj+JxP=1!QMtrD4d_M-;`-9Lb^mI10B6W7&wsQ{C%q8 zqMab_b>b)-pK&T@(eTqAm4sBK8UJ_viTx!JbV#HodseHQY|E2Zp&O`VLxX6|vU_k1 z<&6>IxFe*HpY6@#$By-P8{Aif#pXZe3UGI;XR3>9n7{J7C7uT^xr%lP8ODgAQm_rAlDbdhJfKP zKvG}$CIkk$TKjvjIIs}@xq!gnS5`Nmk3z#hSAOT;=0FH2>dHa=I|hdeUlscY20>l< zum8Znh^r3%jzN&Wx&H%0Ag&x;5D5JjQXmK%d1W{MBM^qTGH(BlLBYQb=zn0K-_rdZ zgP;)Cnu7?#{uKUq-K+Xn0}6*+3xvXc`^dk?e^diOp})889~cCBtuPb?z8)tGxuzf# ziT-V2|05v+e629-e@G33fUhY714FJ!4FiF$6^0>%{}qS+OLs6h>aWuLp#_73u1O7p zqOKK&gAmu_P{P-gfeEAjrt}~EVMye)!f@FCC<2FHQ|s#6=~@v46md-j1pI#-bOadv zPu5^C4Ei^QS2BRX2;qMc1VcdAPBj<;zji(#P{i-QY5umw5U4Qn-;F^3bGRTdFzPRd u#>L6R+Rnm>P((yX-TL{}y$&Z7Qgd{4VSyn49%Cj#7y=0)4 delta 7789 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 O5C}BUy?auMkN*#$!Pmb4 diff --git a/report.tex b/report.tex index 54c74f1..fd31303 100644 --- a/report.tex +++ b/report.tex @@ -5,11 +5,13 @@ \usepackage[T1]{fontenc} \usepackage[a4paper, margin=0.7in]{geometry} \usepackage[french]{babel} +\usepackage{xspace} % From https://tex.stackexchange.com/questions/150640/missing-space-after-guillemets \usepackage{amsmath} \usepackage{amsfonts} \usepackage{mathtools} \usepackage{mathabx} \usepackage{listings} +\usepackage[many]{tcolorbox} \usepackage{xcolor} \usepackage{float} \usepackage{cite} @@ -32,11 +34,27 @@ % Requires xelatex to run (or maybe also lualatex) \usepackage{utbmcovers} +\setmonofont[Contextuals={Alternate}]{Fira Code} +\newfontfamily{\FiraCode}[Contextuals={Alternate}]{Fira Code} +\IfFontExistsTF{Fira Code SemiBold}{ + \newfontfamily{\FiraCodeSB}[UprightFont={* SemiBold}]{Fira Code} +}{ + \IfFontExistsTF{Fira Code Semi-Bold}{ + \newfontfamily{\FiraCodeSB}[UprightFont={* Semi-Bold}]{Fira Code} + }{ + \newfontfamily{\FiraCodeSB}[UprightFont={* Semibold}]{Fira Code} + } +} + + +\definecolor{kwColor}{rgb}{0.15,0.21,0.87} + % From https://tex.stackexchange.com/questions/89574/language-option-supported-in-listings \lstdefinelanguage{JavaScript}{ keywords={ typeof, new, abstract, class, interface, type, function, return, + async, await, try, catch, finally, switch, case, break, var, let, const, @@ -44,13 +62,13 @@ for, while, in, of, do, true, false, null, undefined }, - keywordstyle=\color{blue}\bfseries, + keywordstyle=\color{kwColor}\FiraCodeSB, ndkeywords={ export, implements, import, this, private, public, readonly, constructor, @Inject, @Injectable, @Controller, @Module }, - ndkeywordstyle=\color{darkgray}\bfseries, + ndkeywordstyle=\color{darkgray}\FiraCodeSB, identifierstyle=\color{black}, sensitive=false, comment=[l]{//}, @@ -62,31 +80,38 @@ } \lstdefinelanguage{hbs}{ - morecomment=[s]{\{\{!}{!\}\}}, + % morecomment=[s]{\{\{!}{!\}\}}, + morecomment=[s]{}, commentstyle=\color{purple}\ttfamily, stringstyle=\color{red}\ttfamily, morestring=[s]{\{\{}{\}\}}, } \definecolor{bgColor}{rgb}{0.95,0.94,0.92} -\lstdefinestyle{JavaScript}{ - backgroundcolor=\color{bgColor}, - commentstyle=\color{gray}, - keywordstyle=\color{magenta}, - numberstyle=\tiny\color{gray}, - stringstyle=\color{purple}, - basicstyle=\footnotesize, - breakatwhitespace=false, - breaklines=true, - captionpos=b, - keepspaces=true, - numbers=left, - numbersep=5pt, - showspaces=false, - showstringspaces=false, - showtabs=false, - tabsize=2, - language=JavaScript +\lstset{ + % backgroundcolor=\color{bgColor}, + commentstyle=\color{gray}, + keywordstyle=\color{magenta}, + numberstyle=\tiny\color{gray}, + stringstyle=\color{purple}, + basicstyle=\footnotesize, + breakatwhitespace=false, + breaklines=true, + captionpos=b, + keepspaces=true, + numbers=left, + numbersep=5pt, + showspaces=false, + showstringspaces=false, + showtabs=false, + tabsize=2, +} +\tcolorboxenvironment{lstlisting}{ + spartan, + frame empty, + boxsep=0mm, + left=1mm,right=1mm,top=-1mm,bottom=-1mm, + colback=bgColor, } \graphicspath{{build/figures/}{images/}}