forked from modelica-tools/listings-modelica
-
Notifications
You must be signed in to change notification settings - Fork 0
/
listings-modelica.cfg
66 lines (62 loc) · 2.42 KB
/
listings-modelica.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
%% listings-modelica.cfg
%% Copyright 2014 Martin Sjoelund, Dietmar Winkler
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
%
% The Current Maintainer of this work is Dietmar Winkler
%
% Code repository https://github.com/modelica-tools/listings-modelica
%
% This work consists of the file listings-modelica.cfg
\lstdefinelanguage{modelica}
{
morekeywords=[1]{
algorithm,and,annotation,as,assert,block,break,case,class,connect,connector,
constant,constrainedby,der,discrete,each,else,elseif,elsewhen,encapsulated,
end,enumeration,equality,equation,expandable,extends,external,failure,final,
flow,for,function,guard,if,import,in,initial,inner,input,List,local,loop,
match,matchcontinue,model,not,operator,Option,or,outer,output,package,parameter,
partial,protected,public,record,redeclare,replaceable,return,stream,
subtypeof,then,Tuple,type,uniontype,when,while},
morekeywords=[2]{true, false},
% Do not make true,false keywords because fn(true,x, false ) shows up as fn(true,x, *false*)
morekeywords=[3]{optimization,constraint}, % Optimica keywords
morekeywords=[4]{objective,startTime,finalTime,initialGuess},
sensitive=true,
comment=[l]//,
morecomment=[s]{/*}{*/},
alsodigit={.,-},
morestring=[b]',
morestring=[b]",
}[keywords,comments,strings]
\definecolor{keywordcolor1}{rgb}{0,0,.4}
\definecolor{keywordcolor2}{rgb}{.90,0,0}
\definecolor{keywordcolor3}{rgb}{.4,0,.8}
\definecolor{keywordcolor4}{rgb}{0.5,0,0.5}
\definecolor{stringcolor}{rgb}{0.133,0.545,0.133}
% \definecolor{listingbgcolor}{rgb}{0.95,0.95,0.95}
\lstset{
breaklines=true,
language=modelica,
basicstyle=\ttfamily,
keywordstyle=[1]\color{keywordcolor1}\bfseries,
keywordstyle=[2]\color{keywordcolor2},
keywordstyle=[3]\color{keywordcolor3}\bfseries,
keywordstyle=[4]\color{keywordcolor4},
stringstyle=\color{stringcolor},
% backgroundcolor=\color{listingbgcolor},
framexleftmargin=5pt,
xleftmargin=5pt,
xrightmargin=5pt,
showstringspaces=false
}
\newcommand{\code}[1]{\lstinline|#1|}
\newcommand{\modelica}[1]{\lstinline[language=modelica]|#1|}