[{"displayName":"OpenSCAD","fileTypes":["scad"],"foldingStartMarker":"/\\*\\*|\\{\\s*$","foldingStopMarker":"\\*\\*/|^\\s*}","name":"openscad","patterns":[{"captures":{"1":{"name":"keyword.control.scad"}},"match":"^(module)\\s.*$","name":"meta.function.scad"},{"match":"\\b(if|else|for|intersection_for|assign|render|function|include|use)\\b","name":"keyword.control.scad"},{"begin":"/\\*\\*(?!/)","captures":{"0":{"name":"punctuation.definition.comment.scad"}},"end":"\\*/","name":"comment.block.documentation.scad"},{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.scad"}},"end":"\\*/","name":"comment.block.scad"},{"captures":{"1":{"name":"punctuation.definition.comment.scad"}},"match":"(//).*$\\n?","name":"comment.line.double-slash.scad"},{"begin":"\"","end":"\"","name":"string.quoted.double.scad","patterns":[{"match":"\\\\.","name":"constant.character.escape.scad"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scad"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.scad"}},"name":"string.quoted.single.scad","patterns":[{"match":"\\\\(x\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)","name":"constant.character.escape.scad"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scad"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.scad"}},"name":"string.quoted.double.scad","patterns":[{"match":"\\\\(x\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)","name":"constant.character.escape.scad"}]},{"match":"\\b(abs|acos|asun|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","name":"support.function.scad"},{"match":";","name":"punctuation.terminator.statement.scad"},{"match":",[\\t |]*","name":"meta.delimiter.object.comma.scad"},{"match":"\\.","name":"meta.delimiter.method.period.scad"},{"match":"[{}]","name":"meta.brace.curly.scad"},{"match":"[()]","name":"meta.brace.round.scad"},{"match":"[]\\[]","name":"meta.brace.square.scad"},{"match":"[!$%\\&*]|--?|\\+\\+|[+~]|===?|=|!==??|<=|>=|<<=|>>=|>>>=|<>|[!<>]|&&|\\|\\||\\?:|\\*=|(?<!\\()/=|%=|\\+=|-=|&=|\\^=|\\b(in|instanceof|new|delete|typeof|void)\\b","name":"keyword.operator.scad"},{"match":"\\b((0([Xx])\\h+)|([0-9]+(\\.[0-9]+)?))\\b","name":"constant.numeric.scad"},{"match":"\\btrue\\b","name":"constant.language.boolean.true.scad"},{"match":"\\bfalse\\b","name":"constant.language.boolean.false.scad"}],"scopeName":"source.scad"}]