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/>