All checks were successful
build-dsl-smoke / Build judge (push) Successful in 13s
build-dsl-smoke / debug / clang / linux (push) Successful in 6s
build-dsl-smoke / debug / gcc / linux (push) Successful in 7s
build-dsl-smoke / release / clang / linux (push) Successful in 10s
build-dsl-smoke / release / gcc / linux (push) Successful in 9s
build-dsl-smoke / sanitized / clang / linux (push) Successful in 9s
build-dsl-smoke / sanitized / gcc / linux (push) Successful in 7s
build-dsl-smoke / debug-valgrind / gcc / linux (push) Successful in 16s
Release / Build & publish (push) Successful in 44s
build-dsl-smoke / debug / clang / windows (push) Successful in 34s
build-dsl-smoke / release / clang / windows (push) Successful in 31s
build-dsl-smoke / debug / msvc / windows (push) Successful in 36s
build-dsl-smoke / release / msvc / windows (push) Successful in 33s
build-dsl-smoke / SUMMARY (push) Successful in 5s
114 lines
3.4 KiB
JSON
114 lines
3.4 KiB
JSON
{
|
|
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
|
|
"name": "Judge DSL",
|
|
"scopeName": "source.jdg",
|
|
"fileTypes": ["jdg"],
|
|
"patterns": [
|
|
{ "include": "#comments" },
|
|
{ "include": "#heredoc" },
|
|
{ "include": "#string" },
|
|
{ "include": "#size" },
|
|
{ "include": "#duration" },
|
|
{ "include": "#number" },
|
|
{ "include": "#boolean" },
|
|
{ "include": "#top-keywords" },
|
|
{ "include": "#os-block" },
|
|
{ "include": "#build-fields" },
|
|
{ "include": "#block-keywords" },
|
|
{ "include": "#matcher-keywords" },
|
|
{ "include": "#profile-values" },
|
|
{ "include": "#warnings-values" },
|
|
{ "include": "#scoring-values" },
|
|
{ "include": "#class-values" },
|
|
{ "include": "#operators" },
|
|
{ "include": "#braces" },
|
|
{ "include": "#identifier" }
|
|
],
|
|
"repository": {
|
|
"comments": {
|
|
"name": "comment.line.double-slash.jdg",
|
|
"match": "//.*$"
|
|
},
|
|
"heredoc": {
|
|
"name": "string.quoted.triple.jdg",
|
|
"begin": "\"\"\"",
|
|
"end": "\"\"\"",
|
|
"patterns": [
|
|
{ "name": "constant.character.escape.jdg", "match": "\\\\[nt\\\\\"]" }
|
|
]
|
|
},
|
|
"string": {
|
|
"name": "string.quoted.double.jdg",
|
|
"begin": "\"",
|
|
"end": "\"",
|
|
"patterns": [
|
|
{ "name": "constant.character.escape.jdg", "match": "\\\\[nt\\\\\"]" }
|
|
]
|
|
},
|
|
"size": {
|
|
"name": "constant.numeric.size.jdg",
|
|
"match": "\\b\\d+(?:KiB|MiB|GiB|KB|MB|GB|B|K|M|G)\\b"
|
|
},
|
|
"duration": {
|
|
"name": "constant.numeric.duration.jdg",
|
|
"match": "\\b-?\\d+(?:\\.\\d+)?(?:ms|s|m|h)\\b"
|
|
},
|
|
"number": {
|
|
"name": "constant.numeric.jdg",
|
|
"match": "\\b-?\\d+(?:\\.\\d+)?\\b"
|
|
},
|
|
"boolean": {
|
|
"name": "constant.language.boolean.jdg",
|
|
"match": "\\b(?:true|false)\\b"
|
|
},
|
|
"top-keywords": {
|
|
"name": "keyword.control.jdg",
|
|
"match": "\\b(?:include|build|build_defaults|build_linux|build_windows|build_darwin|toolchains|binary|sources|timeout|memory_limit|normalize_crlf|trim_trailing_ws|group|test|pattern|env|file|outFile|define)\\b"
|
|
},
|
|
"os-block": {
|
|
"name": "support.type.os.jdg",
|
|
"match": "\\b(?:linux|windows|darwin)\\b(?=\\s*\\{)"
|
|
},
|
|
"build-fields": {
|
|
"name": "variable.parameter.build.jdg",
|
|
"match": "\\b(?:language|standard|output|wrapper|includes|sanitize|link|extra|platforms|compilers|profile|warnings|class)\\b"
|
|
},
|
|
"block-keywords": {
|
|
"name": "variable.parameter.jdg",
|
|
"match": "\\b(?:weight|scoring|stdin|stdout|stderr|args|exitCode|input|dirs)\\b"
|
|
},
|
|
"matcher-keywords": {
|
|
"name": "support.function.jdg",
|
|
"match": "\\b(?:contains|matches|anyOrder|of)\\b"
|
|
},
|
|
"profile-values": {
|
|
"name": "constant.language.profile.jdg",
|
|
"match": "\\b(?:release|debug|sanitized)\\b"
|
|
},
|
|
"warnings-values": {
|
|
"name": "constant.language.warnings.jdg",
|
|
"match": "\\b(?:default|strict|pedantic)\\b"
|
|
},
|
|
"scoring-values": {
|
|
"name": "constant.language.scoring.jdg",
|
|
"match": "\\b(?:partial|all_or_none)\\b"
|
|
},
|
|
"class-values": {
|
|
"name": "constant.language.class.jdg",
|
|
"match": "\\b(?:gnu|msvc)\\b"
|
|
},
|
|
"operators": {
|
|
"name": "keyword.operator.jdg",
|
|
"match": "[=~]"
|
|
},
|
|
"braces": {
|
|
"name": "punctuation.section.braces.jdg",
|
|
"match": "[{}()]"
|
|
},
|
|
"identifier": {
|
|
"name": "variable.other.jdg",
|
|
"match": "\\b[A-Za-z_][A-Za-z0-9_]*\\b"
|
|
}
|
|
}
|
|
}
|