Warning, /frameworks/syntax-highlighting/autotests/reference/highlight.scad.ref is written in an unsupported language. File is not indexed.

0001 <Comment>/*Basic test file</Comment><br/>
0002 <Comment>Written by Julian Stirling, 2018</Comment><br/>
0003 <Comment>License: MIT*/</Comment><br/>
0004 <Normal Text></Normal Text><br/>
0005 <Comment>// This is a comment</Comment><br/>
0006 <Normal Text>x</Normal Text><Symbol>=</Symbol><Decimal>5</Decimal><Symbol>;</Symbol><br/>
0007 <Normal Text>y</Normal Text><Symbol>=</Symbol><Decimal>6</Decimal><Symbol>;</Symbol><br/>
0008 <Normal Text>z</Normal Text><Symbol>=</Symbol><Decimal>5</Decimal><Symbol>;</Symbol><br/>
0009 <Normal Text>r</Normal Text><Symbol>=</Symbol><Decimal>2</Decimal><Symbol>;</Symbol><br/>
0010 <Keywords>for</Keywords><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>n </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>[-</Symbol><Float>1.5</Float><Symbol>:</Symbol><Decimal>1</Decimal><Symbol>:</Symbol><Float>1.5</Float><Symbol>]){</Symbol><br/>
0011 <Normal Text>    </Normal Text><Transformation>translate</Transformation><Symbol>([</Symbol><Normal Text>n</Normal Text><Symbol>*</Symbol><Normal Text>x</Normal Text><Symbol>,</Symbol><Decimal>0</Decimal><Symbol>,</Symbol><Decimal>0</Decimal><Symbol>]){</Symbol><Normal Text>cubehole</Normal Text><Symbol>([</Symbol><Normal Text>x</Normal Text><Symbol>,</Symbol><Normal Text>y</Normal Text><Symbol>,</Symbol><Normal Text>z</Normal Text><Symbol>],</Symbol><Normal Text>r</Normal Text><Symbol>);}</Symbol><br/>
0012 <Symbol>}</Symbol><br/>
0013 <Normal Text></Normal Text><br/>
0014 <Keywords>module</Keywords><Normal Text> cubehole</Normal Text><Symbol>(</Symbol><Normal Text>size</Normal Text><Symbol>,</Symbol><Normal Text>holerad</Normal Text><Symbol>)</Symbol><br/>
0015 <Symbol>{</Symbol><br/>
0016 <Normal Text>    </Normal Text><SpecialVar>$fn</SpecialVar><Normal Text>=</Normal Text><Decimal>28</Decimal><Symbol>;</Symbol><br/>
0017 <Normal Text>    </Normal Text><Boolean>difference</Boolean><Symbol>()</Symbol><br/>
0018 <Normal Text>    </Normal Text><Symbol>{</Symbol><br/>
0019 <Normal Text>        </Normal Text><Three Dim>cube</Three Dim><Symbol>(</Symbol><Normal Text>size</Normal Text><Symbol>,</Symbol><Normal Text>center</Normal Text><Symbol>=</Symbol><Keywords>true</Keywords><Symbol>);</Symbol><br/>
0020 <Normal Text>        </Normal Text><Three Dim>cylinder</Three Dim><Symbol>(</Symbol><Normal Text>size</Normal Text><Symbol>[</Symbol><Decimal>2</Decimal><Symbol>]+</Symbol><Decimal>1</Decimal><Symbol>,</Symbol><Normal Text>r</Normal Text><Symbol>=</Symbol><Normal Text>holerad</Normal Text><Symbol>,</Symbol><Normal Text>center</Normal Text><Symbol>=</Symbol><Keywords>true</Keywords><Symbol>);</Symbol><br/>
0021 <Normal Text>    </Normal Text><Symbol>}</Symbol><br/>
0022 <Symbol>}</Symbol><br/>
0023 <Normal Text></Normal Text><br/>
0024 <Comment>// some examples adapted from https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/General</Comment><br/>
0025 <Three Dim>cube</Three Dim><Symbol>(</Symbol><Decimal>5</Decimal><Symbol>);</Symbol><br/>
0026 <Normal Text>x </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>4</Decimal><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> y</Normal Text><Symbol>;</Symbol><br/>
0027 <Transformation>rotate</Transformation><Symbol>(</Symbol><Decimal>40</Decimal><Symbol>)</Symbol><Normal Text> </Normal Text><Two Dim>square</Two Dim><Symbol>(</Symbol><Decimal>5</Decimal><Symbol>,</Symbol><Decimal>10</Decimal><Symbol>);</Symbol><br/>
0028 <Transformation>translate</Transformation><Symbol>([</Symbol><Decimal>10</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>5</Decimal><Symbol>])</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/>
0029 <Normal Text>    </Normal Text><Two Dim>circle</Two Dim><Symbol>(</Symbol><Decimal>5</Decimal><Symbol>);</Symbol><br/>
0030 <Normal Text>    </Normal Text><Two Dim>square</Two Dim><Symbol>(</Symbol><Decimal>4</Decimal><Symbol>);</Symbol><br/>
0031 <Symbol>}</Symbol><br/>
0032 <Transformation>rotate</Transformation><Symbol>(</Symbol><Decimal>60</Decimal><Symbol>)</Symbol><Normal Text> </Normal Text><Transformation>color</Transformation><Symbol>(</Symbol><String>"red"</String><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/>
0033 <Normal Text>    </Normal Text><Two Dim>circle</Two Dim><Symbol>(</Symbol><Decimal>5</Decimal><Symbol>);</Symbol><br/>
0034 <Normal Text>    </Normal Text><Two Dim>square</Two Dim><Symbol>(</Symbol><Decimal>4</Decimal><Symbol>);</Symbol><br/>
0035 <Symbol>}</Symbol><br/>
0036 <Transformation>color</Transformation><Symbol>(</Symbol><String>"blue"</String><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/>
0037 <Normal Text>    </Normal Text><Transformation>translate</Transformation><Symbol>([</Symbol><Decimal>5</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>3</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><Symbol>])</Symbol><Normal Text> </Normal Text><Three Dim>sphere</Three Dim><Symbol>(</Symbol><Decimal>5</Decimal><Symbol>);</Symbol><br/>
0038 <Normal Text>    </Normal Text><Transformation>rotate</Transformation><Symbol>([</Symbol><Decimal>45</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>45</Decimal><Symbol>])</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/>
0039 <Normal Text>        </Normal Text><Three Dim>cylinder</Three Dim><Symbol>(</Symbol><Decimal>10</Decimal><Symbol>);</Symbol><br/>
0040 <Normal Text>        </Normal Text><Three Dim>cube</Three Dim><Symbol>([</Symbol><Decimal>5</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>6</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>7</Decimal><Symbol>]);</Symbol><br/>
0041 <Normal Text>    </Normal Text><Symbol>}</Symbol><br/>
0042 <Symbol>}</Symbol><br/>
0043 <Normal Text></Normal Text><br/>
0044 <Normal Text>aNumber </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>42</Decimal><Symbol>;</Symbol><br/>
0045 <Normal Text>aBoolean </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Keywords>true</Keywords><Symbol>;</Symbol><br/>
0046 <Normal Text>anotherBoolean </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Keywords>false</Keywords><Symbol>;</Symbol><br/>
0047 <Normal Text>aString </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"foo"</String><Symbol>;</Symbol><br/>
0048 <Normal Text>aRange </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><Decimal>0</Decimal><Symbol>:</Symbol><Normal Text> </Normal Text><Decimal>1</Decimal><Symbol>:</Symbol><Normal Text> </Normal Text><Decimal>10</Decimal><Symbol>];</Symbol><br/>
0049 <Normal Text>aVector </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><Decimal>1</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>3</Decimal><Symbol>];</Symbol><br/>
0050 <Normal Text>aUndef </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Keywords>undef</Keywords><Symbol>;</Symbol><br/>
0051 <Normal Text>moreNumbers </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>[-</Symbol><Decimal>1</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>42</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Float>0.5</Float><Symbol>,</Symbol><Normal Text> </Normal Text><Float>2.99792458e+8</Float><Symbol>,</Symbol><Normal Text> </Normal Text><Float>1.337e3</Float><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>314</Decimal><Normal Text>e</Normal Text><Symbol>-</Symbol><Decimal>2</Decimal><Symbol>];</Symbol><br/>
0052 <Other>echo</Other><Symbol>(</Symbol><Normal Text>moreNumbers</Normal Text><Symbol>)</Symbol><br/>
0053 <Other>echo</Other><Symbol>(</Symbol><String>"The quick brown fox \tjumps \"over\" the lazy dog.\rThe quick brown fox.\nThe \\lazy\\ dog. \x21 \u03a9 \U01F98A \U01f43e"</String><Symbol>);</Symbol><br/>
0054 <Normal Text></Normal Text><br/>
0055 <Normal Text>vector1 </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><Decimal>1</Decimal><Symbol>,</Symbol><Decimal>2</Decimal><Symbol>,</Symbol><Decimal>3</Decimal><Symbol>];</Symbol><Normal Text> vector2 </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><Decimal>4</Decimal><Symbol>];</Symbol><Normal Text> vector3 </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><Decimal>5</Decimal><Symbol>,</Symbol><Decimal>6</Decimal><Symbol>];</Symbol><br/>
0056 <Normal Text>new_vector </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Functions>concat</Functions><Symbol>(</Symbol><Normal Text>vector1</Normal Text><Symbol>,</Symbol><Normal Text> vector2</Normal Text><Symbol>,</Symbol><Normal Text> vector3</Normal Text><Symbol>);</Symbol><Normal Text> </Normal Text><Comment>// [1,2,3,4,5,6]</Comment><br/>
0057 <Normal Text></Normal Text><br/>
0058 <Normal Text>string_vector </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Functions>concat</Functions><Symbol>(</Symbol><String>"abc"</String><Symbol>,</Symbol><String>"def"</String><Symbol>);</Symbol><Normal Text>                 </Normal Text><Comment>// ["abc", "def"]</Comment><br/>
0059 <Normal Text>one_string </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Functions>str</Functions><Symbol>(</Symbol><Normal Text>string_vector</Normal Text><Symbol>[</Symbol><Decimal>0</Decimal><Symbol>],</Symbol><Normal Text>string_vector</Normal Text><Symbol>[</Symbol><Decimal>1</Decimal><Symbol>]);</Symbol><Normal Text> </Normal Text><Comment>// "abcdef"</Comment><br/>
0060 <Normal Text></Normal Text><br/>
0061 <Normal Text>a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><Decimal>1</Decimal><Symbol>,</Symbol><Decimal>2</Decimal><Symbol>,</Symbol><Decimal>3</Decimal><Symbol>];</Symbol><Normal Text> </Normal Text><Other>echo</Other><Symbol>(</Symbol><Mathematical>len</Mathematical><Symbol>(</Symbol><Normal Text>a</Normal Text><Symbol>));</Symbol><Normal Text>   </Normal Text><Comment>//  3</Comment><br/>
0062 <Normal Text></Normal Text><br/>
0063 <Comment>// Example which defines a 2D rotation matrix</Comment><br/>
0064 <Normal Text>mr </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><br/>
0065 <Normal Text>    </Normal Text><Symbol>[</Symbol><Mathematical>cos</Mathematical><Symbol>(</Symbol><Normal Text>angle</Normal Text><Symbol>),</Symbol><Normal Text> </Normal Text><Symbol>-</Symbol><Mathematical>sin</Mathematical><Symbol>(</Symbol><Normal Text>angle</Normal Text><Symbol>)],</Symbol><br/>
0066 <Normal Text>    </Normal Text><Symbol>[</Symbol><Mathematical>sin</Mathematical><Symbol>(</Symbol><Normal Text>angle</Normal Text><Symbol>),</Symbol><Normal Text>  </Normal Text><Mathematical>cos</Mathematical><Symbol>(</Symbol><Normal Text>angle</Normal Text><Symbol>)]</Symbol><br/>
0067 <Symbol>];</Symbol><br/>
0068 <Normal Text></Normal Text><br/>
0069 <Comment>// modifiers</Comment><br/>
0070 <Symbol>%</Symbol><Normal Text> </Normal Text><Three Dim>cube</Three Dim><Symbol>([</Symbol><Decimal>10</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>10</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>10</Decimal><Symbol>]);</Symbol><Normal Text>  </Normal Text><Comment>// background</Comment><br/>
0071 <Symbol>#</Symbol><Normal Text> </Normal Text><Three Dim>cube</Three Dim><Symbol>([</Symbol><Decimal>10</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>10</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>10</Decimal><Symbol>]);</Symbol><Normal Text>  </Normal Text><Comment>// debug</Comment><br/>
0072 <Symbol>!</Symbol><Normal Text> </Normal Text><Three Dim>cube</Three Dim><Symbol>([</Symbol><Decimal>10</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>10</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>10</Decimal><Symbol>]);</Symbol><Normal Text>  </Normal Text><Comment>// root</Comment><br/>
0073 <Symbol>*</Symbol><Normal Text> </Normal Text><Three Dim>cube</Three Dim><Symbol>([</Symbol><Decimal>10</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>10</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>10</Decimal><Symbol>]);</Symbol><Normal Text>  </Normal Text><Comment>// disable</Comment><br/>
0074 <Normal Text></Normal Text><br/>
0075 <Comment>// if example taken from https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Other_Language_Features#Rounding_examples</Comment><br/>
0076 <Keywords>if</Keywords><Symbol>(</Symbol><Normal Text>a</Normal Text><Symbol>==</Symbol><Normal Text>b</Normal Text><Symbol>){</Symbol><br/>
0077 <Normal Text>    </Normal Text><Other>echo</Other><Normal Text> </Normal Text><Symbol>(</Symbol><String>"a==b"</String><Symbol>);</Symbol><br/>
0078 <Symbol>}</Symbol><Keywords>else</Keywords><Normal Text> </Normal Text><Keywords>if</Keywords><Symbol>(</Symbol><Normal Text>a</Normal Text><Symbol>></Symbol><Normal Text>b</Normal Text><Symbol>){</Symbol><br/>
0079 <Normal Text>    </Normal Text><Other>echo</Other><Normal Text> </Normal Text><Symbol>(</Symbol><String>"a>b"</String><Symbol>);</Symbol><br/>
0080 <Symbol>}</Symbol><Keywords>else</Keywords><Normal Text> </Normal Text><Keywords>if</Keywords><Symbol>(</Symbol><Normal Text>a</Normal Text><Symbol><</Symbol><Normal Text>b</Normal Text><Symbol>){</Symbol><br/>
0081 <Normal Text>    </Normal Text><Other>echo</Other><Normal Text> </Normal Text><Symbol>(</Symbol><String>"a<b"</String><Symbol>);</Symbol><br/>
0082 <Symbol>}</Symbol><Keywords>else</Keywords><Symbol>{</Symbol><br/>
0083 <Normal Text>    </Normal Text><Other>echo</Other><Normal Text> </Normal Text><Symbol>(</Symbol><String>"???"</String><Symbol>);</Symbol><br/>
0084 <Symbol>}</Symbol><br/>
0085 <Normal Text></Normal Text><br/>
0086 <Comment>// assert example taken from https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Other_Language_Features#assert</Comment><br/>
0087 <Keywords>module</Keywords><Normal Text> row</Normal Text><Symbol>(</Symbol><Normal Text>cnt </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>3</Decimal><Symbol>){</Symbol><br/>
0088 <Normal Text>    </Normal Text><Comment>// Count has to be a positive integer greater 0</Comment><br/>
0089 <Normal Text>    </Normal Text><Functions>assert</Functions><Symbol>(</Symbol><Normal Text>cnt </Normal Text><Symbol>></Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><Symbol>);</Symbol><br/>
0090 <Normal Text>    </Normal Text><Keywords>for</Keywords><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>i </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><Decimal>1</Decimal><Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> cnt</Normal Text><Symbol>])</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/>
0091 <Normal Text>        </Normal Text><Transformation>translate</Transformation><Symbol>([</Symbol><Normal Text>i </Normal Text><Symbol>*</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><Symbol>])</Symbol><Normal Text> </Normal Text><Three Dim>sphere</Three Dim><Symbol>();</Symbol><br/>
0092 <Normal Text>    </Normal Text><Symbol>}</Symbol><br/>
0093 <Symbol>}</Symbol><br/>
0094 <Normal Text>row</Normal Text><Symbol>(</Symbol><Decimal>0</Decimal><Symbol>);</Symbol><br/>