[makefile] Update grammar to textmate/make.tmbundle@1a1827d (2015-12-03). Fixes #9757.

This commit is contained in:
Martin Aeschlimann 2016-08-03 16:13:28 +02:00
parent 252fc3ee62
commit cd5fd41560
6 changed files with 1024 additions and 724 deletions

View file

@ -5,6 +5,7 @@
"version": "0.0.0",
"license": "TextMate Bundle License",
"repositoryURL": "https://github.com/textmate/make.tmbundle",
"description": "The file syntaxes/Makefile.json was derived from Makefile.plist in https://github.com/textmate/make.tmbundle.",
"licenseDetail": [
"Copyright (c) textmate-make.tmbundle project authors",
"",

View file

@ -3,6 +3,9 @@
"version": "0.1.0",
"publisher": "vscode",
"engines": { "vscode": "*" },
"scripts": {
"update-grammar": "node ../../build/npm/update-grammar.js textmate/make.tmbundle Syntaxes/Makefile.plist ./syntaxes/Makefile.json"
},
"contributes": {
"languages": [{
"id": "makefile",
@ -13,7 +16,7 @@
"grammars": [{
"language": "makefile",
"scopeName": "source.makefile",
"path": "./syntaxes/Makefile.plist"
"path": "./syntaxes/Makefile.json"
}]
}
}

View file

@ -0,0 +1,475 @@
{
"fileTypes": [
"Makefile",
"makefile",
"GNUmakefile",
"OCamlMakefile"
],
"name": "Makefile",
"patterns": [
{
"include": "#comment"
},
{
"include": "#variable-assignment"
},
{
"include": "#recipe"
},
{
"include": "#directives"
}
],
"repository": {
"comment": {
"begin": "(^[ \\t]+)?(?=#)",
"beginCaptures": {
"1": {
"name": "punctuation.whitespace.comment.leading.makefile"
}
},
"end": "(?!\\G)",
"patterns": [
{
"begin": "#",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.makefile"
}
},
"end": "\\n",
"name": "comment.line.number-sign.makefile",
"patterns": [
{
"match": "\\\\\\n",
"name": "constant.character.escape.continuation.makefile"
}
]
}
]
},
"directives": {
"patterns": [
{
"begin": "^[ ]*([s\\-]?include)\\b",
"beginCaptures": {
"1": {
"name": "keyword.control.include.makefile"
}
},
"end": "^",
"patterns": [
{
"include": "#comment"
},
{
"include": "#variables"
},
{
"match": "%",
"name": "constant.other.placeholder.makefile"
}
]
},
{
"begin": "^[ ]*(vpath)\\b",
"beginCaptures": {
"1": {
"name": "keyword.control.vpath.makefile"
}
},
"end": "^",
"patterns": [
{
"include": "#comment"
},
{
"include": "#variables"
},
{
"match": "%",
"name": "constant.other.placeholder.makefile"
}
]
},
{
"begin": "^(?:(override)\\s*)?(define)\\s*([^\\s]+)\\s*(=|\\?=|:=|\\+=)?(?=\\s)",
"captures": {
"1": {
"name": "keyword.control.override.makefile"
},
"2": {
"name": "keyword.control.define.makefile"
},
"3": {
"name": "variable.other.makefile"
},
"4": {
"name": "punctuation.separator.key-value.makefile"
}
},
"end": "^(endef)\\b",
"name": "meta.scope.conditional.makefile",
"patterns": [
{
"begin": "\\G(?!\\n)",
"end": "^",
"patterns": [
{
"include": "#comment"
}
]
},
{
"include": "#variables"
},
{
"include": "#comment"
}
]
},
{
"begin": "^[ ]*(export)\\b",
"beginCaptures": {
"1": {
"name": "keyword.control.$1.makefile"
}
},
"end": "^",
"patterns": [
{
"include": "#comment"
},
{
"include": "#variable-assignment"
},
{
"match": "[^\\s]+",
"name": "variable.other.makefile"
}
]
},
{
"begin": "^[ ]*(override|private)\\b",
"beginCaptures": {
"1": {
"name": "keyword.control.$1.makefile"
}
},
"end": "^",
"patterns": [
{
"include": "#comment"
},
{
"include": "#variable-assignment"
}
]
},
{
"begin": "^[ ]*(unexport|undefine)\\b",
"beginCaptures": {
"1": {
"name": "keyword.control.$1.makefile"
}
},
"end": "^",
"patterns": [
{
"include": "#comment"
},
{
"match": "[^\\s]+",
"name": "variable.other.makefile"
}
]
},
{
"begin": "^(ifdef|ifndef)\\s*([^\\s]+)(?=\\s)",
"captures": {
"1": {
"name": "keyword.control.$1.makefile"
},
"2": {
"name": "variable.other.makefile"
},
"3": {
"name": "punctuation.separator.key-value.makefile"
}
},
"end": "^(endif)\\b",
"name": "meta.scope.conditional.makefile",
"patterns": [
{
"begin": "\\G(?!\\n)",
"end": "^",
"patterns": [
{
"include": "#comment"
}
]
},
{
"include": "$self"
}
]
},
{
"begin": "^(ifeq|ifneq)(?=\\s)",
"captures": {
"1": {
"name": "keyword.control.$1.makefile"
}
},
"end": "^(endif)\\b",
"name": "meta.scope.conditional.makefile",
"patterns": [
{
"begin": "\\G",
"end": "^",
"name": "meta.scope.condition.makefile",
"patterns": [
{
"include": "#variables"
},
{
"include": "#comment"
}
]
},
{
"begin": "^else(?=\\s)",
"beginCaptures": {
"0": {
"name": "keyword.control.else.makefile"
}
},
"end": "^"
},
{
"include": "$self"
}
]
}
]
},
"interpolation": {
"begin": "(?=`)",
"end": "(?!\\G)",
"name": "meta.embedded.line.shell",
"patterns": [
{
"begin": "`",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.makefile"
}
},
"contentName": "source.shell",
"end": "(`)",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.makefile"
},
"1": {
"name": "source.shell"
}
},
"name": "string.interpolated.backtick.makefile",
"patterns": [
{
"include": "source.shell"
}
]
}
]
},
"recipe": {
"begin": "^(?!\\t)([^:]*)(:)(?!\\=)",
"beginCaptures": {
"1": {
"patterns": [
{
"captures": {
"1": {
"name": "support.function.target.$1.makefile"
}
},
"match": "^\\s*(\\.(PHONY|SUFFIXES|DEFAULT|PRECIOUS|INTERMEDIATE|SECONDARY|SECONDEXPANSION|DELETE_ON_ERROR|IGNORE|LOW_RESOLUTION_TIME|SILENT|EXPORT_ALL_VARIABLES|NOTPARALLEL|ONESHELL|POSIX))\\s*$"
},
{
"begin": "(?=\\S)",
"end": "(?=\\s|$)",
"name": "entity.name.function.target.makefile",
"patterns": [
{
"include": "#variables"
},
{
"match": "%",
"name": "constant.other.placeholder.makefile"
}
]
}
]
},
"2": {
"name": "punctuation.separator.key-value.makefile"
}
},
"end": "^(?!\\t)",
"name": "meta.scope.target.makefile",
"patterns": [
{
"begin": "\\G",
"end": "^",
"name": "meta.scope.prerequisites.makefile",
"patterns": [
{
"match": "\\\\\\n",
"name": "constant.character.escape.continuation.makefile"
},
{
"match": "%|\\*",
"name": "constant.other.placeholder.makefile"
},
{
"include": "#comment"
},
{
"include": "#variables"
}
]
},
{
"begin": "^\\t",
"name": "meta.scope.recipe.makefile",
"patterns": [
{
"captures": {
"0": {
"patterns": [
{
"match": "\\\\\\n",
"name": "constant.character.escape.continuation.makefile"
},
{
"include": "#variables"
},
{
"include": "source.shell"
}
]
}
},
"match": ".+\\n?"
}
],
"while": "^\\t"
}
]
},
"variable-assignment": {
"begin": "(^[ ]*|\\G\\s*)([^\\s]+)\\s*(=|\\?=|:=|\\+=)",
"beginCaptures": {
"2": {
"name": "variable.other.makefile"
},
"3": {
"name": "punctuation.separator.key-value.makefile"
}
},
"end": "\\n",
"patterns": [
{
"match": "\\\\\\n",
"name": "constant.character.escape.continuation.makefile"
},
{
"include": "#comment"
},
{
"include": "#variables"
},
{
"include": "#interpolation"
}
]
},
"variables": {
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.definition.variable.makefile"
}
},
"match": "(\\$?\\$)[@%<?^+*]",
"name": "variable.language.makefile"
},
{
"begin": "\\$?\\$\\(",
"captures": {
"0": {
"name": "punctuation.definition.variable.makefile"
}
},
"end": "\\)",
"name": "string.interpolated.makefile",
"patterns": [
{
"include": "#variables"
},
{
"match": "\\G(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\.LIBPATTERNS)(?=\\s*\\))",
"name": "variable.language.makefile"
},
{
"begin": "\\G(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\s",
"beginCaptures": {
"1": {
"name": "support.function.$1.makefile"
}
},
"end": "(?=\\))",
"name": "meta.scope.function-call.makefile",
"patterns": [
{
"include": "#variables"
},
{
"match": "%|\\*",
"name": "constant.other.placeholder.makefile"
}
]
},
{
"begin": "\\G(origin|flavor)\\s(?=[^\\s)]+\\s*\\))",
"contentName": "variable.other.makefile",
"end": "(?=\\))",
"name": "meta.scope.function-call.makefile",
"patterns": [
{
"include": "#variables"
}
]
},
{
"begin": "\\G(?!\\))",
"end": "(?=\\))",
"name": "variable.other.makefile",
"patterns": [
{
"include": "#variables"
}
]
}
]
}
]
}
},
"scopeName": "source.makefile",
"uuid": "FF1825E8-6B1C-11D9-B883-000D93589AF6",
"version": "https://github.com/textmate/make.tmbundle/commit/1a1827da81e20fdce56e2658451340c070ca44b7"
}

