0
|
1 <!doctype html>
|
|
2
|
|
3 <title>CodeMirror: Modelica mode</title>
|
|
4 <meta charset="utf-8"/>
|
|
5 <link rel=stylesheet href="../../doc/docs.css">
|
|
6
|
|
7 <link rel="stylesheet" href="../../lib/codemirror.css">
|
|
8 <script src="../../lib/codemirror.js"></script>
|
|
9 <script src="../../addon/edit/matchbrackets.js"></script>
|
|
10 <link rel="stylesheet" href="../../addon/hint/show-hint.css">
|
|
11 <script src="../../addon/hint/show-hint.js"></script>
|
|
12 <script src="modelica.js"></script>
|
|
13 <style>.CodeMirror {border: 2px inset #dee;}</style>
|
|
14 <div id=nav>
|
|
15 <a href="https://codemirror.net/5"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png" alt=""></a>
|
|
16
|
|
17 <ul>
|
|
18 <li><a href="../../index.html">Home</a>
|
|
19 <li><a href="../../doc/manual.html">Manual</a>
|
|
20 <li><a href="https://github.com/codemirror/codemirror5">Code</a>
|
|
21 </ul>
|
|
22 <ul>
|
|
23 <li><a href="../index.html">Language modes</a>
|
|
24 <li><a class=active href="#">Modelica</a>
|
|
25 </ul>
|
|
26 </div>
|
|
27
|
|
28 <article>
|
|
29 <h2>Modelica mode</h2>
|
|
30
|
|
31 <div><textarea id="modelica">
|
|
32 model BouncingBall
|
|
33 parameter Real e = 0.7;
|
|
34 parameter Real g = 9.81;
|
|
35 Real h(start=1);
|
|
36 Real v;
|
|
37 Boolean flying(start=true);
|
|
38 Boolean impact;
|
|
39 Real v_new;
|
|
40 equation
|
|
41 impact = h <= 0.0;
|
|
42 der(v) = if flying then -g else 0;
|
|
43 der(h) = v;
|
|
44 when {h <= 0.0 and v <= 0.0, impact} then
|
|
45 v_new = if edge(impact) then -e*pre(v) else 0;
|
|
46 flying = v_new > 0;
|
|
47 reinit(v, v_new);
|
|
48 end when;
|
|
49 annotation (uses(Modelica(version="3.2")));
|
|
50 end BouncingBall;
|
|
51 </textarea></div>
|
|
52
|
|
53 <script>
|
|
54 var modelicaEditor = CodeMirror.fromTextArea(document.getElementById("modelica"), {
|
|
55 lineNumbers: true,
|
|
56 matchBrackets: true,
|
|
57 mode: "text/x-modelica"
|
|
58 });
|
|
59 var mac = CodeMirror.keyMap.default == CodeMirror.keyMap.macDefault;
|
|
60 CodeMirror.keyMap.default[(mac ? "Cmd" : "Ctrl") + "-Space"] = "autocomplete";
|
|
61 </script>
|
|
62
|
|
63 <p>Simple mode that tries to handle Modelica as well as it can.</p>
|
|
64
|
|
65 <p><strong>MIME types defined:</strong> <code>text/x-modelica</code>
|
|
66 (Modlica code).</p>
|
|
67 </article>
|