Restore extensions in core (#114921)
* bring back grammar extensions
* fix hygiene
* Revert "pull themes from the marketplace"
This reverts commit 0738f76dac
.
This commit is contained in:
Родитель
5fcd9f7484
Коммит
3b03189afa
|
@ -202,7 +202,7 @@ function createGitIndexVinyls(paths) {
|
|||
}
|
||||
|
||||
cp.exec(
|
||||
`git show :${relativePath}`,
|
||||
`git show ':${relativePath}'`,
|
||||
{ maxBuffer: 2000 * 1024, encoding: 'buffer' },
|
||||
(err, out) => {
|
||||
if (err) {
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "mmims/language-batchfile",
|
||||
"repositoryUrl": "https://github.com/mmims/language-batchfile",
|
||||
"commitHash": "95ea8c699f7a8296b15767069868532d52631c46"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"version": "0.7.5"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"comments": {
|
||||
"lineComment": "@REM"
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
{ "open": "\"", "close": "\"", "notIn": ["string"] }
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["%", "%"],
|
||||
["\"", "\""]
|
||||
],
|
||||
"folding": {
|
||||
"markers": {
|
||||
"start": "^\\s*(::|REM|@REM)\\s*#region",
|
||||
"end": "^\\s*(::|REM|@REM)\\s*#endregion"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"name": "bat",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": { "vscode": "*" },
|
||||
"scripts": {
|
||||
"update-grammar": "node ../../build/npm/update-grammar.js mmims/language-batchfile grammars/batchfile.cson ./syntaxes/batchfile.tmLanguage.json"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [{
|
||||
"id": "bat",
|
||||
"extensions": [ ".bat", ".cmd"],
|
||||
"aliases": [ "Batch", "bat" ],
|
||||
"configuration": "./language-configuration.json"
|
||||
}],
|
||||
"grammars": [{
|
||||
"language": "bat",
|
||||
"scopeName": "source.batchfile",
|
||||
"path": "./syntaxes/batchfile.tmLanguage.json"
|
||||
}],
|
||||
"snippets": [{
|
||||
"language": "bat",
|
||||
"path": "./snippets/batchfile.code-snippets"
|
||||
}]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "Windows Bat Language Basics",
|
||||
"description": "Provides snippets, syntax highlighting, bracket matching and folding in Windows batch files."
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"Region Start": {
|
||||
"prefix": "#region",
|
||||
"body": [
|
||||
"::#region"
|
||||
],
|
||||
"description": "Folding Region Start"
|
||||
},
|
||||
"Region End": {
|
||||
"prefix": "#endregion",
|
||||
"body": [
|
||||
"::#endregion"
|
||||
],
|
||||
"description": "Folding Region End"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,738 @@
|
|||
{
|
||||
"information_for_contributors": [
|
||||
"This file has been converted from https://github.com/mmims/language-batchfile/blob/master/grammars/batchfile.cson",
|
||||
"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/mmims/language-batchfile/commit/95ea8c699f7a8296b15767069868532d52631c46",
|
||||
"name": "Batch File",
|
||||
"scopeName": "source.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#commands"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
},
|
||||
{
|
||||
"include": "#constants"
|
||||
},
|
||||
{
|
||||
"include": "#controls"
|
||||
},
|
||||
{
|
||||
"include": "#escaped_characters"
|
||||
},
|
||||
{
|
||||
"include": "#labels"
|
||||
},
|
||||
{
|
||||
"include": "#numbers"
|
||||
},
|
||||
{
|
||||
"include": "#operators"
|
||||
},
|
||||
{
|
||||
"include": "#parens"
|
||||
},
|
||||
{
|
||||
"include": "#strings"
|
||||
},
|
||||
{
|
||||
"include": "#variables"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"commands": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?<=^|[\\s@])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net use|net user|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|scp|sc|schtasks|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|shadow|shift|showmount|shutdown|sort|ssh|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|mic|wscript|xcopy)(?=$|\\s)",
|
||||
"name": "keyword.command.batchfile"
|
||||
},
|
||||
{
|
||||
"begin": "(?i)(?<=^|[\\s@])(echo)(?:(?=$|\\.|:)|\\s+(?:(on|off)(?=\\s*$))?)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "keyword.command.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.other.special-method.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(?=$\\n|[&|><)])",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#escaped_characters"
|
||||
},
|
||||
{
|
||||
"include": "#variables"
|
||||
},
|
||||
{
|
||||
"include": "#numbers"
|
||||
},
|
||||
{
|
||||
"include": "#strings"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"match": "(?i)(?<=^|[\\s@])(setlocal)(?:\\s*$|\\s+(EnableExtensions|DisableExtensions|EnableDelayedExpansion|DisableDelayedExpansion)(?=\\s*$))",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.command.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.other.special-method.batchfile"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"include": "#command_set"
|
||||
}
|
||||
]
|
||||
},
|
||||
"command_set": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "(?<=^|[\\s@])(?i:SET)(?=$|\\s)",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "keyword.command.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(?=$\\n|[&|><)])",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#command_set_inside"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"command_set_inside": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#escaped_characters"
|
||||
},
|
||||
{
|
||||
"include": "#variables"
|
||||
},
|
||||
{
|
||||
"include": "#numbers"
|
||||
},
|
||||
{
|
||||
"include": "#parens"
|
||||
},
|
||||
{
|
||||
"include": "#command_set_strings"
|
||||
},
|
||||
{
|
||||
"include": "#strings"
|
||||
},
|
||||
{
|
||||
"begin": "([^ ][^=]*)(=)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "variable.other.readwrite.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.operator.assignment.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(?=$\\n|[&|><)])",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#escaped_characters"
|
||||
},
|
||||
{
|
||||
"include": "#variables"
|
||||
},
|
||||
{
|
||||
"include": "#numbers"
|
||||
},
|
||||
{
|
||||
"include": "#parens"
|
||||
},
|
||||
{
|
||||
"include": "#strings"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "\\s+/[aA]\\s+",
|
||||
"end": "(?=$\\n|[&|><)])",
|
||||
"name": "meta.expression.set.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\"",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.begin.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "\"",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.batchfile"
|
||||
}
|
||||
},
|
||||
"name": "string.quoted.double.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#command_set_inside_arithmetic"
|
||||
},
|
||||
{
|
||||
"include": "#command_set_group"
|
||||
},
|
||||
{
|
||||
"include": "#variables"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"include": "#command_set_inside_arithmetic"
|
||||
},
|
||||
{
|
||||
"include": "#command_set_group"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "\\s+/[pP]\\s+",
|
||||
"end": "(?=$\\n|[&|><)])",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#command_set_strings"
|
||||
},
|
||||
{
|
||||
"begin": "([^ ][^=]*)(=)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "variable.other.readwrite.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.operator.assignment.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(?=$\\n|[&|><)])",
|
||||
"name": "meta.prompt.set.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#strings"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"command_set_group": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\\(",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.section.group.begin.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "\\)",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.section.group.end.batchfile"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#command_set_inside_arithmetic"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"command_set_inside_arithmetic": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#command_set_operators"
|
||||
},
|
||||
{
|
||||
"include": "#numbers"
|
||||
},
|
||||
{
|
||||
"match": ",",
|
||||
"name": "punctuation.separator.batchfile"
|
||||
}
|
||||
]
|
||||
},
|
||||
"command_set_operators": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "([^ ]*)(\\+\\=|\\-\\=|\\*\\=|\\/\\=|%%\\=|&\\=|\\|\\=|\\^\\=|<<\\=|>>\\=)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "variable.other.readwrite.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.operator.assignment.augmented.batchfile"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "\\+|\\-|/|\\*|%%|\\||&|\\^|<<|>>|~",
|
||||
"name": "keyword.operator.arithmetic.batchfile"
|
||||
},
|
||||
{
|
||||
"match": "!",
|
||||
"name": "keyword.operator.logical.batchfile"
|
||||
},
|
||||
{
|
||||
"match": "([^ ][^=]*)(=)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "variable.other.readwrite.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.operator.assignment.batchfile"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"command_set_strings": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "(\")\\s*([^ ][^=]*)(=)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.string.begin.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "variable.other.readwrite.batchfile"
|
||||
},
|
||||
"3": {
|
||||
"name": "keyword.operator.assignment.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "\"",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.batchfile"
|
||||
}
|
||||
},
|
||||
"name": "string.quoted.double.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#variables"
|
||||
},
|
||||
{
|
||||
"include": "#numbers"
|
||||
},
|
||||
{
|
||||
"include": "#escaped_characters"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"comments": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "(?:^|(&))\\s*(?=((?::[+=,;: ])))",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "keyword.operator.conditional.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "\\n",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "((?::[+=,;: ]))",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(?=\\n)",
|
||||
"name": "comment.line.colon.batchfile"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(?<=^|[\\s@])(?i)(REM)(\\.)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "keyword.command.rem.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.separator.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(?=$\\n|[&|><)])",
|
||||
"name": "comment.line.rem.batchfile"
|
||||
},
|
||||
{
|
||||
"begin": "(?<=^|[\\s@])(?i:rem)\\b",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "keyword.command.rem.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "\\n",
|
||||
"name": "comment.line.rem.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "[><|]",
|
||||
"name": "invalid.illegal.unexpected-character.batchfile"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"constants": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "\\b(?i:NUL)\\b",
|
||||
"name": "constant.language.batchfile"
|
||||
}
|
||||
]
|
||||
},
|
||||
"controls": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?i)(?<=^|\\s)(?:call|exit(?=$|\\s)|goto(?=$|\\s|:))",
|
||||
"name": "keyword.control.statement.batchfile"
|
||||
},
|
||||
{
|
||||
"match": "(?<=^|\\s)(?i)(if)\\s+(?:(not)\\s+)?(exist|defined|errorlevel|cmdextversion)(?=\\s)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.control.conditional.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.operator.logical.batchfile"
|
||||
},
|
||||
"3": {
|
||||
"name": "keyword.other.special-method.batchfile"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=^|\\s)(?i)(?:if|else)(?=$|\\s)",
|
||||
"name": "keyword.control.conditional.batchfile"
|
||||
},
|
||||
{
|
||||
"match": "(?<=^|\\s)(?i)for(?=\\s)",
|
||||
"name": "keyword.control.repeat.batchfile"
|
||||
}
|
||||
]
|
||||
},
|
||||
"escaped_characters": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "%%|\\^\\^!|\\^(?=.)|\\^\\n",
|
||||
"name": "constant.character.escape.batchfile"
|
||||
}
|
||||
]
|
||||
},
|
||||
"labels": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?i)(?:^\\s*|(?<=goto)\\s*)(:)([^+=,;:\\s].*)$",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.separator.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.other.special-method.batchfile"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"numbers": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?<=^|\\s|=)(0[xX][0-9A-Fa-f]*|[+-]?\\d+)(?=$|\\s|<|>)",
|
||||
"name": "constant.numeric.batchfile"
|
||||
}
|
||||
]
|
||||
},
|
||||
"operators": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "@(?=\\S)",
|
||||
"name": "keyword.operator.at.batchfile"
|
||||
},
|
||||
{
|
||||
"match": "(?<=\\s)(?i:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\\s)|==",
|
||||
"name": "keyword.operator.comparison.batchfile"
|
||||
},
|
||||
{
|
||||
"match": "(?<=\\s)(?i)(NOT)(?=\\s)",
|
||||
"name": "keyword.operator.logical.batchfile"
|
||||
},
|
||||
{
|
||||
"match": "(?<!\\^)&&?|\\|\\|",
|
||||
"name": "keyword.operator.conditional.batchfile"
|
||||
},
|
||||
{
|
||||
"match": "(?<!\\^)\\|",
|
||||
"name": "keyword.operator.pipe.batchfile"
|
||||
},
|
||||
{
|
||||
"match": "<&?|>[&>]?",
|
||||
"name": "keyword.operator.redirection.batchfile"
|
||||
}
|
||||
]
|
||||
},
|
||||
"parens": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\\(",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.section.group.begin.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "\\)",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.section.group.end.batchfile"
|
||||
}
|
||||
},
|
||||
"name": "meta.group.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"match": ",|;",
|
||||
"name": "punctuation.separator.batchfile"
|
||||
},
|
||||
{
|
||||
"include": "$self"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"strings": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\"",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.begin.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(\")|(\\n)",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.string.end.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "invalid.illegal.newline.batchfile"
|
||||
}
|
||||
},
|
||||
"name": "string.quoted.double.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "%%",
|
||||
"name": "constant.character.escape.batchfile"
|
||||
},
|
||||
{
|
||||
"include": "#variables"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"variables": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(%)((~([fdpnxsatz]|\\$PATH:)*)?\\d|\\*)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.variable.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "variable.parameter.batchfile"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"include": "#variable"
|
||||
},
|
||||
{
|
||||
"include": "#variable_delayed_expansion"
|
||||
}
|
||||
]
|
||||
},
|
||||
"variable": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "%(?=[^%]+%)",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.variable.begin.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(%)|\\n",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.variable.end.batchfile"
|
||||
}
|
||||
},
|
||||
"name": "variable.other.readwrite.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": ":~",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.separator.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(?=%|\\n)",
|
||||
"name": "meta.variable.substring.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#variable_substring"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": ":",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.separator.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(?=%|\\n)",
|
||||
"name": "meta.variable.substitution.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#variable_replace"
|
||||
},
|
||||
{
|
||||
"begin": "=",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.separator.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(?=%|\\n)",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#variable_delayed_expansion"
|
||||
},
|
||||
{
|
||||
"match": "[^%]+",
|
||||
"name": "string.unquoted.batchfile"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"variable_delayed_expansion": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "!(?=[^!]+!)",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.variable.begin.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(!)|\\n",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.variable.end.batchfile"
|
||||
}
|
||||
},
|
||||
"name": "variable.other.readwrite.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": ":~",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.separator.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(?=!|\\n)",
|
||||
"name": "meta.variable.substring.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#variable_substring"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": ":",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.separator.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(?=!|\\n)",
|
||||
"name": "meta.variable.substitution.batchfile",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#escaped_characters"
|
||||
},
|
||||
{
|
||||
"include": "#variable_replace"
|
||||
},
|
||||
{
|
||||
"include": "#variable"
|
||||
},
|
||||
{
|
||||
"begin": "=",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.separator.batchfile"
|
||||
}
|
||||
},
|
||||
"end": "(?=!|\\n)",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#variable"
|
||||
},
|
||||
{
|
||||
"match": "[^!]+",
|
||||
"name": "string.unquoted.batchfile"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"variable_replace": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "[^=%!\\n]+",
|
||||
"name": "string.unquoted.batchfile"
|
||||
}
|
||||
]
|
||||
},
|
||||
"variable_substring": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "([+-]?\\d+)(?:(,)([+-]?\\d+))?",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "constant.numeric.batchfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.separator.batchfile"
|
||||
},
|
||||
"3": {
|
||||
"name": "constant.numeric.batchfile"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "atom/language-clojure",
|
||||
"repositoryUrl": "https://github.com/atom/language-clojure",
|
||||
"commitHash": "de877502aa4a77ccdc2c7f0c9180436aea3effff"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"version": "0.22.7",
|
||||
"description": "The file syntaxes/clojure.tmLanguage.json was derived from the Atom package https://github.com/atom/language-clojure which was originally converted from the TextMate bundle https://github.com/mmcgrana/textmate-clojure."
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"comments": {
|
||||
"lineComment": ";"
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
{ "open": "\"", "close": "\"", "notIn": ["string"] }
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""]
|
||||
],
|
||||
"folding": {
|
||||
"offSide": true
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"name": "clojure",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": { "vscode": "*" },
|
||||
"scripts": {
|
||||
"update-grammar": "node ../../build/npm/update-grammar.js atom/language-clojure grammars/clojure.cson ./syntaxes/clojure.tmLanguage.json"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [{
|
||||
"id": "clojure",
|
||||
"aliases": ["Clojure", "clojure"],
|
||||
"extensions": [".clj", ".cljs", ".cljc", ".cljx", ".clojure", ".edn"],
|
||||
"configuration": "./language-configuration.json"
|
||||
}],
|
||||
"grammars": [{
|
||||
"language": "clojure",
|
||||
"scopeName": "source.clojure",
|
||||
"path": "./syntaxes/clojure.tmLanguage.json"
|
||||
}]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "Clojure Language Basics",
|
||||
"description": "Provides syntax highlighting and bracket matching in Clojure files."
|
||||
}
|
|
@ -0,0 +1,435 @@
|
|||
{
|
||||
"information_for_contributors": [
|
||||
"This file has been converted from https://github.com/atom/language-clojure/blob/master/grammars/clojure.cson",
|
||||
"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/atom/language-clojure/commit/de877502aa4a77ccdc2c7f0c9180436aea3effff",
|
||||
"name": "Clojure",
|
||||
"scopeName": "source.clojure",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment"
|
||||
},
|
||||
{
|
||||
"include": "#shebang-comment"
|
||||
},
|
||||
{
|
||||
"include": "#quoted-sexp"
|
||||
},
|
||||
{
|
||||
"include": "#sexp"
|
||||
},
|
||||
{
|
||||
"include": "#keyfn"
|
||||
},
|
||||
{
|
||||
"include": "#string"
|
||||
},
|
||||
{
|
||||
"include": "#vector"
|
||||
},
|
||||
{
|
||||
"include": "#set"
|
||||
},
|
||||
{
|
||||
"include": "#map"
|
||||
},
|
||||
{
|
||||
"include": "#regexp"
|
||||
},
|
||||
{
|
||||
"include": "#var"
|
||||
},
|
||||
{
|
||||
"include": "#constants"
|
||||
},
|
||||
{
|
||||
"include": "#dynamic-variables"
|
||||
},
|
||||
{
|
||||
"include": "#metadata"
|
||||
},
|
||||
{
|
||||
"include": "#namespace-symbol"
|
||||
},
|
||||
{
|
||||
"include": "#symbol"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"comment": {
|
||||
"begin": "(?<!\\\\);",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.comment.clojure"
|
||||
}
|
||||
},
|
||||
"end": "$",
|
||||
"name": "comment.line.semicolon.clojure"
|
||||
},
|
||||
"constants": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(nil)(?=(\\s|\\)|\\]|\\}))",
|
||||
"name": "constant.language.nil.clojure"
|
||||
},
|
||||
{
|
||||
"match": "(true|false)",
|
||||
"name": "constant.language.boolean.clojure"
|
||||
},
|
||||
{
|
||||
"match": "(-?\\d+/\\d+)",
|
||||
"name": "constant.numeric.ratio.clojure"
|
||||
},
|
||||
{
|
||||
"match": "(-?\\d+[rR]\\w+)",
|
||||
"name": "constant.numeric.arbitrary-radix.clojure"
|
||||
},
|
||||
{
|
||||
"match": "(-?0[xX][0-9a-fA-F]+)",
|
||||
"name": "constant.numeric.hexadecimal.clojure"
|
||||
},
|
||||
{
|
||||
"match": "(-?0\\d+)",
|
||||
"name": "constant.numeric.octal.clojure"
|
||||
},
|
||||
{
|
||||
"match": "(-?\\d+\\.\\d+([eE][+-]?\\d+)?M)",
|
||||
"name": "constant.numeric.bigdecimal.clojure"
|
||||
},
|
||||
{
|
||||
"match": "(-?\\d+\\.\\d+([eE][+-]?\\d+)?)",
|
||||
"name": "constant.numeric.double.clojure"
|
||||
},
|
||||
{
|
||||
"match": "(-?\\d+N)",
|
||||
"name": "constant.numeric.bigint.clojure"
|
||||
},
|
||||
{
|
||||
"match": "(-?\\d+)",
|
||||
"name": "constant.numeric.long.clojure"
|
||||
},
|
||||
{
|
||||
"include": "#keyword"
|
||||
}
|
||||
]
|
||||
},
|
||||
"keyword": {
|
||||
"match": "(?<=(\\s|\\(|\\[|\\{)):[\\w\\#\\.\\-\\_\\:\\+\\=\\>\\<\\/\\!\\?\\*]+(?=(\\s|\\)|\\]|\\}|\\,))",
|
||||
"name": "constant.keyword.clojure"
|
||||
},
|
||||
"keyfn": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?<=(\\s|\\(|\\[|\\{))(if(-[-\\p{Ll}\\?]*)?|when(-[-\\p{Ll}]*)?|for(-[-\\p{Ll}]*)?|cond|do|let(-[-\\p{Ll}\\?]*)?|binding|loop|recur|fn|throw[\\p{Ll}\\-]*|try|catch|finally|([\\p{Ll}]*case))(?=(\\s|\\)|\\]|\\}))",
|
||||
"name": "storage.control.clojure"
|
||||
},
|
||||
{
|
||||
"match": "(?<=(\\s|\\(|\\[|\\{))(declare-?|(in-)?ns|import|use|require|load|compile|(def[\\p{Ll}\\-]*))(?=(\\s|\\)|\\]|\\}))",
|
||||
"name": "keyword.control.clojure"
|
||||
}
|
||||
]
|
||||
},
|
||||
"dynamic-variables": {
|
||||
"match": "\\*[\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\d]+\\*",
|
||||
"name": "meta.symbol.dynamic.clojure"
|
||||
},
|
||||
"map": {
|
||||
"begin": "(\\{)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.section.map.begin.clojure"
|
||||
}
|
||||
},
|
||||
"end": "(\\}(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\})",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.section.map.end.trailing.clojure"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.section.map.end.clojure"
|
||||
}
|
||||
},
|
||||
"name": "meta.map.clojure",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "$self"
|
||||
}
|
||||
]
|
||||
},
|
||||
"metadata": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "(\\^\\{)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.section.metadata.map.begin.clojure"
|
||||
}
|
||||
},
|
||||
"end": "(\\}(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\})",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.section.metadata.map.end.trailing.clojure"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.section.metadata.map.end.clojure"
|
||||
}
|
||||
},
|
||||
"name": "meta.metadata.map.clojure",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "$self"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(\\^)",
|
||||
"end": "(\\s)",
|
||||
"name": "meta.metadata.simple.clojure",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#keyword"
|
||||
},
|
||||
{
|
||||
"include": "$self"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"quoted-sexp": {
|
||||
"begin": "(['``]\\()",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.section.expression.begin.clojure"
|
||||
}
|
||||
},
|
||||
"end": "(\\))$|(\\)(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\))",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.section.expression.end.trailing.clojure"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.section.expression.end.trailing.clojure"
|
||||
},
|
||||
"3": {
|
||||
"name": "punctuation.section.expression.end.clojure"
|
||||
}
|
||||
},
|
||||
"name": "meta.quoted-expression.clojure",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "$self"
|
||||
}
|
||||
]
|
||||
},
|
||||
"regexp": {
|
||||
"begin": "#\"",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.regexp.begin.clojure"
|
||||
}
|
||||
},
|
||||
"end": "\"",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.regexp.end.clojure"
|
||||
}
|
||||
},
|
||||
"name": "string.regexp.clojure",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#regexp_escaped_char"
|
||||
}
|
||||
]
|
||||
},
|
||||
"regexp_escaped_char": {
|
||||
"match": "\\\\.",
|
||||
"name": "constant.character.escape.clojure"
|
||||
},
|
||||
"set": {
|
||||
"begin": "(\\#\\{)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.section.set.begin.clojure"
|
||||
}
|
||||
},
|
||||
"end": "(\\}(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\})",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.section.set.end.trailing.clojure"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.section.set.end.clojure"
|
||||
}
|
||||
},
|
||||
"name": "meta.set.clojure",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "$self"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sexp": {
|
||||
"begin": "(\\()",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.section.expression.begin.clojure"
|
||||
}
|
||||
},
|
||||
"end": "(\\))$|(\\)(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\))",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.section.expression.end.trailing.clojure"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.section.expression.end.trailing.clojure"
|
||||
},
|
||||
"3": {
|
||||
"name": "punctuation.section.expression.end.clojure"
|
||||
}
|
||||
},
|
||||
"name": "meta.expression.clojure",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "(?<=\\()(ns|declare|def[\\w\\d._:+=><!?*-]*|[\\w._:+=><!?*-][\\w\\d._:+=><!?*-]*/def[\\w\\d._:+=><!?*-]*)\\s+",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "keyword.control.clojure"
|
||||
}
|
||||
},
|
||||
"end": "(?=\\))",
|
||||
"name": "meta.definition.global.clojure",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#metadata"
|
||||
},
|
||||
{
|
||||
"include": "#dynamic-variables"
|
||||
},
|
||||
{
|
||||
"match": "([\\p{L}\\.\\-\\_\\+\\=\\>\\<\\!\\?\\*][\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\*\\d]*)",
|
||||
"name": "entity.global.clojure"
|
||||
},
|
||||
{
|
||||
"include": "$self"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"include": "#keyfn"
|
||||
},
|
||||
{
|
||||
"include": "#constants"
|
||||
},
|
||||
{
|
||||
"include": "#vector"
|
||||
},
|
||||
{
|
||||
"include": "#map"
|
||||
},
|
||||
{
|
||||
"include": "#set"
|
||||
},
|
||||
{
|
||||
"include": "#sexp"
|
||||
},
|
||||
{
|
||||
"match": "(?<=\\()(.+?)(?=\\s|\\))",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "entity.name.function.clojure"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "$self"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"include": "$self"
|
||||
}
|
||||
]
|
||||
},
|
||||
"shebang-comment": {
|
||||
"begin": "^(#!)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.shebang.clojure"
|
||||
}
|
||||
},
|
||||
"end": "$",
|
||||
"name": "comment.line.shebang.clojure"
|
||||
},
|
||||
"string": {
|
||||
"begin": "(?<!\\\\)(\")",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.string.begin.clojure"
|
||||
}
|
||||
},
|
||||
"end": "(\")",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.string.end.clojure"
|
||||
}
|
||||
},
|
||||
"name": "string.quoted.double.clojure",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "\\\\.",
|
||||
"name": "constant.character.escape.clojure"
|
||||
}
|
||||
]
|
||||
},
|
||||
"namespace-symbol": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "([\\p{L}\\.\\-\\_\\+\\=\\>\\<\\!\\?\\*][\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\*\\d]*)/",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "meta.symbol.namespace.clojure"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"symbol": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "([\\p{L}\\.\\-\\_\\+\\=\\>\\<\\!\\?\\*][\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\*\\d]*)",
|
||||
"name": "meta.symbol.clojure"
|
||||
}
|
||||
]
|
||||
},
|
||||
"var": {
|
||||
"match": "(?<=(\\s|\\(|\\[|\\{)\\#)'[\\w\\.\\-\\_\\:\\+\\=\\>\\<\\/\\!\\?\\*]+(?=(\\s|\\)|\\]|\\}))",
|
||||
"name": "meta.var.clojure"
|
||||
},
|
||||
"vector": {
|
||||
"begin": "(\\[)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.section.vector.begin.clojure"
|
||||
}
|
||||
},
|
||||
"end": "(\\](?=[\\}\\]\\)\\s]*(?:;|$)))|(\\])",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.section.vector.end.trailing.clojure"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.section.vector.end.clojure"
|
||||
}
|
||||
},
|
||||
"name": "meta.vector.clojure",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "$self"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "atom/language-coffee-script",
|
||||
"repositoryUrl": "https://github.com/atom/language-coffee-script",
|
||||
"commitHash": "0f6db9143663e18b1ad00667820f46747dba495e"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"description": "The file syntaxes/coffeescript.tmLanguage.json was derived from the Atom package https://github.com/atom/language-coffee-script which was originally converted from the TextMate bundle https://github.com/jashkenas/coffee-script-tmbundle.",
|
||||
"version": "0.49.3"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"comments": {
|
||||
"lineComment": "#",
|
||||
"blockComment": [ "###", "###" ]
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
{ "open": "\"", "close": "\"", "notIn": ["string"] },
|
||||
{ "open": "'", "close": "'", "notIn": ["string"] }
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"],
|
||||
[" ", " "]
|
||||
],
|
||||
"folding": {
|
||||
"offSide": true,
|
||||
"markers": {
|
||||
"start": "^\\s*#region\\b",
|
||||
"end": "^\\s*#endregion\\b"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"name": "coffeescript",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": { "vscode": "*" },
|
||||
"scripts": {
|
||||
"update-grammar": "node ../../build/npm/update-grammar.js atom/language-coffee-script grammars/coffeescript.cson ./syntaxes/coffeescript.tmLanguage.json"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [{
|
||||
"id": "coffeescript",
|
||||
"extensions": [ ".coffee", ".cson", ".iced" ],
|
||||
"aliases": [ "CoffeeScript", "coffeescript", "coffee" ],
|
||||
"configuration": "./language-configuration.json"
|
||||
}],
|
||||
"grammars": [{
|
||||
"language": "coffeescript",
|
||||
"scopeName": "source.coffee",
|
||||
"path": "./syntaxes/coffeescript.tmLanguage.json"
|
||||
}],
|
||||
"breakpoints": [
|
||||
{
|
||||
"language": "coffeescript"
|
||||
}
|
||||
],
|
||||
"snippets": [{
|
||||
"language": "coffeescript",
|
||||
"path": "./snippets/coffeescript.code-snippets"
|
||||
}]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "CoffeeScript Language Basics",
|
||||
"description": "Provides snippets, syntax highlighting, bracket matching and folding in CoffeeScript files."
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"Region Start": {
|
||||
"prefix": "#region",
|
||||
"body": [
|
||||
"#region"
|
||||
],
|
||||
"description": "Folding Region Start"
|
||||
},
|
||||
"Region End": {
|
||||
"prefix": "#endregion",
|
||||
"body": [
|
||||
"#endregion"
|
||||
],
|
||||
"description": "Folding Region End"
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,3 @@
|
|||
build/**
|
||||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,15 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
var updateGrammar = require('../../../build/npm/update-grammar');
|
||||
|
||||
updateGrammar.update('jeff-hykin/cpp-textmate-grammar', 'syntaxes/c.tmLanguage.json', './syntaxes/c.tmLanguage.json', undefined, 'master', 'source/languages/cpp/');
|
||||
updateGrammar.update('jeff-hykin/cpp-textmate-grammar', 'syntaxes/cpp.tmLanguage.json', './syntaxes/cpp.tmLanguage.json', undefined, 'master', 'source/languages/cpp/');
|
||||
updateGrammar.update('jeff-hykin/cpp-textmate-grammar', 'syntaxes/cpp.embedded.macro.tmLanguage.json', './syntaxes/cpp.embedded.macro.tmLanguage.json', undefined, 'master', 'source/languages/cpp/');
|
||||
|
||||
// `source.c.platform` which is still included by other grammars
|
||||
updateGrammar.update('textmate/c.tmbundle', 'Syntaxes/Platform.tmLanguage', './syntaxes/platform.tmLanguage.json');
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "jeff-hykin/cpp-textmate-grammar",
|
||||
"repositoryUrl": "https://github.com/jeff-hykin/cpp-textmate-grammar",
|
||||
"commitHash": "f074a48ae0b7ba313af3faf3d8bfda8537864bd1"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"version": "1.15.5",
|
||||
"description": "The files syntaxes/c.json and syntaxes/c++.json were derived from https://github.com/atom/language-c which was originally converted from the C TextMate bundle https://github.com/textmate/c.tmbundle."
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "textmate/c.tmbundle",
|
||||
"repositoryUrl": "https://github.com/textmate/c.tmbundle",
|
||||
"commitHash": "60daf83b9d45329524f7847a75e9298b3aae5805"
|
||||
}
|
||||
},
|
||||
"licenseDetail": [
|
||||
"Copyright (c) textmate-c.tmbundle authors",
|
||||
"",
|
||||
"If not otherwise specified (see below), files in this repository fall under the following license:",
|
||||
"",
|
||||
"Permission to copy, use, modify, sell and distribute this",
|
||||
"software is granted. This software is provided \"as is\" without",
|
||||
"express or implied warranty, and with no claim as to its",
|
||||
"suitability for any purpose.",
|
||||
"",
|
||||
"An exception is made for files in readable text which contain their own license information,",
|
||||
"or files where an accompanying file exists (in the same directory) with a \"-license\" suffix added",
|
||||
"to the base-name name of the original file, and an extension of txt, html, or similar. For example",
|
||||
"\"tidy\" is accompanied by \"tidy-license.txt\"."
|
||||
],
|
||||
"license": "TextMate Bundle License",
|
||||
"version": "0.0.0"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"comments": {
|
||||
"lineComment": "//",
|
||||
"blockComment": ["/*", "*/"]
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
{ "open": "[", "close": "]" },
|
||||
{ "open": "{", "close": "}" },
|
||||
{ "open": "(", "close": ")" },
|
||||
{ "open": "'", "close": "'", "notIn": ["string", "comment"] },
|
||||
{ "open": "\"", "close": "\"", "notIn": ["string"] }
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"],
|
||||
["<", ">"]
|
||||
],
|
||||
"folding": {
|
||||
"markers": {
|
||||
"start": "^\\s*#pragma\\s+region\\b",
|
||||
"end": "^\\s*#pragma\\s+endregion\\b"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,87 @@
|
|||
{
|
||||
"name": "cpp",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"vscode": "*"
|
||||
},
|
||||
"scripts": {
|
||||
"update-grammar": "node ./build/update-grammars.js"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [
|
||||
{
|
||||
"id": "c",
|
||||
"extensions": [
|
||||
".c",
|
||||
".i"
|
||||
],
|
||||
"aliases": [
|
||||
"C",
|
||||
"c"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
},
|
||||
{
|
||||
"id": "cpp",
|
||||
"extensions": [
|
||||
".cpp",
|
||||
".cc",
|
||||
".cxx",
|
||||
".c++",
|
||||
".hpp",
|
||||
".hh",
|
||||
".hxx",
|
||||
".h++",
|
||||
".h",
|
||||
".ii",
|
||||
".ino",
|
||||
".inl",
|
||||
".ipp",
|
||||
".hpp.in",
|
||||
".h.in"
|
||||
],
|
||||
"aliases": [
|
||||
"C++",
|
||||
"Cpp",
|
||||
"cpp"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
}
|
||||
],
|
||||
"grammars": [
|
||||
{
|
||||
"language": "c",
|
||||
"scopeName": "source.c",
|
||||
"path": "./syntaxes/c.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"scopeName": "source.cpp.embedded.macro",
|
||||
"path": "./syntaxes/cpp.embedded.macro.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"scopeName": "source.cpp",
|
||||
"path": "./syntaxes/cpp.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"scopeName": "source.c.platform",
|
||||
"path": "./syntaxes/platform.tmLanguage.json"
|
||||
}
|
||||
],
|
||||
"snippets": [
|
||||
{
|
||||
"language": "c",
|
||||
"path": "./snippets/c.code-snippets"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"path": "./snippets/cpp.code-snippets"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "C/C++ Language Basics",
|
||||
"description": "Provides snippets, syntax highlighting, bracket matching and folding in C/C++ files."
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"Region Start": {
|
||||
"prefix": "#region",
|
||||
"body": [
|
||||
"#pragma region $0"
|
||||
],
|
||||
"description": "Folding Region Start"
|
||||
},
|
||||
"Region End": {
|
||||
"prefix": "#endregion",
|
||||
"body": [
|
||||
"#pragma endregion"
|
||||
],
|
||||
"description": "Folding Region End"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"Region Start": {
|
||||
"prefix": "#region",
|
||||
"body": [
|
||||
"#pragma region $0"
|
||||
],
|
||||
"description": "Folding Region Start"
|
||||
},
|
||||
"Region End": {
|
||||
"prefix": "#endregion",
|
||||
"body": [
|
||||
"#pragma endregion"
|
||||
],
|
||||
"description": "Folding Region End"
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -0,0 +1,2 @@
|
|||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "dotnet/csharp-tmLanguage",
|
||||
"repositoryUrl": "https://github.com/dotnet/csharp-tmLanguage",
|
||||
"commitHash": "572697a2c2267430010b3534281f73337144e94f"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"version": "0.1.0",
|
||||
"description": "The file syntaxes/csharp.tmLanguage.json was derived from https://github.com/dotnet/csharp-tmLanguage"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"comments": {
|
||||
"lineComment": "//",
|
||||
"blockComment": ["/*", "*/"]
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
{ "open": "'", "close": "'", "notIn": ["string", "comment"] },
|
||||
{ "open": "\"", "close": "\"", "notIn": ["string", "comment"] }
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["<", ">"],
|
||||
["'", "'"],
|
||||
["\"", "\""]
|
||||
],
|
||||
"folding": {
|
||||
"markers": {
|
||||
"start": "^\\s*#region\\b",
|
||||
"end": "^\\s*#endregion\\b"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
"name": "csharp",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"vscode": "0.10.x"
|
||||
},
|
||||
"scripts": {
|
||||
"update-grammar": "node ../../build/npm/update-grammar.js dotnet/csharp-tmLanguage grammars/csharp.tmLanguage ./syntaxes/csharp.tmLanguage.json"
|
||||
},
|
||||
|
||||
"contributes": {
|
||||
"languages": [
|
||||
{
|
||||
"id": "csharp",
|
||||
"extensions": [
|
||||
".cs",
|
||||
".csx",
|
||||
".cake"
|
||||
],
|
||||
"aliases": [
|
||||
"C#",
|
||||
"csharp"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
}
|
||||
],
|
||||
"grammars": [
|
||||
{
|
||||
"language": "csharp",
|
||||
"scopeName": "source.cs",
|
||||
"path": "./syntaxes/csharp.tmLanguage.json"
|
||||
}
|
||||
],
|
||||
"snippets": [{
|
||||
"language": "csharp",
|
||||
"path": "./snippets/csharp.code-snippets"
|
||||
}]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "C# Language Basics",
|
||||
"description": "Provides snippets, syntax highlighting, bracket matching and folding in C# files."
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"Region Start": {
|
||||
"prefix": "#region",
|
||||
"body": [
|
||||
"#region $0"
|
||||
],
|
||||
"description": "Folding Region Start"
|
||||
},
|
||||
"Region End": {
|
||||
"prefix": "#endregion",
|
||||
"body": [
|
||||
"#endregion"
|
||||
],
|
||||
"description": "Folding Region End"
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Launch Grammar",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceRoot}"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
test/**
|
||||
cgmanifest.json
|
||||
.vscode
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "octref/language-css",
|
||||
"repositoryUrl": "https://github.com/octref/language-css",
|
||||
"commitHash": "dcdc1cb4403266f4ebdb1a4f526f8b6d09fd39d6"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"description": "The file syntaxes/css.tmLanguage.json was derived from https://github.com/octref/language-css which was derived from the Atom package https://github.com/atom/language-css which was originally converted from the TextMate bundle https://github.com/textmate/css.tmbundle.",
|
||||
"version": "0.42.11"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"comments": {
|
||||
"blockComment": ["/*", "*/"]
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
{ "open": "{", "close": "}", "notIn": ["string", "comment"] },
|
||||
{ "open": "[", "close": "]", "notIn": ["string", "comment"] },
|
||||
{ "open": "(", "close": ")", "notIn": ["string", "comment"] },
|
||||
{ "open": "\"", "close": "\"", "notIn": ["string", "comment"] },
|
||||
{ "open": "'", "close": "'", "notIn": ["string", "comment"] }
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"]
|
||||
],
|
||||
"folding": {
|
||||
"markers": {
|
||||
"start": "^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/",
|
||||
"end": "^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"name": "css",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"vscode": "0.10.x"
|
||||
},
|
||||
"scripts": {
|
||||
"update-grammar": "node ../../build/npm/update-grammar.js octref/language-css grammars/css.cson ./syntaxes/css.tmLanguage.json"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [
|
||||
{
|
||||
"id": "css",
|
||||
"aliases": [
|
||||
"CSS",
|
||||
"css"
|
||||
],
|
||||
"extensions": [
|
||||
".css"
|
||||
],
|
||||
"mimetypes": [
|
||||
"text/css"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
}
|
||||
],
|
||||
"grammars": [
|
||||
{
|
||||
"language": "css",
|
||||
"scopeName": "source.css",
|
||||
"path": "./syntaxes/css.tmLanguage.json",
|
||||
"tokenTypes": {
|
||||
"meta.function.url string.quoted": "other"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "CSS Language Basics",
|
||||
"description": "Provides syntax highlighting and bracket matching for CSS, LESS and SCSS files."
|
||||
}
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -0,0 +1,2 @@
|
|||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "language-docker",
|
||||
"repositoryUrl": "https://github.com/moby/moby",
|
||||
"commitHash": "abd39744c6f3ed854500e423f5fabf952165161f"
|
||||
}
|
||||
},
|
||||
"license": "Apache2",
|
||||
"description": "The file syntaxes/docker.tmLanguage was included from https://github.com/moby/moby/blob/master/contrib/syntax/textmate/Docker.tmbundle/Syntaxes/Dockerfile.tmLanguage.",
|
||||
"version": "0.0.0"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"comments": {
|
||||
"lineComment": "#"
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"]
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"]
|
||||
]
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"name": "docker",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": { "vscode": "*" },
|
||||
"scripts": {
|
||||
"update-grammar": "node ../../build/npm/update-grammar.js moby/moby contrib/syntax/textmate/Docker.tmbundle/Syntaxes/Dockerfile.tmLanguage ./syntaxes/docker.tmLanguage.json"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [{
|
||||
"id": "dockerfile",
|
||||
"extensions": [ ".dockerfile", ".containerfile" ],
|
||||
"filenames": [ "Dockerfile", "Containerfile" ],
|
||||
"filenamePatterns": [ "Dockerfile.*", "Containerfile.*" ],
|
||||
"aliases": [ "Docker", "Dockerfile", "Containerfile" ],
|
||||
"configuration": "./language-configuration.json"
|
||||
}],
|
||||
"grammars": [{
|
||||
"language": "dockerfile",
|
||||
"scopeName": "source.dockerfile",
|
||||
"path": "./syntaxes/docker.tmLanguage.json"
|
||||
}],
|
||||
"configurationDefaults": {
|
||||
"[dockerfile]": {
|
||||
"editor.quickSuggestions": {
|
||||
"strings": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "Docker Language Basics",
|
||||
"description": "Provides syntax highlighting and bracket matching in Docker files."
|
||||
}
|
|
@ -0,0 +1,102 @@
|
|||
{
|
||||
"information_for_contributors": [
|
||||
"This file has been converted from https://github.com/moby/moby/blob/master/contrib/syntax/textmate/Docker.tmbundle/Syntaxes/Dockerfile.tmLanguage",
|
||||
"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/moby/moby/commit/abd39744c6f3ed854500e423f5fabf952165161f",
|
||||
"name": "Dockerfile",
|
||||
"scopeName": "source.dockerfile",
|
||||
"patterns": [
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.other.special-method.dockerfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.other.special-method.dockerfile"
|
||||
}
|
||||
},
|
||||
"match": "^\\s*\\b(?i:(FROM))\\b.*?\\b(?i:(AS))\\b"
|
||||
},
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.control.dockerfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.other.special-method.dockerfile"
|
||||
}
|
||||
},
|
||||
"match": "^\\s*(?i:(ONBUILD)\\s+)?(?i:(ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR))\\s"
|
||||
},
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.operator.dockerfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.other.special-method.dockerfile"
|
||||
}
|
||||
},
|
||||
"match": "^\\s*(?i:(ONBUILD)\\s+)?(?i:(CMD|ENTRYPOINT))\\s"
|
||||
},
|
||||
{
|
||||
"begin": "\"",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.string.begin.dockerfile"
|
||||
}
|
||||
},
|
||||
"end": "\"",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.string.end.dockerfile"
|
||||
}
|
||||
},
|
||||
"name": "string.quoted.double.dockerfile",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "\\\\.",
|
||||
"name": "constant.character.escaped.dockerfile"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "'",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.string.begin.dockerfile"
|
||||
}
|
||||
},
|
||||
"end": "'",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.string.end.dockerfile"
|
||||
}
|
||||
},
|
||||
"name": "string.quoted.single.dockerfile",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "\\\\.",
|
||||
"name": "constant.character.escaped.dockerfile"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.whitespace.comment.leading.dockerfile"
|
||||
},
|
||||
"2": {
|
||||
"name": "comment.line.number-sign.dockerfile"
|
||||
},
|
||||
"3": {
|
||||
"name": "punctuation.definition.comment.dockerfile"
|
||||
}
|
||||
},
|
||||
"comment": "comment.line",
|
||||
"match": "^(\\s*)((#).*$\\n?)"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "ionide/ionide-fsgrammar",
|
||||
"repositoryUrl": "https://github.com/ionide/ionide-fsgrammar",
|
||||
"commitHash": "fc4cac6d9bc1787f54ce48bbc77bcbb1de8160ff"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"description": "The file syntaxes/fsharp.json was included from https://github.com/ionide/ionide-fsgrammar/blob/master/grammar/fsharp.json.",
|
||||
"version": "0.0.0"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"comments": {
|
||||
"lineComment": "//",
|
||||
"blockComment": [ "(*", "*)" ]
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
{ "open": "{", "close": "}" },
|
||||
{ "open": "[", "close": "]" },
|
||||
{ "open": "(", "close": ")" },
|
||||
{ "open": "\"", "close": "\"", "notIn": ["string"] }
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"]
|
||||
],
|
||||
"folding": {
|
||||
"offSide": true,
|
||||
"markers": {
|
||||
"start": "^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)",
|
||||
"end": "^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"name": "fsharp",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": { "vscode": "*" },
|
||||
"scripts": {
|
||||
"update-grammar": "node ../../build/npm/update-grammar.js ionide/ionide-fsgrammar grammars/fsharp.json ./syntaxes/fsharp.tmLanguage.json"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [{
|
||||
"id": "fsharp",
|
||||
"extensions": [ ".fs", ".fsi", ".fsx", ".fsscript" ],
|
||||
"aliases": [ "F#", "FSharp", "fsharp" ],
|
||||
"configuration": "./language-configuration.json"
|
||||
}],
|
||||
"grammars": [{
|
||||
"language": "fsharp",
|
||||
"scopeName": "source.fsharp",
|
||||
"path": "./syntaxes/fsharp.tmLanguage.json"
|
||||
}],
|
||||
"snippets": [{
|
||||
"language": "fsharp",
|
||||
"path": "./snippets/fsharp.code-snippets"
|
||||
}]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "F# Language Basics",
|
||||
"description": "Provides snippets, syntax highlighting, bracket matching and folding in F# files."
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"Region Start": {
|
||||
"prefix": "#region",
|
||||
"body": [
|
||||
"//#region $0"
|
||||
],
|
||||
"description": "Folding Region Start"
|
||||
},
|
||||
"Region End": {
|
||||
"prefix": "#endregion",
|
||||
"body": [
|
||||
"//#endregion"
|
||||
],
|
||||
"description": "Folding Region End"
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,2 @@
|
|||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "better-go-syntax",
|
||||
"repositoryUrl": "https://github.com/jeff-hykin/better-go-syntax/ ",
|
||||
"commitHash": "54ff898316f8647d77ffcf83880a9556445326f1"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"description": "The file syntaxes/go.tmLanguage.json is from https://github.com/jeff-hykin/better-go-syntax/ .",
|
||||
"version": "1.0.0"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"comments": {
|
||||
"lineComment": "//",
|
||||
"blockComment": [ "/*", "*/" ]
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
{ "open": "`", "close": "`", "notIn": ["string"]},
|
||||
{ "open": "\"", "close": "\"", "notIn": ["string"]},
|
||||
{ "open": "'", "close": "'", "notIn": ["string", "comment"]}
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"],
|
||||
["`", "`"]
|
||||
],
|
||||
"indentationRules": {
|
||||
"increaseIndentPattern": "^.*(\\bcase\\b.*:|\\bdefault\\b:|(\\b(func|if|else|switch|select|for|struct)\\b.*)?{[^}\"'`]*|\\([^)\"'`]*)$",
|
||||
"decreaseIndentPattern": "^\\s*(\\bcase\\b.*:|\\bdefault\\b:|}[)}]*[),]?|\\)[,]?)$"
|
||||
},
|
||||
"folding": {
|
||||
"markers": {
|
||||
"start": "^\\s*//\\s*#?region\\b",
|
||||
"end": "^\\s*//\\s*#?endregion\\b"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"name": "go",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"vscode": "*"
|
||||
},
|
||||
"scripts": {
|
||||
"update-grammar": "node ../../build/npm/update-grammar.js jeff-hykin/better-go-syntax export/generated.tmLanguage.json ./syntaxes/go.tmLanguage.json"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [
|
||||
{
|
||||
"id": "go",
|
||||
"extensions": [
|
||||
".go"
|
||||
],
|
||||
"aliases": [
|
||||
"Go"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
}
|
||||
],
|
||||
"grammars": [
|
||||
{
|
||||
"language": "go",
|
||||
"scopeName": "source.go",
|
||||
"path": "./syntaxes/go.tmLanguage.json"
|
||||
}
|
||||
],
|
||||
"configurationDefaults": {
|
||||
"[go]": {
|
||||
"editor.insertSpaces": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "Go Language Basics",
|
||||
"description": "Provides syntax highlighting and bracket matching in Go files."
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,2 @@
|
|||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "textmate/groovy.tmbundle",
|
||||
"repositoryUrl": "https://github.com/textmate/groovy.tmbundle",
|
||||
"commitHash": "85d8f7c97ae473ccb9473f6c8d27e4ec957f4be1"
|
||||
}
|
||||
},
|
||||
"licenseDetail": [
|
||||
"Copyright (c) textmate-groovy.tmbundle project authors",
|
||||
"",
|
||||
"If not otherwise specified (see below), files in this repository fall under the following license:",
|
||||
"",
|
||||
"Permission to copy, use, modify, sell and distribute this",
|
||||
"software is granted. This software is provided \"as is\" without",
|
||||
"express or implied warranty, and with no claim as to its",
|
||||
"suitability for any purpose.",
|
||||
"",
|
||||
"An exception is made for files in readable text which contain their own license information,",
|
||||
"or files where an accompanying file exists (in the same directory) with a \"-license\" suffix added",
|
||||
"to the base-name name of the original file, and an extension of txt, html, or similar. For example",
|
||||
"\"tidy\" is accompanied by \"tidy-license.txt\"."
|
||||
],
|
||||
"license": "TextMate Bundle License",
|
||||
"version": "0.0.0"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"comments": {
|
||||
"lineComment": "//",
|
||||
"blockComment": [ "/*", "*/" ]
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
{ "open": "\"", "close": "\"", "notIn": ["string"] },
|
||||
{ "open": "'", "close": "'", "notIn": ["string"] }
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"]
|
||||
]
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"name": "groovy",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": { "vscode": "*" },
|
||||
"scripts": {
|
||||
"update-grammar": "node ../../build/npm/update-grammar.js textmate/groovy.tmbundle Syntaxes/Groovy.tmLanguage ./syntaxes/groovy.tmLanguage.json"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [{
|
||||
"id": "groovy",
|
||||
"aliases": ["Groovy", "groovy"],
|
||||
"extensions": [".groovy", ".gvy", ".gradle", ".jenkinsfile", ".nf"],
|
||||
"filenames": [ "Jenkinsfile" ],
|
||||
"filenamePatterns": ["Jenkinsfile.*"],
|
||||
"firstLine": "^#!.*\\bgroovy\\b",
|
||||
"configuration": "./language-configuration.json"
|
||||
}],
|
||||
"grammars": [{
|
||||
"language": "groovy",
|
||||
"scopeName": "source.groovy",
|
||||
"path": "./syntaxes/groovy.tmLanguage.json"
|
||||
}],
|
||||
"snippets": [{
|
||||
"language": "groovy",
|
||||
"path": "./snippets/groovy.code-snippets"
|
||||
}]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "Groovy Language Basics",
|
||||
"description": "Provides snippets, syntax highlighting and bracket matching in Groovy files."
|
||||
}
|
|
@ -0,0 +1,226 @@
|
|||
{
|
||||
"replace(dir: …, includes: …, token: …, value: …)": {
|
||||
"prefix": "replace",
|
||||
"body": "replace(dir:\"${1:dirName}\", includes:\"${2:*.*}\", token:\"${3:tokenName}\", value:\"\\${${4:value}}\")$0",
|
||||
"description": "Replace(...)"
|
||||
},
|
||||
"Doc Block": {
|
||||
"prefix": "doc",
|
||||
"body": [
|
||||
"/**",
|
||||
" * $0",
|
||||
" */"
|
||||
],
|
||||
"description": "Doc block comment"
|
||||
},
|
||||
"key: \"value\" (Hash Pair)": {
|
||||
"prefix": "key",
|
||||
"body": "${1:key}: ${2:\"${3:value}\"}"
|
||||
},
|
||||
"Thread.start { … }": {
|
||||
"prefix": "thread",
|
||||
"body": [
|
||||
"Thread.start {",
|
||||
"\t$0",
|
||||
"}"
|
||||
],
|
||||
"description": "Thread.start { ... }"
|
||||
},
|
||||
"Thread.startDaemon { … }": {
|
||||
"prefix": "thread",
|
||||
"body": [
|
||||
"Thread.startDaemon {",
|
||||
"\t$0",
|
||||
"}"
|
||||
],
|
||||
"description": "Thread.startDaemon { ... }"
|
||||
},
|
||||
"case … break": {
|
||||
"prefix": "case",
|
||||
"body": [
|
||||
"case ${1:CASE_NAME}:",
|
||||
"\t$2",
|
||||
"break$0"
|
||||
],
|
||||
"description": "case ... break"
|
||||
},
|
||||
"instance … (Singleton)": {
|
||||
"prefix": "instance",
|
||||
"body": [
|
||||
"private static $1 instance",
|
||||
"",
|
||||
"static $1 getInstance(${2:args}) { ",
|
||||
"\tif (!instance) instance = new $1(${2:args})",
|
||||
"\treturn instance",
|
||||
"}"
|
||||
],
|
||||
"description": "Singleton instance + Getter"
|
||||
},
|
||||
"class … extends GroovyTestCase { … }": {
|
||||
"prefix": "tc",
|
||||
"body": [
|
||||
"class $1 extends GroovyTestCase {",
|
||||
"",
|
||||
"\t$0",
|
||||
"}"
|
||||
],
|
||||
"description": "GroovyTestCase class"
|
||||
},
|
||||
"copy(file: …, tofile: …) ": {
|
||||
"prefix": "copy",
|
||||
"body": "copy(file:\"${1:sourceFile}\", tofile:\"${2:targetFile}\")",
|
||||
"description": "Copy file"
|
||||
},
|
||||
"copy(todir: …) { fileset(dir: …) { include … exclude }": {
|
||||
"prefix": "copy",
|
||||
"body": [
|
||||
"copy(todir:\"${1:targetDir}\") {",
|
||||
"\tfileset(dir:\"${2:sourceDir}\") {",
|
||||
"\t\tinclude(name:\"${3:includeName}\")",
|
||||
"\t\texclude(name:\"${4:excludeName}\")",
|
||||
"\t}",
|
||||
"}"
|
||||
],
|
||||
"description": "Copy fileset todir w/ include/exclude"
|
||||
},
|
||||
"copy(todir: …) { fileset:dir …) }": {
|
||||
"prefix": "copy",
|
||||
"body": [
|
||||
"copy(todir:\"${1:targetDir}\") {",
|
||||
"\tfileset(dir:\"${2:sourceDir}\")",
|
||||
"}"
|
||||
],
|
||||
"description": "Copy fileset todir"
|
||||
},
|
||||
"closure = { … } ": {
|
||||
"prefix": "cv",
|
||||
"body": [
|
||||
"def ${1:closureName} = { ${2:args} ->",
|
||||
"\t$0",
|
||||
"}"
|
||||
],
|
||||
"description": "Closure block"
|
||||
},
|
||||
"for(… in …) { … }": {
|
||||
"prefix": "forin",
|
||||
"body": [
|
||||
"for (${1:element} in ${2:collection}) {",
|
||||
"\t$0",
|
||||
"}"
|
||||
],
|
||||
"description": "For-loop"
|
||||
},
|
||||
"mkdir(dir: …)": {
|
||||
"prefix": "mkdir",
|
||||
"body": "mkdir(dir:\"${1:dirName}\")",
|
||||
"description": "mkdir"
|
||||
},
|
||||
"print": {
|
||||
"prefix": "p",
|
||||
"body": "print $0",
|
||||
"description": "print"
|
||||
},
|
||||
"println ": {
|
||||
"prefix": "pl",
|
||||
"body": "println $0",
|
||||
"description": "println"
|
||||
},
|
||||
"runAfter() { … }": {
|
||||
"prefix": "runa",
|
||||
"body": [
|
||||
"runAfter(${1:delay}) {",
|
||||
"\t$0",
|
||||
"}"
|
||||
],
|
||||
"description": "runAfter() { ... }"
|
||||
},
|
||||
"setUp() { … }": {
|
||||
"prefix": "setup",
|
||||
"body": [
|
||||
"void setUp() {",
|
||||
"\t$0",
|
||||
"}"
|
||||
],
|
||||
"description": "setup() { ... }"
|
||||
},
|
||||
"sleep(secs) { … // on interrupt do }": {
|
||||
"prefix": "sleep",
|
||||
"body": [
|
||||
"sleep(${1:secs}) {",
|
||||
"\t${2:// on interrupt do}",
|
||||
"}"
|
||||
],
|
||||
"description": "sleep with interrupt"
|
||||
},
|
||||
"sleep(secs)": {
|
||||
"prefix": "sleep",
|
||||
"body": "sleep(${1:secs})",
|
||||
"description": "sleep"
|
||||
},
|
||||
"sort { … }": {
|
||||
"prefix": "sort",
|
||||
"body": [
|
||||
"sort { ",
|
||||
"\t$0",
|
||||
"}"
|
||||
],
|
||||
"description": "sort"
|
||||
},
|
||||
"static main() { … }": {
|
||||
"prefix": "main",
|
||||
"body": [
|
||||
"static main(args) {",
|
||||
"\t$0",
|
||||
"}"
|
||||
],
|
||||
"description": "main method"
|
||||
},
|
||||
"switch … case": {
|
||||
"prefix": "switch",
|
||||
"body": [
|
||||
"switch(${1:value}) {",
|
||||
"\tcase ${2:CASE}:",
|
||||
"\t\t$3",
|
||||
"\tbreak$0",
|
||||
"}"
|
||||
],
|
||||
"description": "Switch-Case block"
|
||||
},
|
||||
"switch … case … default": {
|
||||
"prefix": "switch",
|
||||
"body": [
|
||||
"switch(${1:value}) {",
|
||||
"\tcase ${3:CASE}:",
|
||||
"\t\t$4",
|
||||
"\tbreak$0",
|
||||
"\tdefault:",
|
||||
"\t\t$2",
|
||||
"\tbreak",
|
||||
"}"
|
||||
],
|
||||
"description": "Switch-Case-Default block"
|
||||
},
|
||||
"tearDown() { … }": {
|
||||
"prefix": "tear",
|
||||
"body": [
|
||||
"void tearDown() {",
|
||||
"\t$0",
|
||||
"}"
|
||||
],
|
||||
"description": "tearDown() { ... }"
|
||||
},
|
||||
"test()": {
|
||||
"prefix": "t",
|
||||
"body": [
|
||||
"void test$1() {",
|
||||
"\t$0",
|
||||
"}"
|
||||
],
|
||||
"description": "test method"
|
||||
},
|
||||
"var": {
|
||||
"prefix": "v",
|
||||
"body": "${1:def} ${2:var}${3: = ${0:null}}",
|
||||
"description": "var"
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,2 @@
|
|||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "daaain/Handlebars",
|
||||
"repositoryUrl": "https://github.com/daaain/Handlebars",
|
||||
"commitHash": "85a153a6f759df4e8da7533e1b3651f007867c51"
|
||||
}
|
||||
},
|
||||
"licenseDetail": [
|
||||
"-- Credits",
|
||||
"",
|
||||
"Adapted from the great sublime-text-handlebars package by Nicholas Westlake.",
|
||||
"",
|
||||
"Thanks a lot to all the generous contributors (in alphabetical order): @bittersweetryan, @bradcliffe, @calumbrodie, @duncanbeevers, @hlvnst, @jonschlinkert, @Krutius, @samselikoff, @utkarshkukreti, @zeppelin",
|
||||
"",
|
||||
"-- License",
|
||||
"",
|
||||
"(The MIT License)",
|
||||
"",
|
||||
"Copyright (c) daaain/Handlebars project authors",
|
||||
"",
|
||||
"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:",
|
||||
"",
|
||||
"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.",
|
||||
"",
|
||||
"THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
|
||||
],
|
||||
"license": "MIT",
|
||||
"version": "1.8.0"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"comments": {
|
||||
"blockComment": [ "{{!--", "--}}" ]
|
||||
},
|
||||
"brackets": [
|
||||
["<!--", "-->"],
|
||||
["<", ">"],
|
||||
["{{", "}}"],
|
||||
["{{{", "}}}"],
|
||||
["{", "}"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
{ "open": "{", "close": "}"},
|
||||
{ "open": "[", "close": "]"},
|
||||
{ "open": "(", "close": ")" },
|
||||
{ "open": "'", "close": "'" },
|
||||
{ "open": "\"", "close": "\"" }
|
||||
],
|
||||
"surroundingPairs": [
|
||||
{ "open": "'", "close": "'" },
|
||||
{ "open": "\"", "close": "\"" },
|
||||
{ "open": "<", "close": ">" },
|
||||
{ "open": "{", "close": "}" }
|
||||
]
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"name": "handlebars",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"vscode": "0.10.x"
|
||||
},
|
||||
"scripts": {
|
||||
"update-grammar": "node ../../build/npm/update-grammar.js daaain/Handlebars grammars/Handlebars.json ./syntaxes/Handlebars.tmLanguage.json"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [{
|
||||
"id": "handlebars",
|
||||
"extensions": [ ".handlebars", ".hbs", ".hjs" ],
|
||||
"aliases": [ "Handlebars", "handlebars" ],
|
||||
"mimetypes": ["text/x-handlebars-template"],
|
||||
"configuration": "./language-configuration.json"
|
||||
}],
|
||||
"grammars": [{
|
||||
"language": "handlebars",
|
||||
"scopeName": "text.html.handlebars",
|
||||
"path": "./syntaxes/Handlebars.tmLanguage.json"
|
||||
}]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "Handlebars Language Basics",
|
||||
"description": "Provides syntax highlighting and bracket matching in Handlebars files."
|
||||
}
|
|
@ -0,0 +1,852 @@
|
|||
{
|
||||
"information_for_contributors": [
|
||||
"This file has been converted from https://github.com/daaain/Handlebars/blob/master/grammars/Handlebars.json",
|
||||
"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/daaain/Handlebars/commit/85a153a6f759df4e8da7533e1b3651f007867c51",
|
||||
"name": "Handlebars",
|
||||
"scopeName": "text.html.handlebars",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#yfm"
|
||||
},
|
||||
{
|
||||
"include": "#extends"
|
||||
},
|
||||
{
|
||||
"include": "#block_comments"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
},
|
||||
{
|
||||
"include": "#block_helper"
|
||||
},
|
||||
{
|
||||
"include": "#end_block"
|
||||
},
|
||||
{
|
||||
"include": "#else_token"
|
||||
},
|
||||
{
|
||||
"include": "#partial_and_var"
|
||||
},
|
||||
{
|
||||
"include": "#inline_script"
|
||||
},
|
||||
{
|
||||
"include": "#html_tags"
|
||||
},
|
||||
{
|
||||
"include": "text.html.basic"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"html_tags": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "(<)([a-zA-Z0-9:-]+)(?=[^>]*></\\2>)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.html"
|
||||
}
|
||||
},
|
||||
"end": "(>(<)/)(\\2)(>)",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "meta.scope.between-tag-pair.html"
|
||||
},
|
||||
"3": {
|
||||
"name": "entity.name.tag.html"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
}
|
||||
},
|
||||
"name": "meta.tag.any.html",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#tag-stuff"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(<\\?)(xml)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.xml.html"
|
||||
}
|
||||
},
|
||||
"end": "(\\?>)",
|
||||
"name": "meta.tag.preprocessor.xml.html",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#tag_generic_attribute"
|
||||
},
|
||||
{
|
||||
"include": "#string"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "<!--",
|
||||
"captures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.comment.html"
|
||||
}
|
||||
},
|
||||
"end": "--\\s*>",
|
||||
"name": "comment.block.html",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "--",
|
||||
"name": "invalid.illegal.bad-comments-or-CDATA.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "<!",
|
||||
"captures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
}
|
||||
},
|
||||
"end": ">",
|
||||
"name": "meta.tag.sgml.html",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "(DOCTYPE|doctype)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "entity.name.tag.doctype.html"
|
||||
}
|
||||
},
|
||||
"end": "(?=>)",
|
||||
"name": "meta.tag.sgml.doctype.html",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "\"[^\">]*\"",
|
||||
"name": "string.quoted.double.doctype.identifiers-and-DTDs.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "\\[CDATA\\[",
|
||||
"end": "]](?=>)",
|
||||
"name": "constant.other.inline-data.html"
|
||||
},
|
||||
{
|
||||
"match": "(\\s*)(?!--|>)\\S(\\s*)",
|
||||
"name": "invalid.illegal.bad-comments-or-CDATA.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(?:^\\s+)?(<)((?i:style))\\b(?![^>]*/>)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.style.html"
|
||||
},
|
||||
"3": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
}
|
||||
},
|
||||
"end": "(</)((?i:style))(>)(?:\\s*\\n)?",
|
||||
"name": "source.css.embedded.html",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#tag-stuff"
|
||||
},
|
||||
{
|
||||
"begin": "(>)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
}
|
||||
},
|
||||
"end": "(?=</(?i:style))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "source.css"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(?:^\\s+)?(<)((?i:script))\\b(?![^>]*/>)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.script.html"
|
||||
}
|
||||
},
|
||||
"end": "(?<=</(script|SCRIPT))(>)(?:\\s*\\n)?",
|
||||
"endCaptures": {
|
||||
"2": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
}
|
||||
},
|
||||
"name": "source.js.embedded.html",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#tag-stuff"
|
||||
},
|
||||
{
|
||||
"begin": "(?<!</(?:script|SCRIPT))(>)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.script.html"
|
||||
}
|
||||
},
|
||||
"end": "(</)((?i:script))",
|
||||
"patterns": [
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.js"
|
||||
}
|
||||
},
|
||||
"match": "(//).*?((?=</script)|$\\n?)",
|
||||
"name": "comment.line.double-slash.js"
|
||||
},
|
||||
{
|
||||
"begin": "/\\*",
|
||||
"captures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.comment.js"
|
||||
}
|
||||
},
|
||||
"end": "\\*/|(?=</script)",
|
||||
"name": "comment.block.js"
|
||||
},
|
||||
{
|
||||
"include": "source.js"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(</?)((?i:body|head|html)\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.structure.any.html"
|
||||
}
|
||||
},
|
||||
"end": "(>)",
|
||||
"name": "meta.tag.structure.any.html",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#tag-stuff"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(</?)((?i:address|blockquote|dd|div|header|section|footer|aside|nav|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.block.any.html"
|
||||
}
|
||||
},
|
||||
"end": "(>)",
|
||||
"name": "meta.tag.block.any.html",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#tag-stuff"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.inline.any.html"
|
||||
}
|
||||
},
|
||||
"end": "((?: ?/)?>)",
|
||||
"name": "meta.tag.inline.any.html",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#tag-stuff"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(</?)([a-zA-Z0-9:-]+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.other.html"
|
||||
}
|
||||
},
|
||||
"end": "(>)",
|
||||
"name": "meta.tag.other.html",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#tag-stuff"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(</?)([a-zA-Z0-9{}:-]+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.tokenised.html"
|
||||
}
|
||||
},
|
||||
"end": "(>)",
|
||||
"name": "meta.tag.tokenised.html",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#tag-stuff"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"include": "#entities"
|
||||
},
|
||||
{
|
||||
"match": "<>",
|
||||
"name": "invalid.illegal.incomplete.html"
|
||||
},
|
||||
{
|
||||
"match": "<",
|
||||
"name": "invalid.illegal.bad-angle-bracket.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
"entities": {
|
||||
"patterns": [
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.entity.html"
|
||||
},
|
||||
"3": {
|
||||
"name": "punctuation.definition.entity.html"
|
||||
}
|
||||
},
|
||||
"name": "constant.character.entity.html",
|
||||
"match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)"
|
||||
},
|
||||
{
|
||||
"name": "invalid.illegal.bad-ampersand.html",
|
||||
"match": "&"
|
||||
}
|
||||
]
|
||||
},
|
||||
"end_block": {
|
||||
"begin": "(\\{\\{)(~?/)([a-zA-Z0-9/_\\.-]+)\\s*",
|
||||
"end": "(~?\\}\\})",
|
||||
"name": "meta.function.block.end.handlebars",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "support.constant.handlebars"
|
||||
}
|
||||
},
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "support.constant.handlebars"
|
||||
},
|
||||
"2": {
|
||||
"name": "support.constant.handlebars keyword.control"
|
||||
},
|
||||
"3": {
|
||||
"name": "support.constant.handlebars keyword.control"
|
||||
}
|
||||
},
|
||||
"patterns": []
|
||||
},
|
||||
"yfm": {
|
||||
"patterns": [
|
||||
{
|
||||
"patterns": [
|
||||
{
|
||||
"include": "source.yaml"
|
||||
}
|
||||
],
|
||||
"begin": "(?<!\\s)---\\n$",
|
||||
"end": "^---\\s",
|
||||
"name": "markup.raw.yaml.front-matter"
|
||||
}
|
||||
]
|
||||
},
|
||||
"comments": {
|
||||
"patterns": [
|
||||
{
|
||||
"patterns": [
|
||||
{
|
||||
"name": "keyword.annotation.handlebars",
|
||||
"match": "@\\w*"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
}
|
||||
],
|
||||
"begin": "\\{\\{!",
|
||||
"end": "\\}\\}",
|
||||
"name": "comment.block.handlebars"
|
||||
},
|
||||
{
|
||||
"captures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.comment.html"
|
||||
}
|
||||
},
|
||||
"begin": "<!--",
|
||||
"end": "-{2,3}\\s*>",
|
||||
"name": "comment.block.html",
|
||||
"patterns": [
|
||||
{
|
||||
"name": "invalid.illegal.bad-comments-or-CDATA.html",
|
||||
"match": "--"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"block_comments": {
|
||||
"patterns": [
|
||||
{
|
||||
"patterns": [
|
||||
{
|
||||
"name": "keyword.annotation.handlebars",
|
||||
"match": "@\\w*"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
}
|
||||
],
|
||||
"begin": "\\{\\{!--",
|
||||
"end": "--\\}\\}",
|
||||
"name": "comment.block.handlebars"
|
||||
},
|
||||
{
|
||||
"captures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.comment.html"
|
||||
}
|
||||
},
|
||||
"begin": "<!--",
|
||||
"end": "-{2,3}\\s*>",
|
||||
"name": "comment.block.html",
|
||||
"patterns": [
|
||||
{
|
||||
"name": "invalid.illegal.bad-comments-or-CDATA.html",
|
||||
"match": "--"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"block_helper": {
|
||||
"begin": "(\\{\\{)(~?\\#)([-a-zA-Z0-9_\\./>]+)\\s?(@?[-a-zA-Z0-9_\\./]+)*\\s?(@?[-a-zA-Z0-9_\\./]+)*\\s?(@?[-a-zA-Z0-9_\\./]+)*",
|
||||
"end": "(~?\\}\\})",
|
||||
"name": "meta.function.block.start.handlebars",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "support.constant.handlebars"
|
||||
}
|
||||
},
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "support.constant.handlebars"
|
||||
},
|
||||
"2": {
|
||||
"name": "support.constant.handlebars keyword.control"
|
||||
},
|
||||
"3": {
|
||||
"name": "support.constant.handlebars keyword.control"
|
||||
},
|
||||
"4": {
|
||||
"name": "variable.parameter.handlebars"
|
||||
},
|
||||
"5": {
|
||||
"name": "support.constant.handlebars"
|
||||
},
|
||||
"6": {
|
||||
"name": "variable.parameter.handlebars"
|
||||
},
|
||||
"7": {
|
||||
"name": "support.constant.handlebars"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#string"
|
||||
},
|
||||
{
|
||||
"include": "#handlebars_attribute"
|
||||
}
|
||||
]
|
||||
},
|
||||
"string-single-quoted": {
|
||||
"begin": "'",
|
||||
"end": "'",
|
||||
"name": "string.quoted.single.handlebars",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.html"
|
||||
}
|
||||
},
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.begin.html"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#escaped-single-quote"
|
||||
},
|
||||
{
|
||||
"include": "#block_comments"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
},
|
||||
{
|
||||
"include": "#block_helper"
|
||||
},
|
||||
{
|
||||
"include": "#else_token"
|
||||
},
|
||||
{
|
||||
"include": "#end_block"
|
||||
},
|
||||
{
|
||||
"include": "#partial_and_var"
|
||||
}
|
||||
]
|
||||
},
|
||||
"string": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#string-single-quoted"
|
||||
},
|
||||
{
|
||||
"include": "#string-double-quoted"
|
||||
}
|
||||
]
|
||||
},
|
||||
"escaped-single-quote": {
|
||||
"name": "constant.character.escape.js",
|
||||
"match": "\\\\'"
|
||||
},
|
||||
"escaped-double-quote": {
|
||||
"name": "constant.character.escape.js",
|
||||
"match": "\\\\\""
|
||||
},
|
||||
"partial_and_var": {
|
||||
"begin": "(\\{\\{~?\\{*(>|!<)*)\\s*(@?[-a-zA-Z0-9$_\\./]+)*",
|
||||
"end": "(~?\\}\\}\\}*)",
|
||||
"name": "meta.function.inline.other.handlebars",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "support.constant.handlebars"
|
||||
},
|
||||
"3": {
|
||||
"name": "variable.parameter.handlebars"
|
||||
}
|
||||
},
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "support.constant.handlebars"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#string"
|
||||
},
|
||||
{
|
||||
"include": "#handlebars_attribute"
|
||||
}
|
||||
]
|
||||
},
|
||||
"handlebars_attribute_name": {
|
||||
"begin": "\\b([-a-zA-Z0-9_\\.]+)\\b=",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "variable.parameter.handlebars"
|
||||
}
|
||||
},
|
||||
"end": "(?='|\"|)",
|
||||
"name": "entity.other.attribute-name.handlebars"
|
||||
},
|
||||
"handlebars_attribute_value": {
|
||||
"begin": "([-a-zA-Z0-9_\\./]+)\\b",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "variable.parameter.handlebars"
|
||||
}
|
||||
},
|
||||
"end": "('|\"|)",
|
||||
"name": "entity.other.attribute-value.handlebars",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"handlebars_attribute": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#handlebars_attribute_name"
|
||||
},
|
||||
{
|
||||
"include": "#handlebars_attribute_value"
|
||||
}
|
||||
]
|
||||
},
|
||||
"extends": {
|
||||
"patterns": [
|
||||
{
|
||||
"end": "(\\}\\})",
|
||||
"begin": "(\\{\\{!<)\\s([-a-zA-Z0-9_\\./]+)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "support.function.handlebars"
|
||||
},
|
||||
"2": {
|
||||
"name": "support.class.handlebars"
|
||||
}
|
||||
},
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "support.function.handlebars"
|
||||
}
|
||||
},
|
||||
"name": "meta.preprocessor.handlebars"
|
||||
}
|
||||
]
|
||||
},
|
||||
"else_token": {
|
||||
"begin": "(\\{\\{)(~?else)(@?\\s(if)\\s([-a-zA-Z0-9_\\.\\(\\s\\)/]+))?",
|
||||
"end": "(~?\\}\\}\\}*)",
|
||||
"name": "meta.function.inline.else.handlebars",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "support.constant.handlebars"
|
||||
},
|
||||
"2": {
|
||||
"name": "support.constant.handlebars keyword.control"
|
||||
},
|
||||
"3": {
|
||||
"name": "support.constant.handlebars"
|
||||
},
|
||||
"4": {
|
||||
"name": "variable.parameter.handlebars"
|
||||
}
|
||||
},
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "support.constant.handlebars"
|
||||
}
|
||||
}
|
||||
},
|
||||
"string-double-quoted": {
|
||||
"begin": "\"",
|
||||
"end": "\"",
|
||||
"name": "string.quoted.double.handlebars",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.begin.html"
|
||||
}
|
||||
},
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.html"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#escaped-double-quote"
|
||||
},
|
||||
{
|
||||
"include": "#block_comments"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
},
|
||||
{
|
||||
"include": "#block_helper"
|
||||
},
|
||||
{
|
||||
"include": "#else_token"
|
||||
},
|
||||
{
|
||||
"include": "#end_block"
|
||||
},
|
||||
{
|
||||
"include": "#partial_and_var"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inline_script": {
|
||||
"begin": "(?:^\\s+)?(<)((?i:script))\\b(?:.*(type)=([\"'](?:text/x-handlebars-template|text/x-handlebars|text/template|x-tmpl-handlebars)[\"']))(?![^>]*/>)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.script.html"
|
||||
},
|
||||
"3": {
|
||||
"name": "entity.other.attribute-name.html"
|
||||
},
|
||||
"4": {
|
||||
"name": "string.quoted.double.html"
|
||||
}
|
||||
},
|
||||
"end": "(?<=</(script|SCRIPT))(>)(?:\\s*\\n)?",
|
||||
"endCaptures": {
|
||||
"2": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
}
|
||||
},
|
||||
"name": "source.handlebars.embedded.html",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#tag-stuff"
|
||||
},
|
||||
{
|
||||
"begin": "(?<!</(?:script|SCRIPT))(>)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.script.html"
|
||||
}
|
||||
},
|
||||
"end": "(</)((?i:script))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#block_comments"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
},
|
||||
{
|
||||
"include": "#block_helper"
|
||||
},
|
||||
{
|
||||
"include": "#end_block"
|
||||
},
|
||||
{
|
||||
"include": "#else_token"
|
||||
},
|
||||
{
|
||||
"include": "#partial_and_var"
|
||||
},
|
||||
{
|
||||
"include": "#html_tags"
|
||||
},
|
||||
{
|
||||
"include": "text.html.basic"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tag_generic_attribute": {
|
||||
"begin": "\\b([a-zA-Z0-9_-]+)\\b\\s*(=)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "entity.other.attribute-name.generic.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.separator.key-value.html"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#string"
|
||||
}
|
||||
],
|
||||
"name": "entity.other.attribute-name.html",
|
||||
"end": "(?<='|\"|)"
|
||||
},
|
||||
"tag_id_attribute": {
|
||||
"begin": "\\b(id)\\b\\s*(=)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "entity.other.attribute-name.id.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.separator.key-value.html"
|
||||
}
|
||||
},
|
||||
"end": "(?<='|\"|)",
|
||||
"name": "meta.attribute-with-value.id.html",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"tag-stuff": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#tag_id_attribute"
|
||||
},
|
||||
{
|
||||
"include": "#tag_generic_attribute"
|
||||
},
|
||||
{
|
||||
"include": "#string"
|
||||
},
|
||||
{
|
||||
"include": "#block_comments"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
},
|
||||
{
|
||||
"include": "#block_helper"
|
||||
},
|
||||
{
|
||||
"include": "#end_block"
|
||||
},
|
||||
{
|
||||
"include": "#else_token"
|
||||
},
|
||||
{
|
||||
"include": "#partial_and_var"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "shaders-tmLanguage",
|
||||
"repositoryUrl": "https://github.com/tgjones/shaders-tmLanguage",
|
||||
"commitHash": "87c0dca3a39170dbd7ee7e277db4f915fb2de14a"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"version": "0.1.0"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"comments": {
|
||||
"lineComment": "//",
|
||||
"blockComment": [ "/*", "*/" ]
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""]
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""]
|
||||
]
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"name": "hlsl",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": { "vscode": "*" },
|
||||
"scripts": {
|
||||
"update-grammar": "node ../../build/npm/update-grammar.js tgjones/shaders-tmLanguage grammars/hlsl.json ./syntaxes/hlsl.tmLanguage.json"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [{
|
||||
"id": "hlsl",
|
||||
"extensions": [".hlsl",".hlsli",".fx",".fxh",".vsh",".psh",".cginc",".compute"],
|
||||
"aliases": ["HLSL", "hlsl"],
|
||||
"configuration": "./language-configuration.json"
|
||||
}],
|
||||
"grammars": [{
|
||||
"language": "hlsl",
|
||||
"path": "./syntaxes/hlsl.tmLanguage.json",
|
||||
"scopeName":"source.hlsl"
|
||||
}]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "HLSL Language Basics",
|
||||
"description": "Provides syntax highlighting and bracket matching in HLSL files."
|
||||
}
|
|
@ -0,0 +1,217 @@
|
|||
{
|
||||
"information_for_contributors": [
|
||||
"This file has been converted from https://github.com/tgjones/shaders-tmLanguage/blob/master/grammars/hlsl.json",
|
||||
"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/tgjones/shaders-tmLanguage/commit/87c0dca3a39170dbd7ee7e277db4f915fb2de14a",
|
||||
"name": "HLSL",
|
||||
"scopeName": "source.hlsl",
|
||||
"patterns": [
|
||||
{
|
||||
"name": "comment.line.block.hlsl",
|
||||
"begin": "/\\*",
|
||||
"end": "\\*/"
|
||||
},
|
||||
{
|
||||
"name": "comment.line.double-slash.hlsl",
|
||||
"begin": "//",
|
||||
"end": "$"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.decimal.hlsl",
|
||||
"match": "\\b[0-9]+\\.[0-9]*(F|f)?\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.decimal.hlsl",
|
||||
"match": "(\\.([0-9]+)(F|f)?)\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.decimal.hlsl",
|
||||
"match": "\\b([0-9]+(F|f)?)\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.hex.hlsl",
|
||||
"match": "\\b(0(x|X)[0-9a-fA-F]+)\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.language.hlsl",
|
||||
"match": "\\b(false|true)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.preprocessor.hlsl",
|
||||
"match": "^\\s*#\\s*(define|elif|else|endif|ifdef|ifndef|if|undef|include|line|error|pragma)"
|
||||
},
|
||||
{
|
||||
"name": "keyword.control.hlsl",
|
||||
"match": "\\b(break|case|continue|default|discard|do|else|for|if|return|switch|while)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.control.fx.hlsl",
|
||||
"match": "\\b(compile)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.typealias.hlsl",
|
||||
"match": "\\b(typedef)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.type.basic.hlsl",
|
||||
"match": "\\b(bool([1-4](x[1-4])?)?|double([1-4](x[1-4])?)?|dword|float([1-4](x[1-4])?)?|half([1-4](x[1-4])?)?|int([1-4](x[1-4])?)?|matrix|min10float([1-4](x[1-4])?)?|min12int([1-4](x[1-4])?)?|min16float([1-4](x[1-4])?)?|min16int([1-4](x[1-4])?)?|min16uint([1-4](x[1-4])?)?|unsigned|uint([1-4](x[1-4])?)?|vector|void)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.function.hlsl",
|
||||
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)(?=[\\s]*\\()"
|
||||
},
|
||||
{
|
||||
"name": "support.variable.semantic.hlsl",
|
||||
"match": "(?<=\\:\\s|\\:)(?i:BINORMAL[0-9]*|BLENDINDICES[0-9]*|BLENDWEIGHT[0-9]*|COLOR[0-9]*|NORMAL[0-9]*|POSITIONT|POSITION|PSIZE[0-9]*|TANGENT[0-9]*|TEXCOORD[0-9]*|FOG|TESSFACTOR[0-9]*|VFACE|VPOS|DEPTH[0-9]*)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.variable.semantic.sm4.hlsl",
|
||||
"match": "(?<=\\:\\s|\\:)(?i:SV_ClipDistance[0-9]*|SV_CullDistance[0-9]*|SV_Coverage|SV_Depth|SV_DepthGreaterEqual[0-9]*|SV_DepthLessEqual[0-9]*|SV_InstanceID|SV_IsFrontFace|SV_Position|SV_RenderTargetArrayIndex|SV_SampleIndex|SV_StencilRef|SV_Target[0-7]?|SV_VertexID|SV_ViewportArrayIndex)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.variable.semantic.sm5.hlsl",
|
||||
"match": "(?<=\\:\\s|\\:)(?i:SV_DispatchThreadID|SV_DomainLocation|SV_GroupID|SV_GroupIndex|SV_GroupThreadID|SV_GSInstanceID|SV_InsideTessFactor|SV_OutputControlPointID|SV_TessFactor)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.variable.semantic.sm5_1.hlsl",
|
||||
"match": "(?<=\\:\\s|\\:)(?i:SV_InnerCoverage|SV_StencilRef)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.modifier.hlsl",
|
||||
"match": "\\b(column_major|const|export|extern|globallycoherent|groupshared|inline|inout|in|out|precise|row_major|shared|static|uniform|volatile)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.modifier.float.hlsl",
|
||||
"match": "\\b(snorm|unorm)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.modifier.postfix.hlsl",
|
||||
"match": "\\b(packoffset|register)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.modifier.interpolation.hlsl",
|
||||
"match": "\\b(centroid|linear|nointerpolation|noperspective|sample)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.modifier.geometryshader.hlsl",
|
||||
"match": "\\b(lineadj|line|point|triangle|triangleadj)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.type.other.hlsl",
|
||||
"match": "\\b(string)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.type.object.hlsl",
|
||||
"match": "\\b(AppendStructuredBuffer|Buffer|ByteAddressBuffer|ConstantBuffer|ConsumeStructuredBuffer|InputPatch|OutputPatch)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.type.object.rasterizerordered.hlsl",
|
||||
"match": "\\b(RasterizerOrderedBuffer|RasterizerOrderedByteAddressBuffer|RasterizerOrderedStructuredBuffer|RasterizerOrderedTexture1D|RasterizerOrderedTexture1DArray|RasterizerOrderedTexture2D|RasterizerOrderedTexture2DArray|RasterizerOrderedTexture3D)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.type.object.rw.hlsl",
|
||||
"match": "\\b(RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture1D|RWTexture1DArray|RWTexture2D|RWTexture2DArray|RWTexture3D)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.type.object.geometryshader.hlsl",
|
||||
"match": "\\b(LineStream|PointStream|TriangleStream)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.type.sampler.legacy.hlsl",
|
||||
"match": "\\b(sampler|sampler1D|sampler2D|sampler3D|samplerCUBE|sampler_state)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.type.sampler.hlsl",
|
||||
"match": "\\b(SamplerState|SamplerComparisonState)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.type.texture.legacy.hlsl",
|
||||
"match": "\\b(texture2D|textureCUBE)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.type.texture.hlsl",
|
||||
"match": "\\b(Texture1D|Texture1DArray|Texture2D|Texture2DArray|Texture2DMS|Texture2DMSArray|Texture3D|TextureCube|TextureCubeArray)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.type.structured.hlsl",
|
||||
"match": "\\b(cbuffer|class|interface|namespace|struct|tbuffer)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.constant.property-value.fx.hlsl",
|
||||
"match": "\\b(FALSE|TRUE|NULL)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.type.fx.hlsl",
|
||||
"match": "\\b(BlendState|DepthStencilState|RasterizerState)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.type.fx.technique.hlsl",
|
||||
"match": "\\b(technique|Technique|technique10|technique11|pass)\\b"
|
||||
},
|
||||
{
|
||||
"name": "meta.object-literal.key.fx.blendstate.hlsl",
|
||||
"match": "\\b(AlphaToCoverageEnable|BlendEnable|SrcBlend|DestBlend|BlendOp|SrcBlendAlpha|DestBlendAlpha|BlendOpAlpha|RenderTargetWriteMask)\\b"
|
||||
},
|
||||
{
|
||||
"name": "meta.object-literal.key.fx.depthstencilstate.hlsl",
|
||||
"match": "\\b(DepthEnable|DepthWriteMask|DepthFunc|StencilEnable|StencilReadMask|StencilWriteMask|FrontFaceStencilFail|FrontFaceStencilZFail|FrontFaceStencilPass|FrontFaceStencilFunc|BackFaceStencilFail|BackFaceStencilZFail|BackFaceStencilPass|BackFaceStencilFunc)\\b"
|
||||
},
|
||||
{
|
||||
"name": "meta.object-literal.key.fx.rasterizerstate.hlsl",
|
||||
"match": "\\b(FillMode|CullMode|FrontCounterClockwise|DepthBias|DepthBiasClamp|SlopeScaleDepthBias|ZClipEnable|ScissorEnable|MultiSampleEnable|AntiAliasedLineEnable)\\b"
|
||||
},
|
||||
{
|
||||
"name": "meta.object-literal.key.fx.samplerstate.hlsl",
|
||||
"match": "\\b(Filter|AddressU|AddressV|AddressW|MipLODBias|MaxAnisotropy|ComparisonFunc|BorderColor|MinLOD|MaxLOD)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.constant.property-value.fx.blend.hlsl",
|
||||
"match": "\\b(?i:ZERO|ONE|SRC_COLOR|INV_SRC_COLOR|SRC_ALPHA|INV_SRC_ALPHA|DEST_ALPHA|INV_DEST_ALPHA|DEST_COLOR|INV_DEST_COLOR|SRC_ALPHA_SAT|BLEND_FACTOR|INV_BLEND_FACTOR|SRC1_COLOR|INV_SRC1_COLOR|SRC1_ALPHA|INV_SRC1_ALPHA)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.constant.property-value.fx.blendop.hlsl",
|
||||
"match": "\\b(?i:ADD|SUBTRACT|REV_SUBTRACT|MIN|MAX)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.constant.property-value.fx.depthwritemask.hlsl",
|
||||
"match": "\\b(?i:ALL)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.constant.property-value.fx.comparisonfunc.hlsl",
|
||||
"match": "\\b(?i:NEVER|LESS|EQUAL|LESS_EQUAL|GREATER|NOT_EQUAL|GREATER_EQUAL|ALWAYS)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.constant.property-value.fx.stencilop.hlsl",
|
||||
"match": "\\b(?i:KEEP|REPLACE|INCR_SAT|DECR_SAT|INVERT|INCR|DECR)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.constant.property-value.fx.fillmode.hlsl",
|
||||
"match": "\\b(?i:WIREFRAME|SOLID)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.constant.property-value.fx.cullmode.hlsl",
|
||||
"match": "\\b(?i:NONE|FRONT|BACK)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.constant.property-value.fx.filter.hlsl",
|
||||
"match": "\\b(?i:MIN_MAG_MIP_POINT|MIN_MAG_POINT_MIP_LINEAR|MIN_POINT_MAG_LINEAR_MIP_POINT|MIN_POINT_MAG_MIP_LINEAR|MIN_LINEAR_MAG_MIP_POINT|MIN_LINEAR_MAG_POINT_MIP_LINEAR|MIN_MAG_LINEAR_MIP_POINT|MIN_MAG_MIP_LINEAR|ANISOTROPIC|COMPARISON_MIN_MAG_MIP_POINT|COMPARISON_MIN_MAG_POINT_MIP_LINEAR|COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT|COMPARISON_MIN_POINT_MAG_MIP_LINEAR|COMPARISON_MIN_LINEAR_MAG_MIP_POINT|COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR|COMPARISON_MIN_MAG_LINEAR_MIP_POINT|COMPARISON_MIN_MAG_MIP_LINEAR|COMPARISON_ANISOTROPIC|TEXT_1BIT)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.constant.property-value.fx.textureaddressmode.hlsl",
|
||||
"match": "\\b(?i:WRAP|MIRROR|CLAMP|BORDER|MIRROR_ONCE)\\b"
|
||||
},
|
||||
{
|
||||
"name": "string.quoted.double.hlsl",
|
||||
"begin": "\"",
|
||||
"end": "\"",
|
||||
"patterns": [
|
||||
{
|
||||
"name": "constant.character.escape.hlsl",
|
||||
"match": "\\\\."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,44 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// @ts-check
|
||||
'use strict';
|
||||
|
||||
var updateGrammar = require('../../../build/npm/update-grammar');
|
||||
|
||||
function patchGrammar(grammar) {
|
||||
let patchCount = 0;
|
||||
|
||||
let visit = function (rule, parent) {
|
||||
if (rule.name === 'source.js' || rule.name === 'source.css') {
|
||||
if (parent.parent && parent.parent.property === 'endCaptures') {
|
||||
rule.name = rule.name + '-ignored-vscode';
|
||||
patchCount++;
|
||||
}
|
||||
}
|
||||
for (let property in rule) {
|
||||
let value = rule[property];
|
||||
if (typeof value === 'object') {
|
||||
visit(value, { node: rule, property: property, parent: parent });
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
let repository = grammar.repository;
|
||||
for (let key in repository) {
|
||||
visit(repository[key], { node: repository, property: key, parent: undefined });
|
||||
}
|
||||
if (patchCount !== 6) {
|
||||
console.warn(`Expected to patch 6 occurrences of source.js & source.css: Was ${patchCount}`);
|
||||
}
|
||||
|
||||
|
||||
return grammar;
|
||||
}
|
||||
|
||||
const tsGrammarRepo = 'textmate/html.tmbundle';
|
||||
const grammarPath = 'Syntaxes/HTML.plist';
|
||||
updateGrammar.update(tsGrammarRepo, grammarPath, './syntaxes/html.tmLanguage.json', grammar => patchGrammar(grammar));
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "textmate/html.tmbundle",
|
||||
"repositoryUrl": "https://github.com/textmate/html.tmbundle",
|
||||
"commitHash": "0c3d5ee54de3a993f747f54186b73a4d2d3c44a2"
|
||||
}
|
||||
},
|
||||
"licenseDetail": [
|
||||
"Copyright (c) textmate-html.tmbundle project authors",
|
||||
"",
|
||||
"If not otherwise specified (see below), files in this repository fall under the following license:",
|
||||
"",
|
||||
"Permission to copy, use, modify, sell and distribute this",
|
||||
"software is granted. This software is provided \"as is\" without",
|
||||
"express or implied warranty, and with no claim as to its",
|
||||
"suitability for any purpose.",
|
||||
"",
|
||||
"An exception is made for files in readable text which contain their own license information,",
|
||||
"or files where an accompanying file exists (in the same directory) with a \"-license\" suffix added",
|
||||
"to the base-name name of the original file, and an extension of txt, html, or similar. For example",
|
||||
"\"tidy\" is accompanied by \"tidy-license.txt\"."
|
||||
],
|
||||
"license": "TextMate Bundle License",
|
||||
"version": "0.0.0"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"comments": {
|
||||
"blockComment": [ "<!--", "-->" ]
|
||||
},
|
||||
"brackets": [
|
||||
["<!--", "-->"],
|
||||
["<", ">"],
|
||||
["{", "}"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
{ "open": "{", "close": "}"},
|
||||
{ "open": "[", "close": "]"},
|
||||
{ "open": "(", "close": ")" },
|
||||
{ "open": "'", "close": "'" },
|
||||
{ "open": "\"", "close": "\"" },
|
||||
{ "open": "<!--", "close": "-->", "notIn": [ "comment", "string" ]}
|
||||
],
|
||||
"surroundingPairs": [
|
||||
{ "open": "'", "close": "'" },
|
||||
{ "open": "\"", "close": "\"" },
|
||||
{ "open": "{", "close": "}"},
|
||||
{ "open": "[", "close": "]"},
|
||||
{ "open": "(", "close": ")" },
|
||||
{ "open": "<", "close": ">" }
|
||||
],
|
||||
"folding": {
|
||||
"markers": {
|
||||
"start": "^\\s*<!--\\s*#region\\b.*-->",
|
||||
"end": "^\\s*<!--\\s*#endregion\\b.*-->"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
{
|
||||
"name": "html",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"vscode": "0.10.x"
|
||||
},
|
||||
"scripts": {
|
||||
"update-grammar": "node ./build/update-grammar.js"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [
|
||||
{
|
||||
"id": "html",
|
||||
"extensions": [
|
||||
".html",
|
||||
".htm",
|
||||
".shtml",
|
||||
".xhtml",
|
||||
".xht",
|
||||
".mdoc",
|
||||
".jsp",
|
||||
".asp",
|
||||
".aspx",
|
||||
".jshtm",
|
||||
".volt",
|
||||
".ejs",
|
||||
".rhtml"
|
||||
],
|
||||
"aliases": [
|
||||
"HTML",
|
||||
"htm",
|
||||
"html",
|
||||
"xhtml"
|
||||
],
|
||||
"mimetypes": [
|
||||
"text/html",
|
||||
"text/x-jshtm",
|
||||
"text/template",
|
||||
"text/ng-template",
|
||||
"application/xhtml+xml"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
}
|
||||
],
|
||||
"grammars": [
|
||||
{
|
||||
"scopeName": "text.html.basic",
|
||||
"path": "./syntaxes/html.tmLanguage.json",
|
||||
"embeddedLanguages": {
|
||||
"text.html": "html",
|
||||
"source.css": "css",
|
||||
"source.js": "javascript",
|
||||
"source.python": "python",
|
||||
"source.smarty": "smarty"
|
||||
},
|
||||
"tokenTypes": {
|
||||
"meta.tag string.quoted": "other"
|
||||
}
|
||||
},
|
||||
{
|
||||
"language": "html",
|
||||
"scopeName": "text.html.derivative",
|
||||
"path": "./syntaxes/html-derivative.tmLanguage.json",
|
||||
"embeddedLanguages": {
|
||||
"text.html": "html",
|
||||
"source.css": "css",
|
||||
"source.js": "javascript",
|
||||
"source.python": "python",
|
||||
"source.smarty": "smarty"
|
||||
},
|
||||
"tokenTypes": {
|
||||
"meta.tag string.quoted": "other"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "HTML Language Basics",
|
||||
"description": "Provides syntax highlighting, bracket matching & snippets in HTML files."
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
"information_for_contributors": [
|
||||
"This file has been converted from https://github.com/textmate/html.tmbundle/blob/master/Syntaxes/HTML%20%28Derivative%29.tmLanguage",
|
||||
"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/textmate/html.tmbundle/commit/390c8870273a2ae80244dae6db6ba064a802f407",
|
||||
"name": "HTML (Derivative)",
|
||||
"scopeName": "text.html.derivative",
|
||||
"injections": {
|
||||
"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)": {
|
||||
"comment": "Uses R: to ensure this matches after any other injections.",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "<",
|
||||
"name": "invalid.illegal.bad-angle-bracket.html"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "text.html.basic#core-minus-invalid"
|
||||
},
|
||||
{
|
||||
"begin": "(</?)(\\w[^\\s>]*)(?<!/)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.begin.html"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.html"
|
||||
}
|
||||
},
|
||||
"end": "((?: ?/)?>)",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.tag.end.html"
|
||||
}
|
||||
},
|
||||
"name": "meta.tag.other.unrecognized.html.derivative",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "text.html.basic#attribute"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -0,0 +1,2 @@
|
|||
test/**
|
||||
cgmanifest.json
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"registrations": [
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"name": "textmate/ini.tmbundle",
|
||||
"repositoryUrl": "https://github.com/textmate/ini.tmbundle",
|
||||
"commitHash": "2af0cbb0704940f967152616f2f1ff0aae6287a6"
|
||||
}
|
||||
},
|
||||
"licenseDetail": [
|
||||
"Copyright (c) textmate-ini.tmbundle project authors",
|
||||
"",
|
||||
"If not otherwise specified (see below), files in this folder fall under the following license: ",
|
||||
"",
|
||||
"Permission to copy, use, modify, sell and distribute this",
|
||||
"software is granted. This software is provided \"as is\" without",
|
||||
"express or implied warranty, and with no claim as to its",
|
||||
"suitability for any purpose.",
|
||||
"",
|
||||
"An exception is made for files in readable text which contain their own license information, ",
|
||||
"or files where an accompanying file exists (in the same directory) with a \"-license\" suffix added ",
|
||||
"to the base-name name of the original file, and an extension of txt, html, or similar. For example ",
|
||||
"\"tidy\" is accompanied by \"tidy-license.txt\"."
|
||||
],
|
||||
"license": "TextMate Bundle License",
|
||||
"version": "0.0.0"
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"comments": {
|
||||
"lineComment": ";",
|
||||
"blockComment": [ ";", " " ]
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
{ "open": "\"", "close": "\"", "notIn": ["string"] },
|
||||
{ "open": "'", "close": "'", "notIn": ["string"] }
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"]
|
||||
]
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"name": "ini",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": { "vscode": "*" },
|
||||
"scripts": {
|
||||
"update-grammar": "node ../../build/npm/update-grammar.js textmate/ini.tmbundle Syntaxes/Ini.plist ./syntaxes/ini.tmLanguage.json"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [{
|
||||
"id": "ini",
|
||||
"extensions": [ ".ini"],
|
||||
"aliases": [ "Ini", "ini" ],
|
||||
"configuration": "./ini.language-configuration.json"
|
||||
},
|
||||
{
|
||||
"id": "properties",
|
||||
"extensions": [ ".properties", ".cfg", ".conf", ".directory", ".gitattributes", ".gitconfig", ".gitmodules", ".editorconfig" ],
|
||||
"filenames": [ "gitconfig" ],
|
||||
"filenamePatterns": [ "**/.config/git/config", "**/.git/config" ],
|
||||
"aliases": [ "Properties", "properties" ],
|
||||
"configuration": "./properties.language-configuration.json"
|
||||
}],
|
||||
"grammars": [{
|
||||
"language": "ini",
|
||||
"scopeName": "source.ini",
|
||||
"path": "./syntaxes/ini.tmLanguage.json"
|
||||
},{
|
||||
"language": "properties",
|
||||
"scopeName": "source.ini",
|
||||
"path": "./syntaxes/ini.tmLanguage.json"
|
||||
}]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"displayName": "Ini Language Basics",
|
||||
"description": "Provides syntax highlighting and bracket matching in Ini files."
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"comments": {
|
||||
"lineComment": "#",
|
||||
"blockComment": [ "#", " " ]
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
{ "open": "\"", "close": "\"", "notIn": ["string"] }
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"]
|
||||
]
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
{
|
||||
"information_for_contributors": [
|
||||
"This file has been converted from https://github.com/textmate/ini.tmbundle/blob/master/Syntaxes/Ini.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/textmate/ini.tmbundle/commit/2af0cbb0704940f967152616f2f1ff0aae6287a6",
|
||||
"name": "Ini",
|
||||
"scopeName": "source.ini",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "(^[ \\t]+)?(?=#)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.whitespace.comment.leading.ini"
|
||||
}
|
||||
},
|
||||
"end": "(?!\\G)",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "#",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.comment.ini"
|
||||
}
|
||||
},
|
||||
"end": "\\n",
|
||||
"name": "comment.line.number-sign.ini"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "(^[ \\t]+)?(?=;)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.whitespace.comment.leading.ini"
|
||||
}
|
||||
},
|
||||
"end": "(?!\\G)",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": ";",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.comment.ini"
|
||||
}
|
||||
},
|
||||
"end": "\\n",
|
||||
"name": "comment.line.semicolon.ini"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.other.definition.ini"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.separator.key-value.ini"
|
||||
}
|
||||
},
|
||||
"match": "\\b([a-zA-Z0-9_.-]+)\\b\\s*(=)"
|
||||
},
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.entity.ini"
|
||||
},
|
||||
"3": {
|
||||
"name": "punctuation.definition.entity.ini"
|
||||
}
|
||||
},
|
||||
"match": "^(\\[)(.*?)(\\])",
|
||||
"name": "entity.name.section.group-title.ini"
|
||||
},
|
||||
{
|
||||
"begin": "'",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.begin.ini"
|
||||
}
|
||||
},
|
||||
"end": "'",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.ini"
|
||||
}
|
||||
},
|
||||
"name": "string.quoted.single.ini",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "\\\\.",
|
||||
"name": "constant.character.escape.ini"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "\"",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.begin.ini"
|
||||
}
|
||||
},
|
||||
"end": "\"",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.end.ini"
|
||||
}
|
||||
},
|
||||
"name": "string.quoted.double.ini"
|
||||
}
|
||||
]
|
||||
}
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче