{ "fileTypes": [ "oz" ], "foldingStartMarker": "/\\*\\*|\\{\\s*$", "foldingStopMarker": "\\*\\*/|^\\s*\\}", "keyEquivalent": "^~O", "name": "Oz", "patterns": [ { "match": "(%).*$\\n?", "name": "comment.line.percentage.oz" }, { "begin": "/\\*", "end": "\\*/", "name": "comment.block.documentation.oz" }, { "match": "(?x)\\b(\n andthen|at|attr|case|catch|class|choice|cond|\n declare|define|do|dis|else|elsecase|elseif|\n end|export|feat|finally|for|from|fun|functor|\n if|in|import|lex|local|lock|meth|mode|not|of|\n or|orelse|parser|prepare|proc|prod|prop|raise|require|\n scanner|skip|syn|then|thread|token|try)\\b\n |\n ^\\s*\\[\\]", "name": "keyword.control.oz" }, { "match": "=|:=", "name": "keyword.operator.assignement.oz" }, { "match": "<|=<|==|\\\\=|>=|>", "name": "keyword.operator.comparison.oz" }, { "match": "(\\*|\\+|\\-|/|~)|\\b(div|mod)\\b", "name": "keyword.operator.arithmetic.oz" }, { "match": "\\b(\\d+)\\b", "name": "constant.numeric.oz" }, { "match": "\\b(nil|true|false)\\b", "name": "constant.language.oz" }, { "match": "\\b\\|\\b", "name": "keyword.operator.list.oz" }, { "captures": { "1": { "name": "keyword.control.proc.oz" }, "2": { "name": "entity.name.function.oz" }, "3": { "name": "variable.parameter.function.oz" } }, "match": "(?x)\n\t\t\t \\b(fun|proc)\\b\\s+\n\t\t\t \\{(\\w+)\n\t\t\t ((?:\\s\\w+)*)\n\t\t\t \\}", "name": "meta.function.oz" }, { "match": "\\[|\\]", "name": "punctuation.section.array.oz" }, { "begin": "'", "end": "'", "name": "string.quoted.simple.oz", "patterns": [ { "match": "\\\\.", "name": "constant.character.escape.oz" } ] }, { "match": "(@)[A-Z]\\w*", "name": "variable.other.readwrite.cell.oz" } ], "scopeName": "source.oz", "uuid": "05EF5C4D-C314-43F7-80A6-7E255931EA2C" }