mirror of
https://github.com/kennethreitz/bake.git
synced 2026-06-05 23:00:17 +00:00
359 lines
12 KiB
JSON
359 lines
12 KiB
JSON
{
|
|
"information_for_contributors": [
|
|
"This file has been converted from https://github.com/fadeevab/make.tmbundle/blob/master/Syntaxes/bakefile.plist",
|
|
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
|
"Once accepted there, we are happy to receive an update request."
|
|
],
|
|
"version": "https://github.com/fadeevab/make.tmbundle/commit/fa280d2f20b0b63dc7c11b6001e9257e2c67f826",
|
|
"name": "bakefile",
|
|
"scopeName": "source.bakefile",
|
|
"patterns": [
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"include": "#target"
|
|
},
|
|
{
|
|
"include": "#task"
|
|
},
|
|
{
|
|
"include": "#directives"
|
|
}
|
|
],
|
|
"repository": {
|
|
"comment": {
|
|
"begin": "(^[ \\t]+)?(?=#)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "punctuation.whitespace.comment.leading.bakefile"
|
|
}
|
|
},
|
|
"end": "(?!\\G)",
|
|
"patterns": [
|
|
{
|
|
"begin": "#",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.comment.bakefile"
|
|
}
|
|
},
|
|
"end": "(?=[^\\\\])$",
|
|
"name": "comment.line.number-sign.bakefile",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\\\n",
|
|
"name": "constant.character.escape.continuation.bakefile"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"directives": {
|
|
"patterns": [
|
|
{
|
|
"begin": "^[ ]*([s\\-]?include)\\b",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.control.include.bakefile"
|
|
}
|
|
},
|
|
"end": "^",
|
|
"patterns": [
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"match": "%",
|
|
"name": "constant.other.placeholder.bakefile"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "^[ ]*(vpath)\\b",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.control.vpath.bakefile"
|
|
}
|
|
},
|
|
"end": "^",
|
|
"patterns": [
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"match": "%",
|
|
"name": "constant.other.placeholder.bakefile"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "^\\s*(?:(override)\\s*)?(define)\\s*([^\\s]+)\\s*(=|\\?=|:=|\\+=)?(?=\\s)",
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.control.override.bakefile"
|
|
},
|
|
"2": {
|
|
"name": "keyword.control.define.bakefile"
|
|
},
|
|
"3": {
|
|
"name": "variable.other.bakefile"
|
|
},
|
|
"4": {
|
|
"name": "punctuation.separator.key-value.bakefile"
|
|
}
|
|
},
|
|
"end": "^\\s*(endef)\\b",
|
|
"name": "meta.scope.conditional.bakefile",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G(?!\\n)",
|
|
"end": "^",
|
|
"patterns": [
|
|
{
|
|
"include": "#comment"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#variables"
|
|
},
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"include": "#directives"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "^[ ]*(export)\\b",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.control.$1.bakefile"
|
|
}
|
|
},
|
|
"end": "^",
|
|
"patterns": [
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"include": "#variable-assignment"
|
|
},
|
|
{
|
|
"match": "[^\\s]+",
|
|
"name": "variable.other.bakefile"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "^[ ]*(override|private)\\b",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.control.$1.bakefile"
|
|
}
|
|
},
|
|
"end": "^",
|
|
"patterns": [
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"include": "#variable-assignment"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "^[ ]*(unexport|undefine)\\b",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.control.$1.bakefile"
|
|
}
|
|
},
|
|
"end": "^",
|
|
"patterns": [
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"match": "[^\\s]+",
|
|
"name": "variable.other.bakefile"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "^\\s*(ifdef|ifndef)\\s*([^\\s]+)(?=\\s)",
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.control.$1.bakefile"
|
|
},
|
|
"2": {
|
|
"name": "variable.other.bakefile"
|
|
},
|
|
"3": {
|
|
"name": "punctuation.separator.key-value.bakefile"
|
|
}
|
|
},
|
|
"end": "^\\s*(endif)\\b",
|
|
"name": "meta.scope.conditional.bakefile",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G(?!\\n)",
|
|
"end": "^",
|
|
"patterns": [
|
|
{
|
|
"include": "#comment"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "^\\s*(ifeq|ifneq)(?=\\s)",
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.control.$1.bakefile"
|
|
}
|
|
},
|
|
"end": "^\\s*(endif)\\b",
|
|
"name": "meta.scope.conditional.bakefile",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G",
|
|
"end": "^",
|
|
"name": "meta.scope.condition.bakefile",
|
|
"patterns": [
|
|
{
|
|
"include": "#variables"
|
|
},
|
|
{
|
|
"include": "#comment"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "^\\s*else(?=\\s)",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "keyword.control.else.bakefile"
|
|
}
|
|
},
|
|
"end": "^"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"target": {
|
|
"begin": "^(?!\\t)([^:]*)(:)(?!\\=)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "support.function.target.$1.bakefile"
|
|
}
|
|
},
|
|
"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.bakefile",
|
|
"patterns": [
|
|
{
|
|
"include": "#variables"
|
|
},
|
|
{
|
|
"match": "%",
|
|
"name": "constant.other.placeholder.bakefile"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.key-value.bakefile"
|
|
}
|
|
},
|
|
"end": "[^\\\\]$",
|
|
"name": "meta.scope.target.bakefile",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G",
|
|
"end": "(?=[^\\\\])$",
|
|
"name": "meta.scope.prerequisites.bakefile",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\\\n",
|
|
"name": "constant.character.escape.continuation.bakefile"
|
|
},
|
|
{
|
|
"match": "%|\\*",
|
|
"name": "constant.other.placeholder.bakefile"
|
|
},
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"include": "#variables"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"task": {
|
|
"begin": "^(\\t| {4})([+\\-@]*)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.control.$1.bakefile"
|
|
}
|
|
},
|
|
"end": "[^\\\\]$",
|
|
"name": "task",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\\\n",
|
|
"name": "constant.character.escape.continuation.bakefile"
|
|
},
|
|
{
|
|
"include": "#variables"
|
|
}
|
|
]
|
|
},
|
|
"interpolation": {
|
|
"patterns": [
|
|
{
|
|
"include": "#parentheses-interpolation"
|
|
}
|
|
]
|
|
},
|
|
"parentheses-interpolation": {
|
|
"begin": "\\(",
|
|
"end": "\\)",
|
|
"patterns": [
|
|
{
|
|
"include": "#interpolation"
|
|
}
|
|
]
|
|
},
|
|
"braces-interpolation": {
|
|
"begin": "{",
|
|
"end": "}",
|
|
"patterns": [
|
|
{
|
|
"include": "#interpolation"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|