langs.sty
changeset 336 3cb200fa6d6a
parent 164 08a6e035223e
child 345 7f0ac1355f0b
equal deleted inserted replaced
335:06d5fc15594d 336:3cb200fa6d6a
     6 \definecolor{codered}{rgb}{0.6,0,0}            % for strings
     6 \definecolor{codered}{rgb}{0.6,0,0}            % for strings
     7 \definecolor{codegreen}{rgb}{0.25,0.5,0.35}    % comments
     7 \definecolor{codegreen}{rgb}{0.25,0.5,0.35}    % comments
     8 \definecolor{codepurple}{rgb}{0.5,0,0.35}      % keywords
     8 \definecolor{codepurple}{rgb}{0.5,0,0.35}      % keywords
     9 \definecolor{codedocblue}{rgb}{0.25,0.35,0.75} % doc
     9 \definecolor{codedocblue}{rgb}{0.25,0.35,0.75} % doc
    10 \definecolor{codeblue}{rgb}{0.25,0.35,0.75}    % types
    10 \definecolor{codeblue}{rgb}{0.25,0.35,0.75}    % types
    11 \definecolor{darkgray}{rgb}{.4,.4,.4}
       
    12 
    11 
    13 \BeforeBeginEnvironment{lstlisting}{\par\noindent\begin{minipage}{\linewidth}}
    12 \BeforeBeginEnvironment{lstlisting}{\par\noindent\begin{minipage}{\linewidth}}
    14 \AfterEndEnvironment{lstlisting}{\end{minipage}\par}
    13 \AfterEndEnvironment{lstlisting}{\end{minipage}\par}
    15 
       
    16 \lstdefinelanguage{JavaScript}{
       
    17   keywords={break,case,catch,continue,debugger,default,% 
       
    18     delete,do,else,false,finally,for,function,if,in,instanceof,% 
       
    19     new,null,return,switch,this,throw,true,try,typeof,var,void,while,with},
       
    20   morecomment=[l]{//},
       
    21   morecomment=[s]{/*}{*/},
       
    22   morestring=[b]',
       
    23   morestring=[b]",
       
    24   ndkeywords={class,export,boolean,throw,implements,import,this},
       
    25   keywordstyle=\color{codepurple}\bfseries,
       
    26   ndkeywordstyle=\color{darkgray}\bfseries,
       
    27   identifierstyle=\color{black},
       
    28   commentstyle=\color{codegreen}\ttfamily,
       
    29   stringstyle=\color{codegreen}\ttfamily,
       
    30   sensitive=true
       
    31 }
       
    32 
    14 
    33 \lstdefinelanguage{Scala}{
    15 \lstdefinelanguage{Scala}{
    34   morekeywords={abstract,case,catch,class,def,%
    16   morekeywords={abstract,case,catch,class,def,%
    35     do,else,extends,false,final,finally,%
    17     do,else,extends,false,final,finally,%
    36     for,if,implicit,import,match,mixin,%
    18     for,if,implicit,import,match,mixin,%
    37     new,null,object,override,package,%
    19     new,null,object,override,package,%
    38     private,protected,requires,return,sealed,%
    20     private,protected,requires,return,sealed,%
    39     super,this,throw,trait,true,try,%
    21     super,this,throw,trait,true,try,%
    40     type,val,var,while,with,yield},%
    22     type,val,var,while,with,yield},%
    41   otherkeywords={=>,<-,<\%,<:,>:,\#,@},%
    23   otherkeywords={=>,<-,<\%,<:,>:,\#},%
    42   sensitive=true,%
    24   sensitive=true,%
    43   %directives={Int,Char,Rexp,String,Boolean,BigInt,Unit,List,Set},%
    25   %directives={Int,Char,Rexp,String,Boolean,BigInt,Unit,List,Set},%
    44   %moredelim=*[directive]:,%
    26   %moredelim=*[directive]:,%
    45   morecomment=[l]{//},%
    27   morecomment=[l]{//},%
    46   morecomment=[n]{/*}{*/},
    28   morecomment=[n]{/*}{*/},
       
    29   morestring=[s]{"""}{"""},
    47   morestring=[b]",
    30   morestring=[b]",
    48   morestring=[b]',
    31   morestring=[b]',
    49   morestring=[b]"""
       
    50 }[keywords,comments,strings]
    32 }[keywords,comments,strings]
    51 
    33 
    52 \lstdefinelanguage{While}{
    34 \lstdefinelanguage{While}{
    53   morekeywords={if,then,else,while,do,true,false,write,upto,for,skip},
    35   morekeywords={if,then,else,while,do,true,false,write,upto,read,for,skip},
    54   otherkeywords={=,!=,:=,<,>,;},
    36   morecomment=[l]{//},
    55   sensitive=true,
       
    56   morecomment=[n]{/*}{*/},
    37   morecomment=[n]{/*}{*/},
    57 }
    38   morestring=[b]",
       
    39   otherkeywords={=,!=,:=,<,>,\%;*,/},
       
    40 }[keywords,comments,strings]
    58 
    41 
    59 \lstdefinestyle{mystyle}
    42 \lstdefinestyle{mystyle}
    60        {basicstyle=\ttfamily,
    43        {basicstyle=\ttfamily,
    61 	keywordstyle=\color{codepurple}\bfseries,
    44 	keywordstyle=\color{codepurple}\bfseries,
    62         %directivestyle=\color{codeblue}\bfseries,
       
    63 	stringstyle=\color{codegreen},
    45 	stringstyle=\color{codegreen},
    64 	commentstyle=\color{codegreen},
    46 	commentstyle=\color{codegreen},
    65 	morecomment=[s][\color{codedocblue}]{/**}{*/},
    47 	morecomment=[s][\color{codedocblue}]{/**}{*/},
    66 	numbers=left,
    48 	numbers=left,
    67 	numberstyle=\tiny\color{black},
    49 	numberstyle=\tiny\color{black},
    70 	tabsize=2,
    52 	tabsize=2,
    71 	showspaces=false,
    53 	showspaces=false,
    72 	showstringspaces=false,
    54 	showstringspaces=false,
    73         xleftmargin=8mm,
    55         xleftmargin=8mm,
    74         emphstyle=\color{codeblue}\bfseries,
    56         emphstyle=\color{codeblue}\bfseries,
    75         keepspaces}
    57         keepspaces
       
    58 }
    76 
    59 
    77 \lstset{language=Scala,
    60 \lstset{language=Scala,
    78         style=mystyle}
    61         style=mystyle}
    79 
    62 
    80 
    63 
    81 \newcommand{\code}[1]{{\lstinline{#1}}}
    64 \newcommand{\code}[1]{{\lstinline{#1}}}
    82 \newcommand{\pcode}[1]{\mbox{\lstset{language={},keywordstyle=\color{black}}\lstinline!#1!}}
    65 \newcommand{\pcode}[1]{\mbox{\lstset{language={},keywordstyle=\color{black}}\lstinline!#1!}}
       
    66 \newcommand{\scode}[1]{\mbox{\lstset{language={},basicstyle=\ttfamily\color{codegreen}}\lstinline!#1!}}
    83 \makeatother
    67 \makeatother