{ "fileTypes": ["dps"], "name": "dpscript", "patterns": [ { "include": "#main" } ], "scopeName": "source.dpscript", "uuid": "dbaa50d5-d092-4812-8401-2a0cf1f55e99", "repository": { "main": { "patterns": [ { "match": "\\b(fn|module|import|const|let|for|if|objective|facade|id|path|return|init|tick|in|pub|compiler|enum|sub|goto)", "name": "keyword.dpscript" }, { "match": "\\b(storeof|keyof)", "name": "support.function.dpscript" }, { "match": "\\b(str|component|selector|Identifier|NBTPath|float|int|str|double|bool|dummy|NBT|Selector|Component|store|player)\\b", "name": "entity.name.type.dpscript" }, { "match": "\\b([a-z_\\x{0024}][\\w\\x{0024}]*)\\b(\\()", "captures": { "1": { "name": "entity.name.function.dpscript" }, "2": { "name": "punctuation.dpscript" } } }, { "match": "\\b([a-z_\\x{0024}][\\w\\x{0024}]*)", "name": "entity.name.dpscript" }, { "match": "\\b([A-Z][\\w\\$]*)", "name": "entity.name.type.dpscript" }, { "include": "#numeric" }, { "begin": "(\\{)", "beginCaptures": { "1": { "name": "punctuation.dpscript" } }, "patterns": [ { "include": "#main__1" } ], "end": "(\\};)", "endCaptures": { "1": { "name": "punctuation.dpscript" } } }, { "match": "\\b([\\x{003b}.\\x{002c}\\x{003a}\\x{0026}-\\x{003e}\\x{003c}\\x{0023}]+)", "name": "punctuation.dpscript" }, { "match": "(&|=|;|,)", "name": "punctuation.dpscript" }, { "match": "(->)", "name": "punctuation.dpscript" }, { "begin": "(\\\")", "beginCaptures": { "1": { "name": "string.dpscript" } }, "contentName": "string.dpscript", "end": "([^\\x{005c}]\\\")", "endCaptures": { "1": { "name": "string.dpscript" } } }, { "match": "(\\(|\\)|\\{|\\}|\\[|\\]|\\.|#|\\+|\\*|\\-|\\/[^\\/])", "name": "punctuation.dpscript" }, { "match": "(//.*)", "name": "comment.dpscript" }, { "match": "([^\\s])", "name": "invalid.dpscript" } ] }, "main__1": { "patterns": [ { "include": "#main" } ] }, "main__2": { "patterns": [] }, "numeric": { "patterns": [ { "match": "(\\b\\d+)", "name": "constant.numeric.dpscript" } ] } } }