View file

@ -1,722 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>Makefile</string>
<string>makefile</string>
<string>GNUmakefile</string>
<string>OCamlMakefile</string>
<string>mk</string>
</array>
<key>name</key>
<string>Makefile</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>include</key>
<string>#variable-assignment</string>
</dict>
<dict>
<key>include</key>
<string>#recipe</string>
</dict>
<dict>
<key>include</key>
<string>#directives</string>
</dict>
</array>
<key>repository</key>
<dict>
<key>comment</key>
<dict>
<key>begin</key>
<string>(^[ \t]+)?(?=#)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.whitespace.comment.leading.makefile</string>
</dict>
</dict>
<key>end</key>
<string>(?!\G)</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>#</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.makefile</string>
</dict>
</dict>
<key>end</key>
<string>\n</string>
<key>name</key>
<string>comment.line.number-sign.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\\n</string>
<key>name</key>
<string>constant.character.escape.continuation.makefile</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>directives</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>^[ ]*([s\-]?include)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.include.makefile</string>
</dict>
</dict>
<key>end</key>
<string>^</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
<dict>
<key>match</key>
<string>%</string>
<key>name</key>
<string>constant.other.placeholder.makefile</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^[ ]*(vpath)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.vpath.makefile</string>
</dict>
</dict>
<key>end</key>
<string>^</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
<dict>
<key>match</key>
<string>%</string>
<key>name</key>
<string>constant.other.placeholder.makefile</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^(?:(override)\s*)?(define)\s*([^\s]+)\s*(=|\?=|:=|\+=)?(?=\s)</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.override.makefile</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.control.define.makefile</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>variable.other.makefile</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.separator.key-value.makefile</string>
</dict>
</dict>
<key>end</key>
<string>^(endef)\b</string>
<key>name</key>
<string>meta.scope.conditional.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\G(?!\n)</string>
<key>end</key>
<string>^</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^[ ]*(export)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.$1.makefile</string>
</dict>
</dict>
<key>end</key>
<string>^</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>include</key>
<string>#variable-assignment</string>
</dict>
<dict>
<key>match</key>
<string>[^\s]+</string>
<key>name</key>
<string>variable.other.makefile</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^[ ]*(override|private)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.$1.makefile</string>
</dict>
</dict>
<key>end</key>
<string>^</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>include</key>
<string>#variable-assignment</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^[ ]*(unexport|undefine)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.$1.makefile</string>
</dict>
</dict>
<key>end</key>
<string>^</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>match</key>
<string>[^\s]+</string>
<key>name</key>
<string>variable.other.makefile</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^(ifdef|ifndef)\s*([^\s]+)(?=\s)</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.$1.makefile</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>variable.other.makefile</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.separator.key-value.makefile</string>
</dict>
</dict>
<key>end</key>
<string>^(endif)\b</string>
<key>name</key>
<string>meta.scope.conditional.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\G(?!\n)</string>
<key>end</key>
<string>^</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^(ifeq|ifneq)(?=\s)</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.$1.makefile</string>
</dict>
</dict>
<key>end</key>
<string>^(endif)\b</string>
<key>name</key>
<string>meta.scope.conditional.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\G</string>
<key>end</key>
<string>^</string>
<key>name</key>
<string>meta.scope.condition.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^else(?=\s)</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>keyword.control.else.makefile</string>
</dict>
</dict>
<key>end</key>
<string>^</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>interpolation</key>
<dict>
<key>begin</key>
<string>(?=`)</string>
<key>end</key>
<string>(?!\G)</string>
<key>name</key>
<string>meta.embedded.line.shell</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>`</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.makefile</string>
</dict>
</dict>
<key>contentName</key>
<string>source.shell</string>
<key>end</key>
<string>(`)</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.makefile</string>
</dict>
<key>1</key>
<dict>
<key>name</key>
<string>source.shell</string>
</dict>
</dict>
<key>name</key>
<string>string.interpolated.backtick.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.shell</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>recipe</key>
<dict>
<key>begin</key>
<string>^(?!\t)([^:]*)(:)(?!\=)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.function.target.$1.makefile</string>
</dict>
</dict>
<key>match</key>
<string>^\s*(\.(PHONY|SUFFIXES|DEFAULT|PRECIOUS|INTERMEDIATE|SECONDARY|SECONDEXPANSION|DELETE_ON_ERROR|IGNORE|LOW_RESOLUTION_TIME|SILENT|EXPORT_ALL_VARIABLES|NOTPARALLEL|ONESHELL|POSIX))\s*$</string>
</dict>
<dict>
<key>begin</key>
<string>(?=\S)</string>
<key>end</key>
<string>(?=\s|$)</string>
<key>name</key>
<string>entity.name.function.target.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
<dict>
<key>match</key>
<string>%</string>
<key>name</key>
<string>constant.other.placeholder.makefile</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.separator.key-value.makefile</string>
</dict>
</dict>
<key>end</key>
<string>^(?!\t)</string>
<key>name</key>
<string>meta.scope.target.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\G</string>
<key>end</key>
<string>^</string>
<key>name</key>
<string>meta.scope.prerequisites.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\\n</string>
<key>name</key>
<string>constant.character.escape.continuation.makefile</string>
</dict>
<dict>
<key>match</key>
<string>%|\*</string>
<key>name</key>
<string>constant.other.placeholder.makefile</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^\t</string>
<key>name</key>
<string>meta.scope.recipe.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\\n</string>
<key>name</key>
<string>constant.character.escape.continuation.makefile</string>
</dict>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
<dict>
<key>include</key>
<string>source.shell</string>
</dict>
</array>
</dict>
</dict>
<key>match</key>
<string>.+\n?</string>
</dict>
</array>
<key>while</key>
<string>^\t</string>
</dict>
</array>
</dict>
<key>variable-assignment</key>
<dict>
<key>begin</key>
<string>(^[ ]*|\G\s*)([^\s]+)\s*(=|\?=|:=|\+=)</string>
<key>beginCaptures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>variable.other.makefile</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.separator.key-value.makefile</string>
</dict>
</dict>
<key>end</key>
<string>\n</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\\n</string>
<key>name</key>
<string>constant.character.escape.continuation.makefile</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
<dict>
<key>include</key>
<string>#interpolation</string>
</dict>
</array>
</dict>
<key>variables</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.variable.makefile</string>
</dict>
</dict>
<key>match</key>
<string>(\$?\$)[@%&lt;?^+*]</string>
<key>name</key>
<string>variable.language.makefile</string>
</dict>
<dict>
<key>begin</key>
<string>\$?\$\(</string>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.variable.makefile</string>
</dict>
</dict>
<key>end</key>
<string>\)</string>
<key>name</key>
<string>string.interpolated.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
<dict>
<key>match</key>
<string>\G(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\.LIBPATTERNS)(?=\s*\))</string>
<key>name</key>
<string>variable.language.makefile</string>
</dict>
<dict>
<key>begin</key>
<string>\G(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value)\s</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.function.$1.makefile</string>
</dict>
</dict>
<key>end</key>
<string>(?=\))</string>
<key>name</key>
<string>meta.scope.function-call.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
<dict>
<key>match</key>
<string>%|\*</string>
<key>name</key>
<string>constant.other.placeholder.makefile</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\G(origin|flavor)\s(?=[^\s)]+\s*\))</string>
<key>contentName</key>
<string>variable.other.makefile</string>
<key>end</key>
<string>\)</string>
<key>name</key>
<string>meta.scope.function-call.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\G(?!\))</string>
<key>end</key>
<string>(?=\))</string>
<key>name</key>
<string>variable.other.makefile</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#variables</string>
</dict>
</array>
</dict>
</array>
</dict>
</array>
</dict>
</dict>
<key>scopeName</key>
<string>source.makefile</string>
<key>uuid</key>
<string>FF1825E8-6B1C-11D9-B883-000D93589AF6</string>
</dict>
</plist>

View file

@ -13,4 +13,19 @@ hello.o: hello.cpp
g++ -c hello.cpp
clean:
rm *o hello
rm *o hello
define defined
$(info Checkng existance of $(1))
$(if ifeq "$(flavor $(1))" "undefined",0,1)
endef
ifeq ($(call defined,TOP_DIR),0)
TOP_DIR must be set before including paths.mk
endif
include $(TOP_DIR)3rdparty.mk
ifeq ($(call defined,CODIT_DIR),0)
CODIT_DIR must be set in $(TOP_DIR)3rdparty.mk
endif

View file

@ -240,5 +240,533 @@
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "define",
"t": "conditional.control.define.keyword.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.keyword.control rgb(197, 134, 192)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.keyword.control rgb(175, 0, 219)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.keyword.control rgb(86, 156, 214)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.keyword.control rgb(0, 0, 255)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.keyword.control rgb(86, 156, 214)"
}
},
{
"c": " ",
"t": "conditional.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark .token rgb(212, 212, 212)",
"light_plus": ".vs .token rgb(0, 0, 0)",
"dark_vs": ".vs-dark .token rgb(212, 212, 212)",
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "defined",
"t": "conditional.makefile.meta.other.scope.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark .token rgb(212, 212, 212)",
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "\t",
"t": "conditional.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark .token rgb(212, 212, 212)",
"light_plus": ".vs .token rgb(0, 0, 0)",
"dark_vs": ".vs-dark .token rgb(212, 212, 212)",
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "$(",
"t": "conditional.definition.interpolated.makefile.meta.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "info",
"t": "conditional.function.function-call.info.interpolated.makefile.meta.scope.string.support",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.string rgb(206, 145, 120)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.string rgb(163, 21, 21)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": " Checkng existance of ",
"t": "conditional.function-call.interpolated.makefile.meta.scope.string",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.string rgb(206, 145, 120)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.string rgb(163, 21, 21)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "$(",
"t": "conditional.definition.function-call.interpolated.makefile.meta.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "1",
"t": "conditional.function-call.interpolated.makefile.meta.other.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": ")",
"t": "conditional.definition.function-call.interpolated.makefile.meta.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": ")",
"t": "conditional.definition.interpolated.makefile.meta.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "\t",
"t": "conditional.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark .token rgb(212, 212, 212)",
"light_plus": ".vs .token rgb(0, 0, 0)",
"dark_vs": ".vs-dark .token rgb(212, 212, 212)",
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "$(",
"t": "conditional.definition.interpolated.makefile.meta.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "if",
"t": "conditional.function.function-call.if.interpolated.makefile.meta.scope.string.support",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.string rgb(206, 145, 120)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.string rgb(163, 21, 21)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": " ifeq \"",
"t": "conditional.function-call.interpolated.makefile.meta.scope.string",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.string rgb(206, 145, 120)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.string rgb(163, 21, 21)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "$(",
"t": "conditional.definition.function-call.interpolated.makefile.meta.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "flavor ",
"t": "conditional.function-call.interpolated.makefile.meta.scope.string",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.string rgb(206, 145, 120)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.string rgb(163, 21, 21)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "$(",
"t": "conditional.definition.function-call.interpolated.makefile.meta.other.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "1",
"t": "conditional.function-call.interpolated.makefile.meta.other.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": ")",
"t": "conditional.definition.function-call.interpolated.makefile.meta.other.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": ")",
"t": "conditional.definition.function-call.interpolated.makefile.meta.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "\" \"undefined\",0,1",
"t": "conditional.function-call.interpolated.makefile.meta.scope.string",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.string rgb(206, 145, 120)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.string rgb(163, 21, 21)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": ")",
"t": "conditional.definition.interpolated.makefile.meta.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "endef",
"t": "conditional.control.keyword.makefile.meta.override.scope",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.keyword.control rgb(197, 134, 192)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.keyword.control rgb(175, 0, 219)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.keyword.control rgb(86, 156, 214)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.keyword.control rgb(0, 0, 255)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.keyword.control rgb(86, 156, 214)"
}
},
{
"c": "ifeq",
"t": "conditional.control.ifeq.keyword.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.keyword.control rgb(197, 134, 192)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.keyword.control rgb(175, 0, 219)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.keyword.control rgb(86, 156, 214)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.keyword.control rgb(0, 0, 255)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.keyword.control rgb(86, 156, 214)"
}
},
{
"c": " (",
"t": "condition.conditional.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark .token rgb(212, 212, 212)",
"light_plus": ".vs .token rgb(0, 0, 0)",
"dark_vs": ".vs-dark .token rgb(212, 212, 212)",
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "$(",
"t": "condition.conditional.definition.interpolated.makefile.meta.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "call",
"t": "call.condition.conditional.function.function-call.interpolated.makefile.meta.scope.string.support",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.string rgb(206, 145, 120)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.string rgb(163, 21, 21)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": " defined,TOP_DIR",
"t": "condition.conditional.function-call.interpolated.makefile.meta.scope.string",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.string rgb(206, 145, 120)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.string rgb(163, 21, 21)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": ")",
"t": "condition.conditional.definition.interpolated.makefile.meta.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": ",0)",
"t": "condition.conditional.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark .token rgb(212, 212, 212)",
"light_plus": ".vs .token rgb(0, 0, 0)",
"dark_vs": ".vs-dark .token rgb(212, 212, 212)",
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "TOP_DIR must be set before including paths.mk",
"t": "conditional.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark .token rgb(212, 212, 212)",
"light_plus": ".vs .token rgb(0, 0, 0)",
"dark_vs": ".vs-dark .token rgb(212, 212, 212)",
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "endif",
"t": "conditional.control.endif.keyword.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.keyword.control rgb(197, 134, 192)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.keyword.control rgb(175, 0, 219)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.keyword.control rgb(86, 156, 214)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.keyword.control rgb(0, 0, 255)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.keyword.control rgb(86, 156, 214)"
}
},
{
"c": "include",
"t": "control.include.keyword.makefile",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.keyword.control rgb(197, 134, 192)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.keyword.control rgb(175, 0, 219)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.keyword.control rgb(86, 156, 214)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.keyword.control rgb(0, 0, 255)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.keyword.control rgb(86, 156, 214)"
}
},
{
"c": " ",
"t": "",
"r": {
"dark_plus": ".vs-dark .token rgb(212, 212, 212)",
"light_plus": ".vs .token rgb(0, 0, 0)",
"dark_vs": ".vs-dark .token rgb(212, 212, 212)",
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "$(",
"t": "definition.interpolated.makefile.punctuation.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "TOP_DIR",
"t": "interpolated.makefile.other.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": ")",
"t": "definition.interpolated.makefile.punctuation.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "3rdparty.mk",
"t": "",
"r": {
"dark_plus": ".vs-dark .token rgb(212, 212, 212)",
"light_plus": ".vs .token rgb(0, 0, 0)",
"dark_vs": ".vs-dark .token rgb(212, 212, 212)",
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "ifeq",
"t": "conditional.control.ifeq.keyword.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.keyword.control rgb(197, 134, 192)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.keyword.control rgb(175, 0, 219)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.keyword.control rgb(86, 156, 214)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.keyword.control rgb(0, 0, 255)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.keyword.control rgb(86, 156, 214)"
}
},
{
"c": " (",
"t": "condition.conditional.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark .token rgb(212, 212, 212)",
"light_plus": ".vs .token rgb(0, 0, 0)",
"dark_vs": ".vs-dark .token rgb(212, 212, 212)",
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "$(",
"t": "condition.conditional.definition.interpolated.makefile.meta.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": "call",
"t": "call.condition.conditional.function.function-call.interpolated.makefile.meta.scope.string.support",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.string rgb(206, 145, 120)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.string rgb(163, 21, 21)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": " defined,CODIT_DIR",
"t": "condition.conditional.function-call.interpolated.makefile.meta.scope.string",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.string rgb(206, 145, 120)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.string rgb(163, 21, 21)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": ")",
"t": "condition.conditional.definition.interpolated.makefile.meta.punctuation.scope.string.variable",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.variable rgb(156, 220, 254)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.variable rgb(0, 16, 128)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.string rgb(206, 145, 120)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.string rgb(163, 21, 21)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.string rgb(206, 145, 120)"
}
},
{
"c": ",0)",
"t": "condition.conditional.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark .token rgb(212, 212, 212)",
"light_plus": ".vs .token rgb(0, 0, 0)",
"dark_vs": ".vs-dark .token rgb(212, 212, 212)",
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "CODIT_DIR must be set in $(TOP_DIR)3rdparty.mk",
"t": "conditional.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark .token rgb(212, 212, 212)",
"light_plus": ".vs .token rgb(0, 0, 0)",
"dark_vs": ".vs-dark .token rgb(212, 212, 212)",
"light_vs": ".vs .token rgb(0, 0, 0)",
"hc_black": ".hc-black .token rgb(255, 255, 255)"
}
},
{
"c": "endif",
"t": "conditional.control.endif.keyword.makefile.meta.scope",
"r": {
"dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.keyword.control rgb(197, 134, 192)",
"light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.keyword.control rgb(175, 0, 219)",
"dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.keyword.control rgb(86, 156, 214)",
"light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.keyword.control rgb(0, 0, 255)",
"hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.keyword.control rgb(86, 156, 214)"
}
}
]