Skip to content

Instantly share code, notes, and snippets.

@vbfox
Created June 28, 2016 22:07
Show Gist options
  • Save vbfox/38261ae8592063cca16cdfd3e4cc3070 to your computer and use it in GitHub Desktop.
Save vbfox/38261ae8592063cca16cdfd3e4cc3070 to your computer and use it in GitHub Desktop.
Paket dependency files syntax color v2
{
"fileTypes": [
"paket.dependencies"
],
"foldingStartMarker": "",
"foldingStopMarker": "",
"name": "Paket",
"patterns": [
{
"include": "#line"
}
],
"repository": {
"line": {
"name": "meta.line.paket",
"match": "^\\s*(.+)\\s*$",
"captures": {
"1": {
"patterns": [
{
"name": "comment.line.sharp.paket",
"match": "^#.*$"
},
{
"name": "comment.line.double-dash.paket",
"match": "^//.*$"
},
{ "include": "#nuget-line" },
{ "include": "#source-line" },
{ "include": "#strategy-line" },
{ "include": "#redirects-line" },
{ "include": "#lowest_matching-line" },
{ "include": "#framework-line" },
{ "include": "#content-line" },
{ "include": "#import_targets-line" },
{ "include": "#copy_local-line" },
{ "include": "#references-line" },
{ "include": "#copy_content_to_output_dir-line" },
{ "include": "#group-line" },
{ "include": "#github-line" },
{ "include": "#http-line" },
{ "include": "#git-line" }
]
}
}
},
"nuget-line": {
"name": "meta.line.nuget.paket",
"match": "^(nuget)\\s*([^ ]+)(( +[^ ]+)*)$",
"captures": {
"1": {
"name": "keyword.control.paket"
},
"2": {
"name": "meta.package-name.paket"
},
"3": {
"name": "meta.package-details.paket",
"patterns": [
{ "include": "#redirects" },
{ "include": "#framework" },
{ "include": "#version_in_path" },
{ "include": "#copy_local" },
{ "include": "#copy_content_to_output_dir" },
{ "include": "#content" },
{ "include": "#import_targets" },
{ "include": "#strategy" },
{ "include": "#lowest_matching" },
{ "include": "#version-number" },
{ "include": "#operator" }
],
"repository": {
}
}
}
},
"git-line": {
"name": "meta.line.nuget.paket",
"match": "^(git)\\s+(.+)$",
"captures": {
"1": {
"name": "keyword.control.paket"
},
"2": {
"name": "meta.TODO"
}
}
},
"source-line": {
"name": "meta.line.source.paket",
"match": "^(source)\\s+(.+)$",
"captures": {
"1": { "name": "keyword.control.paket" },
"2": {
"patterns": [
{ "include": "#remote" }
]
}
}
},
"remote": {
"name": "meta.line.remote.paket",
"match": "^(([\\\"][^\\\"]*[\\\"])|([^ ]+))( .*)?$",
"captures": {
"1": { "name": "string.quoted.double.paket" },
"4": {
"patterns": [ { "include": "#remote-auth" } ]
}
}
},
"remote-auth": {
"name": "meta.remote.auth.paket",
"match": "(?i)(username|password)([:])[ ]*([\"][^\"]*[\"])",
"captures": {
"1": { "name": "storage.type.parameter.paket" },
"2": { "name": "meta.delimiter.paket" },
"3": { "name": "string.quoted.double.paket" }
}
},
"strategy": {
"name": "meta.strategy.paket",
"match": "(strategy)\\s*(:)?\\s*((?i)min|max)?",
"captures": {
"1": { "name": "storage.type.var.paket" },
"2": { "name": "meta.delimiter.paket" },
"3": { "name": "constant.other.paket" }
}
},
"strategy-line": {
"name": "meta.line.strategy.paket",
"match": "^(?=strategy)(.*)",
"captures": { "1": { "patterns": [ { "include": "#strategy" } ] } }
},
"redirects": {
"name": "meta.redirects.paket",
"match": "(redirects)\\s*(:)?\\s*((?i)on|off|force)?",
"captures": {
"1": { "name": "storage.type.var.paket" },
"2": { "name": "meta.delimiter.paket" },
"3": { "name": "constant.other.paket" }
}
},
"redirects-line": {
"name": "meta.line.redirects.paket",
"match": "^(?=redirects)(.*)",
"captures": { "1": { "patterns": [ { "include": "#redirects" } ] } }
},
"lowest_matching": {
"name": "meta.lowest_matching.paket",
"match": "(lowest_matching)\\s*(:)?\\s*((?i)true|false)?",
"captures": {
"1": { "name": "storage.type.var.paket" },
"2": { "name": "meta.delimiter.paket" },
"3": { "name": "constant.other.paket" }
}
},
"lowest_matching-line": {
"name": "meta.line.lowest_matching.paket",
"match": "^(?=lowest_matching)(.*)",
"captures": { "1": { "patterns": [ { "include": "#lowest_matching" } ] } }
},
"version_in_path": {
"name": "meta.version_in_path.paket",
"match": "(version_in_path)\\s*(:)?\\s*(true|false)?",
"captures": {
"1": { "name": "storage.type.var.paket" },
"2": { "name": "meta.delimiter.paket" },
"3": { "name": "constant.other.paket" }
}
},
"framework": {
"name": "meta.framework.paket",
"match": "(framework)\\s*(:\\s*)?(auto-detect)?",
"captures": {
"1": { "name": "storage.type.var.paket" },
"2": { "name": "meta.delimiter.paket" },
"3": { "name": "constant.other.paket" }
}
},
"framework-line": {
"name": "meta.line.framework.paket",
"match": "^(?=framework)(.*)",
"captures": { "1": { "patterns": [ { "include": "#framework" } ] } }
},
"content": {
"name": "meta.content.paket",
"match": "(content)\\s*(:\\s*)?((?i)none|once|true)?",
"captures": {
"1": { "name": "storage.type.var.paket" },
"2": { "name": "meta.delimiter.paket" },
"3": { "name": "constant.other.paket" }
}
},
"content-line": {
"name": "meta.line.content.paket",
"match": "^(?=content)(.*)",
"captures": { "1": { "patterns": [ { "include": "#content" } ] } }
},
"import_targets": {
"name": "meta.import_targets.paket",
"match": "(import_targets)\\s*(:)?\\s*(true|false)?",
"captures": {
"1": { "name": "storage.type.var.paket" },
"2": { "name": "meta.delimiter.paket" },
"3": { "name": "constant.other.paket" }
}
},
"import_targets-line": {
"name": "meta.line.import_targets.paket",
"match": "^(?=import_targets)(.*)",
"captures": { "1": { "patterns": [ { "include": "#import_targets" } ] } }
},
"copy_local": {
"name": "meta.copy_local.paket",
"match": "(copy_local)\\s*(:\\s*)?(true|false)?",
"captures": {
"1": { "name": "storage.type.var.paket" },
"2": { "name": "meta.delimiter.paket" },
"3": { "name": "constant.other.paket" }
}
},
"copy_local-line": {
"name": "meta.line.copy_local.paket",
"match": "^(copy_local)\\s*(:)?\\s*(true)?",
"captures": { "1": { "patterns": [ { "include": "#copy_local" } ] } }
},
"references-line": {
"name": "meta.line.references.paket",
"match": "^(references)\\s*(:)?\\s*(strict)?",
"captures": {
"1": { "name": "storage.type.var.paket" },
"2": { "name": "meta.delimiter.paket" },
"3": { "name": "constant.other.paket" }
}
},
"copy_content_to_output_dir": {
"name": "meta.copy_content_to_output_dir.paket",
"match": "(copy_content_to_output_dir)\\s*(:)?\\s*((?i)always|never|preserve_newest)?",
"captures": {
"1": { "name": "storage.type.var.paket" },
"2": { "name": "meta.delimiter.paket" },
"3": { "name": "constant.other.paket" }
}
},
"copy_content_to_output_dir-line": {
"name": "meta.line.copy_content_to_output_dir.paket",
"match": "^(copy_content_to_output_dir)\\s*(:)?\\s*((?i)always|never|preserve_newest)?",
"captures": { "1": { "patterns": [ { "include": "#copy_content_to_output_dir" } ] } }
},
"group-line": {
"name": "meta.line.group.paket",
"match": "^(group)\\s+(.*)$",
"captures": {
"1": { "name": "keyword.control.paket" },
"2": { "name": "meta.group-name.paket" }
}
},
"github-line": {
"name": "meta.line.github.paket",
"match": "^(github|gist)\\s+(.*)$",
"captures": {
"1": { "name": "keyword.control.paket" },
"2": {
"patterns": [
{ "include": "#version-number"},
{ "include": "#hex-number"}
]
}
}
},
"http-line": {
"name": "meta.line.http.paket",
"match": "^(http)\\s+(.*)$",
"captures": {
"1": { "name": "keyword.control.paket" }
}
},
"version-number": {
"name": "constant.numeric.version-number.paket",
"match": "\\b[0-9]+(\\.[0-9]+(\\.[0-9]+(\\.[0-9]+)?)?)?(-[.0-9A-Za-z-]+)?(\\+[.0-9A-Za-z-]+)?\\b"
},
"hex-number": {
"name": "constant.numeric.hex.paket",
"match": "\\b[0-9A-Fa-f]+\\b"
},
"operator": {
"name": "keyword.operator.paket",
"match": "(!|@)?(~>|>=|<=|=|<|>)"
}
},
"scopeName": "source.paket.dependencies"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment