| 21 |      1 | \usepackage{listings}
 | 
|  |      2 | \usepackage{etoolbox}
 | 
|  |      3 | \setmonofont[Scale=.95]{Consolas}
 | 
|  |      4 | \newfontfamily{\consolas}{Consolas}
 | 
|  |      5 | 
 | 
| 276 |      6 | \makeatletter
 | 
|  |      7 | \let\old@lstKV@SwitchCases\lstKV@SwitchCases
 | 
|  |      8 | \def\lstKV@SwitchCases#1#2#3{}
 | 
|  |      9 | \makeatother
 | 
|  |     10 | \usepackage{lstlinebgrd}
 | 
|  |     11 | \makeatletter
 | 
|  |     12 | \let\lstKV@SwitchCases\old@lstKV@SwitchCases
 | 
|  |     13 | 
 | 
|  |     14 | \lst@Key{numbers}{none}{%
 | 
|  |     15 |     \def\lst@PlaceNumber{\lst@linebgrd}%
 | 
|  |     16 |     \lstKV@SwitchCases{#1}%
 | 
|  |     17 |     {none:\\%
 | 
|  |     18 |      left:\def\lst@PlaceNumber{\llap{\normalfont
 | 
|  |     19 |                 \lst@numberstyle{\thelstnumber}\kern\lst@numbersep}\lst@linebgrd}\\%
 | 
|  |     20 |      right:\def\lst@PlaceNumber{\rlap{\normalfont
 | 
|  |     21 |                 \kern\linewidth \kern\lst@numbersep
 | 
|  |     22 |                 \lst@numberstyle{\thelstnumber}}\lst@linebgrd}%
 | 
|  |     23 |     }{\PackageError{Listings}{Numbers #1 unknown}\@ehc}}
 | 
|  |     24 | \makeatother
 | 
|  |     25 | 
 | 
|  |     26 | 
 | 
|  |     27 | 
 | 
| 21 |     28 | \definecolor{codered}{rgb}{0.6,0,0}            % for strings
 | 
|  |     29 | \definecolor{codegreen}{rgb}{0.25,0.5,0.35}    % comments
 | 
|  |     30 | \definecolor{codepurple}{rgb}{0.5,0,0.35}      % keywords
 | 
|  |     31 | \definecolor{codedocblue}{rgb}{0.25,0.35,0.75} % doc
 | 
|  |     32 | \definecolor{codeblue}{rgb}{0.25,0.35,0.75}    % types
 | 
|  |     33 | 
 | 
|  |     34 | \BeforeBeginEnvironment{lstlisting}{\par\noindent\begin{minipage}{\linewidth}}
 | 
|  |     35 | \AfterEndEnvironment{lstlisting}{\end{minipage}\par}
 | 
|  |     36 | 
 | 
|  |     37 | \lstdefinelanguage{Scala}{
 | 
|  |     38 |   morekeywords={abstract,case,catch,class,def,%
 | 
|  |     39 |     do,else,extends,false,final,finally,%
 | 
|  |     40 |     for,if,implicit,import,match,mixin,%
 | 
|  |     41 |     new,null,object,override,package,%
 | 
|  |     42 |     private,protected,requires,return,sealed,%
 | 
|  |     43 |     super,this,throw,trait,true,try,%
 | 
|  |     44 |     type,val,var,while,with,yield,write,read},%
 | 
|  |     45 |   otherkeywords={=>,<-,<\%,<:,>:,\#},%
 | 
|  |     46 |   sensitive=true,%
 | 
|  |     47 |   %directives={Int,Char,Rexp,String,Boolean,BigInt,Unit,List,Set},%
 | 
|  |     48 |   %moredelim=*[directive]:,%
 | 
|  |     49 |   morecomment=[l]{//},%
 | 
|  |     50 |   morecomment=[n]{/*}{*/},
 | 
|  |     51 |   morestring=[s]{"""}{"""},
 | 
|  |     52 |   morestring=[b]",
 | 
|  |     53 |   morestring=[b]',
 | 
|  |     54 | }[keywords,comments,strings]
 | 
|  |     55 | 
 | 
|  |     56 | \lstdefinelanguage{While}{
 | 
|  |     57 |   morekeywords={if,then,else,while,do,true,false,write,upto,read,for,skip},
 | 
|  |     58 |   morecomment=[l]{//},
 | 
|  |     59 |   morecomment=[n]{/*}{*/},
 | 
|  |     60 |   morestring=[b]",
 | 
|  |     61 |   otherkeywords={=,!=,:=,<,>,\%;*,/},
 | 
|  |     62 | }[keywords,comments,strings]
 | 
|  |     63 | 
 | 
| 123 |     64 | 
 | 
|  |     65 | \newcommand{\code}[1]{{\lstinline{#1}}}
 | 
|  |     66 | \newcommand{\pcode}[1]{\mbox{\lstset{language={},keywordstyle=\color{black}}\lstinline!#1!}}
 | 
|  |     67 | \newcommand{\scode}[1]{\mbox{\lstset{language={},basicstyle=\ttfamily\color{codegreen}}\lstinline!#1!}}
 | 
|  |     68 | \makeatother
 | 
|  |     69 | 
 | 
|  |     70 | %%\lstset{escapeinside={(*@}{@*)}}
 | 
|  |     71 | \lstset{escapeinside={/*@}{@*/}}
 | 
|  |     72 | 
 | 
|  |     73 | %% stripy code
 | 
|  |     74 | \usepackage{lstlinebgrd}
 | 
|  |     75 | \definecolor{capri}{rgb}{0.0, 0.75, 1.0}
 | 
|  |     76 | 
 | 
|  |     77 | 
 | 
| 21 |     78 | \lstdefinestyle{mystyle}
 | 
|  |     79 |        {basicstyle=\ttfamily,
 | 
|  |     80 | 	keywordstyle=\color{codepurple}\bfseries,
 | 
|  |     81 | 	stringstyle=\color{codegreen},
 | 
|  |     82 | 	commentstyle=\color{codegreen},
 | 
|  |     83 | 	morecomment=[s][\color{codedocblue}]{/**}{*/},
 | 
| 123 |     84 | 	numbers=none,
 | 
| 21 |     85 | 	numberstyle=\tiny\color{black},
 | 
|  |     86 | 	stepnumber=1,
 | 
|  |     87 | 	numbersep=10pt,
 | 
|  |     88 | 	tabsize=2,
 | 
|  |     89 | 	showspaces=false,
 | 
|  |     90 | 	showstringspaces=false,
 | 
|  |     91 |         xleftmargin=8mm,
 | 
|  |     92 |         emphstyle=\color{codeblue}\bfseries,
 | 
| 123 |     93 |         keepspaces,
 | 
| 185 |     94 |         linebackgroundcolor={\ifodd\value{lstnumber}\color{capri!3}\fi}
 | 
| 21 |     95 | }
 | 
|  |     96 | 
 | 
|  |     97 | \lstset{language=Scala,
 | 
|  |     98 |         style=mystyle}
 |