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