{ "name": "Ox", "scopeName": "source.ox", "patterns": [ { "include": "#comments" }, { "name": "keyword.control.ox", "match": "\\b(break|case|continue|default|delete|do|else|for|new|parallel for|foreach|goto|if|_Pragma|return|switch|switch_single|while)\\b" }, { "name": "storage.type.ox", "match": "\\b(array|char|class|const|decl|double|enum|extern|int|matrix|static|serial|string|struct)\\b" }, { "name": "constant.language.ox", "match": "^\\s*.\\s*(.NaN|.Inf|TRUE|FALSE)\\b" }, { "name": "constant.numeric.ox", "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b" }, { "name": "string.quoted.double.ox", "begin": "\"", "end": "\"", "patterns": [ { "include": "#string_escaped_char" }, { "include": "#string_placeholder" } ], "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.ox" } }, "endCaptures": { "0": { "name": "punctuation.definition.string.end.ox" } } }, { "begin": "^\\s*#\\s*(include|import|pragma)\\b\\s+", "end": "(?=(?://|/\\*))|$", "captures": { "1": { "name": "keyword.control.import.include.ox" } } } ], "repository": { "comments": { "patterns": [ { "name": "comment.block.ox", "begin": "/\\*", "end": "\\*/", "captures": { "0": { "name": "punctuation.definition.comment.ox" } } }, { "name": "comment.line.double-slash.ox", "begin": "//", "end": "$\\n?", "patterns": [ { "name": "punctuation.separator.continuation.ox", "match": "(?\u003e\\\\\\s*\\n)" } ], "beginCaptures": { "0": { "name": "punctuation.definition.comment.ox" } } } ] } } }