diff -r 20f02c5ff53f -r a2c4c6bf319d langs.sty --- a/langs.sty Fri Apr 26 17:29:30 2024 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -\usepackage{listings} -\usepackage{etoolbox} -\setmonofont[Scale=.95]{Consolas} -\newfontfamily{\consolas}{Consolas} - -\makeatletter -\let\old@lstKV@SwitchCases\lstKV@SwitchCases -\def\lstKV@SwitchCases#1#2#3{} -\makeatother -\usepackage{lstlinebgrd} -\makeatletter -\let\lstKV@SwitchCases\old@lstKV@SwitchCases - -\lst@Key{numbers}{none}{% - \def\lst@PlaceNumber{\lst@linebgrd}% - \lstKV@SwitchCases{#1}% - {none:\\% - left:\def\lst@PlaceNumber{\llap{\normalfont - \lst@numberstyle{\thelstnumber}\kern\lst@numbersep}\lst@linebgrd}\\% - right:\def\lst@PlaceNumber{\rlap{\normalfont - \kern\linewidth \kern\lst@numbersep - \lst@numberstyle{\thelstnumber}}\lst@linebgrd}% - }{\PackageError{Listings}{Numbers #1 unknown}\@ehc}} -\makeatother - - - -\definecolor{codered}{rgb}{0.6,0,0} % for strings -\definecolor{codegreen}{rgb}{0.25,0.5,0.35} % comments -\definecolor{codepurple}{rgb}{0.5,0,0.35} % keywords -\definecolor{codedocblue}{rgb}{0.25,0.35,0.75} % doc -\definecolor{codeblue}{rgb}{0.25,0.35,0.75} % types - -\BeforeBeginEnvironment{lstlisting}{\par\noindent\begin{minipage}{\linewidth}} -\AfterEndEnvironment{lstlisting}{\end{minipage}\par} - -\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,write,read},% - otherkeywords={=>,<-,<\%,<:,>:,\#},% - sensitive=true,% - %directives={Int,Char,Rexp,String,Boolean,BigInt,Unit,List,Set},% - %moredelim=*[directive]:,% - morecomment=[l]{//},% - morecomment=[n]{/*}{*/}, - morestring=[s]{"""}{"""}, - morestring=[b]", - morestring=[b]', -}[keywords,comments,strings] - -\lstdefinelanguage{While}{ - morekeywords={if,then,else,while,do,true,false,write,upto,read,for,skip}, - morecomment=[l]{//}, - morecomment=[n]{/*}{*/}, - morestring=[b]", - otherkeywords={=,!=,:=,<,>,\%;*,/}, -}[keywords,comments,strings] - - -\newcommand{\code}[1]{{\lstinline{#1}}} -\newcommand{\pcode}[1]{\mbox{\lstset{language={},keywordstyle=\color{black}}\lstinline!#1!}} -\newcommand{\scode}[1]{\mbox{\lstset{language={},basicstyle=\ttfamily\color{codegreen}}\lstinline!#1!}} -\makeatother - -%%\lstset{escapeinside={(*@}{@*)}} -\lstset{escapeinside={/*@}{@*/}} - -%% stripy code -\usepackage{lstlinebgrd} -\definecolor{capri}{rgb}{0.0, 0.75, 1.0} - - -\lstdefinestyle{mystyle} - {basicstyle=\ttfamily, - keywordstyle=\color{codepurple}\bfseries, - stringstyle=\color{codegreen}, - commentstyle=\color{codegreen}, - morecomment=[s][\color{codedocblue}]{/**}{*/}, - numbers=none, - numberstyle=\tiny\color{black}, - stepnumber=1, - numbersep=10pt, - tabsize=2, - showspaces=false, - showstringspaces=false, - xleftmargin=8mm, - emphstyle=\color{codeblue}\bfseries, - keepspaces, - linebackgroundcolor={\ifodd\value{lstnumber}\color{capri!3}\fi} -} - -\lstset{language=Scala, - style=mystyle}