| % "define" Scala |
| \usepackage[T1]{fontenc} |
| \usepackage[scaled=0.82]{beramono} |
| \usepackage{microtype} |
| |
| \sbox0{\small\ttfamily A} |
| \edef\mybasewidth{\the\wd0 } |
| |
| \lstdefinelanguage{scala}{ |
| morekeywords={abstract,case,catch,class,def,% |
| do,else,extends,false,final,finally,% |
| for,if,implicit,import,match,mixin,% |
| new,null,object,override,package,% |
| private,protected,requires,return,sealed,% |
| super,this,throw,trait,true,try,% |
| type,val,var,while,with,yield}, |
| sensitive=true, |
| morecomment=[l]{//}, |
| morecomment=[n]{/*}{*/}, |
| morestring=[b]", |
| morestring=[b]', |
| morestring=[b]""" |
| } |
| |
| \usepackage{color} |
| \definecolor{dkgreen}{rgb}{0,0.6,0} |
| \definecolor{gray}{rgb}{0.5,0.5,0.5} |
| \definecolor{mauve}{rgb}{0.58,0,0.82} |
| |
| % Default settings for code listings |
| \lstset{frame=tb, |
| language=scala, |
| aboveskip=3mm, |
| belowskip=3mm, |
| showstringspaces=false, |
| columns=fixed, % basewidth=\mybasewidth, |
| basicstyle={\small\ttfamily}, |
| numbers=none, |
| numberstyle=\footnotesize\color{gray}, |
| % identifierstyle=\color{red}, |
| keywordstyle=\color{blue}, |
| commentstyle=\color{dkgreen}, |
| stringstyle=\color{mauve}, |
| frame=single, |
| breaklines=true, |
| breakatwhitespace=true, |
| procnamekeys={def, val, var, class, trait, object, extends}, |
| procnamestyle=\ttfamily\color{red}, |
| tabsize=2 |
| } |
| |
| \lstnewenvironment{scala}[1][] |
| {\lstset{language=scala,#1}} |
| {} |
| \lstnewenvironment{cpp}[1][] |
| {\lstset{language=C++,#1}} |
| {} |
| \lstnewenvironment{bash}[1][] |
| {\lstset{language=bash,#1}} |
| {} |
| \lstnewenvironment{verilog}[1][] |
| {\lstset{language=verilog,#1}} |
| {} |
| |