Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
148 changes: 118 additions & 30 deletions syntaxes/scad.tmLanguage
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,6 @@
<string>OpenSCAD</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.scad</string>
</dict>
</dict>
<key>match</key>
<string>^(module)\s.*$</string>
<key>name</key>
<string>meta.function.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(if|else|for|intersection_for|assign|render|function|include|use)\b</string>
<key>name</key>
<string>keyword.control.scad</string>
</dict>
<dict>
<key>begin</key>
<string>/\*\*(?!/)</string>
Expand Down Expand Up @@ -84,9 +64,9 @@
</dict>
<dict>
<key>begin</key>
<string>"</string>
<string>&quot;</string>
<key>end</key>
<string>"</string>
<string>&quot;</string>
<key>name</key>
<string>string.quoted.double.scad</string>
<key>patterns</key>
Expand Down Expand Up @@ -121,20 +101,20 @@
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.scad</string>
<string>invalid.string.quoted.single.scad</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)</string>
<string>\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)</string>
<key>name</key>
<string>constant.character.escape.scad</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>"</string>
<string>&quot;</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
Expand All @@ -144,7 +124,7 @@
</dict>
</dict>
<key>end</key>
<string>"</string>
<string>&quot;</string>
<key>endCaptures</key>
<dict>
<key>0</key>
Expand All @@ -159,18 +139,90 @@
<array>
<dict>
<key>match</key>
<string>\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)</string>
<string>\\(x{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)</string>
<key>name</key>
<string>constant.character.escape.scad</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>\b(abs|acos|asun|atan|atan2|ceil|cos|exp|floor|ln|log|lookup|max|min|pow|rands|round|sign|sin|sqrt|tan|str|cube|sphere|cylinder|polyhedron|scale|rotate|translate|mirror|multimatrix|color|minkowski|hull|union|difference|intersection|echo)\b</string>
<string>\b(let|for|intersection_for|each|module|function|undef|assert)\b</string>
<key>name</key>
<string>keyword.control.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(if|else)\b</string>
<key>name</key>
<string>keyword.control.conditional.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(include|use|import|dxf_dim|dxf_cross|surface)\b</string>
<key>name</key>
<string>keyword.control.import.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(str|chr|concat|lookup|search|version|version_num|norm|cross|parent_module)\b</string>
<key>name</key>
<string>support.function.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(text|children|echo|group|offset)\b</string>
<key>name</key>
<string>support.function.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(abs|sign|rands|min|max|round|ceil|floor|pow|sqrt|exp|len|log|ln)\b</string>
<key>name</key>
<string>support.function.math.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(sin|cos|asin|acos|tan|atan|atan2)\b</string>
<key>name</key>
<string>support.function.math.trig.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(scale|translate|rotate|multmatrix|color|projection|hull|resize|mirror|minkowski)\b</string>
<key>name</key>
<string>support.class.transform.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(union|difference|intersection|render)\b</string>
<key>name</key>
<string>support.class.csgop.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(cube|sphere|cylinder|polyhedron)\b</string>
<key>name</key>
<string>support.class.prim3d.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(square|circle|polygon)\b</string>
<key>name</key>
<string>support.class.prim2d.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(linear_extrude|rotate_extrude)\b</string>
<key>name</key>
<string>support.class.extrude.scad</string>
</dict>
<dict>
<key>match</key>
<string>\b(assign|child|import_dxf|import_stl)\b</string>
<key>name</key>
<string>invalid.deprecated</string>
</dict>
<dict>
<key>match</key>
<string>\;</string>
Expand Down Expand Up @@ -209,9 +261,39 @@
</dict>
<dict>
<key>match</key>
<string>!|\$|%|&amp;|\*|\-\-|\-|\+\+|\+|~|===|==|=|!=|!==|&lt;=|&gt;=|&lt;&lt;=|&gt;&gt;=|&gt;&gt;&gt;=|&lt;&gt;|&lt;|&gt;|!|&amp;&amp;|\|\||\?\:|\*=|(?&lt;!\()/=|%=|\+=|\-=|&amp;=|\^=|\b(in|instanceof|new|delete|typeof|void)\b</string>
<string>=(?!=)</string>
<key>name</key>
<string>keyword.operator.scad</string>
<string>keyword.operator.assignment.scad</string>
</dict>
<dict>
<key>match</key>
<string>\+|\-|\*|\/|%</string>
<key>name</key>
<string>keyword.operator.arithmetic.scad</string>
</dict>
<dict>
<key>match</key>
<string>!|&amp;&amp;|\|\|</string>
<key>name</key>
<string>keyword.operator.logical.scad</string>
</dict>
<dict>
<key>match</key>
<string>&lt;=|&lt;|==|!=|&gt;=|&gt;</string>
<key>name</key>
<string>keyword.operator.relational.scad</string>
</dict>
<dict>
<key>match</key>
<string>\?|\:</string>
<key>name</key>
<string>keyword.operator.conditional.scad</string>
</dict>
<dict>
<key>match</key>
<string>#|%|!</string>
<key>name</key>
<string>keyword.operator.other.scad</string>
</dict>
<dict>
<key>match</key>
Expand All @@ -231,6 +313,12 @@
<key>name</key>
<string>constant.language.boolean.false.scad</string>
</dict>
<dict>
<key>match</key>
<string>\$(children|fn|fa|fs|t|preview|vpt|vpr|vpd|parent_modules)\b</string>
<key>name</key>
<string>variable.language.scad</string>
</dict>
</array>
<key>scopeName</key>
<string>source.scad</string>
Expand Down