diff --git a/editor/vscode-jdg/jdg-language-0.1.0.vsix b/editor/vscode-jdg/jdg-language-0.1.0.vsix deleted file mode 100644 index 8fe0516..0000000 Binary files a/editor/vscode-jdg/jdg-language-0.1.0.vsix and /dev/null differ diff --git a/editor/vscode-jdg/syntaxes/jdg.tmLanguage.json b/editor/vscode-jdg/syntaxes/jdg.tmLanguage.json index b4fff90..3c9beeb 100644 --- a/editor/vscode-jdg/syntaxes/jdg.tmLanguage.json +++ b/editor/vscode-jdg/syntaxes/jdg.tmLanguage.json @@ -7,13 +7,19 @@ { "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" } @@ -39,6 +45,10 @@ { "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" @@ -53,20 +63,40 @@ }, "top-keywords": { "name": "keyword.control.jdg", - "match": "\\b(?:build|build_linux|build_windows|build_darwin|binary|sources|timeout|normalize_crlf|trim_trailing_ws|group|test|pattern|env|file|outFile)\\b" + "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|wrapper|stdin|stdout|stderr|args|exitCode|input|output|dirs)\\b" + "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.jdg", + "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": "[=~]"