{"name":"OpenSCAD","scopeName":"source.scad","patterns":[{"name":"meta.function.scad","match":"^(module)\\s.*$","captures":{"1":{"name":"keyword.control.scad"}}},{"name":"keyword.control.scad","match":"\\b(if|else|for|intersection_for|assign|render|function|include|use)\\b"},{"name":"comment.block.documentation.scad","begin":"/\\*\\*(?!/)","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.scad"}}},{"name":"comment.block.scad","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.scad"}}},{"name":"comment.line.double-slash.scad","match":"(//).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.scad"}}},{"name":"string.quoted.double.scad","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scad","match":"\\\\."}]},{"name":"string.quoted.single.scad","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.scad","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scad"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scad"}}},{"name":"string.quoted.double.scad","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scad","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scad"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scad"}}},{"name":"support.function.scad","match":"\\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"},{"name":"punctuation.terminator.statement.scad","match":"\\;"},{"name":"meta.delimiter.object.comma.scad","match":",[ |\\t]*"},{"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":"\\[|\\]"},{"name":"keyword.operator.scad","match":"!|\\$|%|\u0026|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|\u003c=|\u003e=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|\u003c\u003e|\u003c|\u003e|!|\u0026\u0026|\\|\\||\\?\\:|\\*=|(?\u003c!\\()/=|%=|\\+=|\\-=|\u0026=|\\^=|\\b(in|instanceof|new|delete|typeof|void)\\b"},{"name":"constant.numeric.scad","match":"\\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\\.[0-9]+)?))\\b"},{"name":"constant.language.boolean.true.scad","match":"\\btrue\\b"},{"name":"constant.language.boolean.false.scad","match":"\\bfalse\\b"}]}
