mirror of
https://github.com/Microsoft/vscode
synced 2024-09-13 13:46:13 +00:00
Merge branch 'master' into tyriar/90539
This commit is contained in:
commit
b7e0abbdcc
|
@ -3,7 +3,6 @@
|
||||||
**/vs/css.build.js
|
**/vs/css.build.js
|
||||||
**/vs/css.js
|
**/vs/css.js
|
||||||
**/vs/loader.js
|
**/vs/loader.js
|
||||||
**/promise-polyfill/**
|
|
||||||
**/insane/**
|
**/insane/**
|
||||||
**/marked/**
|
**/marked/**
|
||||||
**/test/**/*.js
|
**/test/**/*.js
|
||||||
|
|
202
.eslintrc.json
202
.eslintrc.json
|
@ -35,7 +35,8 @@
|
||||||
"external",
|
"external",
|
||||||
"status",
|
"status",
|
||||||
"origin",
|
"origin",
|
||||||
"orientation"
|
"orientation",
|
||||||
|
"context"
|
||||||
], // non-complete list of globals that are easy to access unintentionally
|
], // non-complete list of globals that are easy to access unintentionally
|
||||||
"no-var": "warn",
|
"no-var": "warn",
|
||||||
"jsdoc/no-types": "warn",
|
"jsdoc/no-types": "warn",
|
||||||
|
@ -108,7 +109,7 @@
|
||||||
"restrictions": [
|
"restrictions": [
|
||||||
"vs/nls",
|
"vs/nls",
|
||||||
"**/vs/base/{common,node}/**",
|
"**/vs/base/{common,node}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -145,7 +146,7 @@
|
||||||
"vs/nls",
|
"vs/nls",
|
||||||
"**/vs/base/{common,node}/**",
|
"**/vs/base/{common,node}/**",
|
||||||
"**/vs/base/parts/*/{common,node}/**",
|
"**/vs/base/parts/*/{common,node}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -155,7 +156,7 @@
|
||||||
"vs/css!./**/*",
|
"vs/css!./**/*",
|
||||||
"**/vs/base/{common,browser,node,electron-browser}/**",
|
"**/vs/base/{common,browser,node,electron-browser}/**",
|
||||||
"**/vs/base/parts/*/{common,browser,node,electron-browser}/**",
|
"**/vs/base/parts/*/{common,browser,node,electron-browser}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -164,7 +165,7 @@
|
||||||
"vs/nls",
|
"vs/nls",
|
||||||
"**/vs/base/{common,node,electron-main}/**",
|
"**/vs/base/{common,node,electron-main}/**",
|
||||||
"**/vs/base/parts/*/{common,node,electron-main}/**",
|
"**/vs/base/parts/*/{common,node,electron-main}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -205,7 +206,7 @@
|
||||||
"**/vs/base/{common,node}/**",
|
"**/vs/base/{common,node}/**",
|
||||||
"**/vs/base/parts/*/{common,node}/**",
|
"**/vs/base/parts/*/{common,node}/**",
|
||||||
"**/vs/platform/*/{common,node}/**",
|
"**/vs/platform/*/{common,node}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -216,7 +217,7 @@
|
||||||
"**/vs/base/{common,browser,node}/**",
|
"**/vs/base/{common,browser,node}/**",
|
||||||
"**/vs/base/parts/*/{common,browser,node,electron-browser}/**",
|
"**/vs/base/parts/*/{common,browser,node,electron-browser}/**",
|
||||||
"**/vs/platform/*/{common,browser,node,electron-browser}/**",
|
"**/vs/platform/*/{common,browser,node,electron-browser}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -226,7 +227,8 @@
|
||||||
"**/vs/base/{common,node,electron-main}/**",
|
"**/vs/base/{common,node,electron-main}/**",
|
||||||
"**/vs/base/parts/*/{common,node,electron-main}/**",
|
"**/vs/base/parts/*/{common,node,electron-main}/**",
|
||||||
"**/vs/platform/*/{common,node,electron-main}/**",
|
"**/vs/platform/*/{common,node,electron-main}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"**/vs/code/**",
|
||||||
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -395,12 +397,6 @@
|
||||||
"assert"
|
"assert"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"target": "**/vs/workbench/workbench.desktop.main.ts",
|
|
||||||
"restrictions": [
|
|
||||||
"**"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"target": "**/vs/workbench/api/common/**",
|
"target": "**/vs/workbench/api/common/**",
|
||||||
"restrictions": [
|
"restrictions": [
|
||||||
|
@ -436,7 +432,7 @@
|
||||||
"**/vs/editor/contrib/**", // editor/contrib is equivalent to /browser/ by convention
|
"**/vs/editor/contrib/**", // editor/contrib is equivalent to /browser/ by convention
|
||||||
"**/vs/workbench/{common,browser,node,electron-browser,api}/**",
|
"**/vs/workbench/{common,browser,node,electron-browser,api}/**",
|
||||||
"**/vs/workbench/services/*/{common,browser,node,electron-browser}/**",
|
"**/vs/workbench/services/*/{common,browser,node,electron-browser}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -451,7 +447,7 @@
|
||||||
"vs/workbench/contrib/files/common/editors/fileEditorInput",
|
"vs/workbench/contrib/files/common/editors/fileEditorInput",
|
||||||
"**/vs/workbench/services/**",
|
"**/vs/workbench/services/**",
|
||||||
"**/vs/workbench/test/**",
|
"**/vs/workbench/test/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -507,7 +503,7 @@
|
||||||
"**/vs/workbench/{common,node}/**",
|
"**/vs/workbench/{common,node}/**",
|
||||||
"**/vs/workbench/api/{common,node}/**",
|
"**/vs/workbench/api/{common,node}/**",
|
||||||
"**/vs/workbench/services/**/{common,node}/**",
|
"**/vs/workbench/services/**/{common,node}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -520,7 +516,23 @@
|
||||||
"**/vs/editor/**",
|
"**/vs/editor/**",
|
||||||
"**/vs/workbench/{common,browser,node,electron-browser,api}/**",
|
"**/vs/workbench/{common,browser,node,electron-browser,api}/**",
|
||||||
"**/vs/workbench/services/**/{common,browser,node,electron-browser}/**",
|
"**/vs/workbench/services/**/{common,browser,node,electron-browser}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "**/vs/workbench/contrib/**/test/**",
|
||||||
|
"restrictions": [
|
||||||
|
"assert",
|
||||||
|
"vs/nls",
|
||||||
|
"vs/css!./**/*",
|
||||||
|
"**/vs/base/**",
|
||||||
|
"**/vs/platform/**",
|
||||||
|
"**/vs/editor/**",
|
||||||
|
"**/vs/workbench/{common,browser,node,electron-browser}/**",
|
||||||
|
"**/vs/workbench/services/**",
|
||||||
|
"**/vs/workbench/contrib/**",
|
||||||
|
"**/vs/workbench/test/**",
|
||||||
|
"*"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -529,21 +541,99 @@
|
||||||
// xterm and its addons are strictly browser-only components
|
// xterm and its addons are strictly browser-only components
|
||||||
"xterm",
|
"xterm",
|
||||||
"xterm-addon-*",
|
"xterm-addon-*",
|
||||||
"**/vs/**"
|
"vs/nls",
|
||||||
|
"vs/css!./**/*",
|
||||||
|
"**/vs/base/**/{common,browser}/**",
|
||||||
|
"**/vs/platform/**/{common,browser}/**",
|
||||||
|
"**/vs/editor/**",
|
||||||
|
"**/vs/workbench/{common,browser}/**",
|
||||||
|
"**/vs/workbench/contrib/**/{common,browser}/**",
|
||||||
|
"**/vs/workbench/services/**/{common,browser}/**"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"target": "**/vs/workbench/contrib/extensions/browser/**",
|
"target": "**/vs/workbench/contrib/extensions/browser/**",
|
||||||
"restrictions": [
|
"restrictions": [
|
||||||
"semver-umd",
|
"semver-umd",
|
||||||
"**/vs/**"
|
"vs/nls",
|
||||||
|
"vs/css!./**/*",
|
||||||
|
"**/vs/base/**/{common,browser}/**",
|
||||||
|
"**/vs/platform/**/{common,browser}/**",
|
||||||
|
"**/vs/editor/**",
|
||||||
|
"**/vs/workbench/{common,browser}/**",
|
||||||
|
"**/vs/workbench/contrib/**/{common,browser}/**",
|
||||||
|
"**/vs/workbench/services/**/{common,browser}/**"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"target": "**/vs/workbench/contrib/update/browser/update.ts",
|
"target": "**/vs/workbench/contrib/update/browser/update.ts",
|
||||||
"restrictions": [
|
"restrictions": [
|
||||||
"semver-umd",
|
"semver-umd",
|
||||||
"**/vs/**"
|
"vs/nls",
|
||||||
|
"vs/css!./**/*",
|
||||||
|
"**/vs/base/**/{common,browser}/**",
|
||||||
|
"**/vs/platform/**/{common,browser}/**",
|
||||||
|
"**/vs/editor/**",
|
||||||
|
"**/vs/workbench/{common,browser}/**",
|
||||||
|
"**/vs/workbench/contrib/**/{common,browser}/**",
|
||||||
|
"**/vs/workbench/services/**/{common,browser}/**"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "**/vs/workbench/contrib/**/common/**",
|
||||||
|
"restrictions": [
|
||||||
|
"vs/nls",
|
||||||
|
"vs/css!./**/*",
|
||||||
|
"**/vs/base/**/common/**",
|
||||||
|
"**/vs/platform/**/common/**",
|
||||||
|
"**/vs/editor/**",
|
||||||
|
"**/vs/workbench/common/**",
|
||||||
|
"**/vs/workbench/api/common/**",
|
||||||
|
"**/vs/workbench/services/**/common/**",
|
||||||
|
"**/vs/workbench/contrib/**/common/**"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "**/vs/workbench/contrib/**/browser/**",
|
||||||
|
"restrictions": [
|
||||||
|
"vs/nls",
|
||||||
|
"vs/css!./**/*",
|
||||||
|
"**/vs/base/**/{common,browser}/**",
|
||||||
|
"**/vs/platform/**/{common,browser}/**",
|
||||||
|
"**/vs/editor/**",
|
||||||
|
"**/vs/workbench/{common,browser}/**",
|
||||||
|
"**/vs/workbench/api/{common,browser}/**",
|
||||||
|
"**/vs/workbench/services/**/{common,browser}/**",
|
||||||
|
"**/vs/workbench/contrib/**/{common,browser}/**"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "**/vs/workbench/contrib/**/node/**",
|
||||||
|
"restrictions": [
|
||||||
|
"vs/nls",
|
||||||
|
"vs/css!./**/*",
|
||||||
|
"**/vs/base/**/{common,node}/**",
|
||||||
|
"**/vs/platform/**/{common,node}/**",
|
||||||
|
"**/vs/editor/**/common/**",
|
||||||
|
"**/vs/workbench/{common,node}/**",
|
||||||
|
"**/vs/workbench/api/{common,node}/**",
|
||||||
|
"**/vs/workbench/services/**/{common,node}/**",
|
||||||
|
"**/vs/workbench/contrib/**/{common,node}/**",
|
||||||
|
"*" // node modules
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "**/vs/workbench/contrib/**/electron-browser/**",
|
||||||
|
"restrictions": [
|
||||||
|
"vs/nls",
|
||||||
|
"vs/css!./**/*",
|
||||||
|
"**/vs/base/**/{common,browser,worker,node,electron-browser}/**",
|
||||||
|
"**/vs/platform/**/{common,browser,node,electron-browser}/**",
|
||||||
|
"**/vs/editor/**",
|
||||||
|
"**/vs/workbench/{common,browser,node,electron-browser,api}/**",
|
||||||
|
"**/vs/workbench/services/**/{common,browser,node,electron-browser}/**",
|
||||||
|
"**/vs/workbench/contrib/**/{common,browser,node,electron-browser}/**",
|
||||||
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -554,7 +644,7 @@
|
||||||
"**/vs/base/parts/**/{common,node}/**",
|
"**/vs/base/parts/**/{common,node}/**",
|
||||||
"**/vs/platform/**/{common,node}/**",
|
"**/vs/platform/**/{common,node}/**",
|
||||||
"**/vs/code/**/{common,node}/**",
|
"**/vs/code/**/{common,node}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -566,7 +656,7 @@
|
||||||
"**/vs/base/parts/**/{common,browser,node,electron-browser}/**",
|
"**/vs/base/parts/**/{common,browser,node,electron-browser}/**",
|
||||||
"**/vs/platform/**/{common,browser,node,electron-browser}/**",
|
"**/vs/platform/**/{common,browser,node,electron-browser}/**",
|
||||||
"**/vs/code/**/{common,browser,node,electron-browser}/**",
|
"**/vs/code/**/{common,browser,node,electron-browser}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -577,7 +667,7 @@
|
||||||
"**/vs/base/parts/**/{common,node,electron-main}/**",
|
"**/vs/base/parts/**/{common,node,electron-main}/**",
|
||||||
"**/vs/platform/**/{common,node,electron-main}/**",
|
"**/vs/platform/**/{common,node,electron-main}/**",
|
||||||
"**/vs/code/**/{common,node,electron-main}/**",
|
"**/vs/code/**/{common,node,electron-main}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -590,13 +680,9 @@
|
||||||
"**/vs/workbench/**/{common,node}/**",
|
"**/vs/workbench/**/{common,node}/**",
|
||||||
"**/vs/server/**",
|
"**/vs/server/**",
|
||||||
"**/vs/code/**/{common,node}/**",
|
"**/vs/code/**/{common,node}/**",
|
||||||
"!path" // node modules (except path where we have our own impl)
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"target": "**/{node,electron-browser,electron-main}/**",
|
|
||||||
"restrictions": "**/*"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"target": "**/extensions/**",
|
"target": "**/extensions/**",
|
||||||
"restrictions": "**/*"
|
"restrictions": "**/*"
|
||||||
|
@ -605,34 +691,73 @@
|
||||||
"target": "**/test/smoke/**",
|
"target": "**/test/smoke/**",
|
||||||
"restrictions": [
|
"restrictions": [
|
||||||
"**/test/smoke/**",
|
"**/test/smoke/**",
|
||||||
"*"
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"target": "**/test/automation/**",
|
"target": "**/test/automation/**",
|
||||||
"restrictions": [
|
"restrictions": [
|
||||||
"**/test/automation/**",
|
"**/test/automation/**",
|
||||||
"*"
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"target": "**/test/integration/**",
|
"target": "**/test/integration/**",
|
||||||
"restrictions": [
|
"restrictions": [
|
||||||
"**/test/integration/**",
|
"**/test/integration/**",
|
||||||
"*"
|
"*" // node modules
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"target": "{**/api/**.test.ts,}",
|
"target": "**/api/**.test.ts",
|
||||||
"restrictions": "{**/vs/**,assert,sinon,crypto,vscode}"
|
"restrictions": [
|
||||||
|
"**/vs/**",
|
||||||
|
"assert",
|
||||||
|
"sinon",
|
||||||
|
"crypto",
|
||||||
|
"vscode"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"target": "{**/**.test.ts,**/test/**}",
|
"target": "**/{node,electron-browser,electron-main}/**/*.test.ts",
|
||||||
"restrictions": "{**/vs/**,assert,sinon,crypto,xterm*}"
|
"restrictions": [
|
||||||
|
"**/vs/**",
|
||||||
|
"*" // node modules
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"target": "**/{common,browser,workbench}/**",
|
"target": "**/{node,electron-browser,electron-main}/**/test/**",
|
||||||
"restrictions": "**/vs/**"
|
"restrictions": [
|
||||||
|
"**/vs/**",
|
||||||
|
"*" // node modules
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "**/test/{node,electron-browser,electron-main}/**",
|
||||||
|
"restrictions": [
|
||||||
|
"**/vs/**",
|
||||||
|
"*" // node modules
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "**/**.test.ts",
|
||||||
|
"restrictions": [
|
||||||
|
"**/vs/**",
|
||||||
|
"assert",
|
||||||
|
"sinon",
|
||||||
|
"crypto",
|
||||||
|
"xterm*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "**/test/**",
|
||||||
|
"restrictions": [
|
||||||
|
"**/vs/**",
|
||||||
|
"assert",
|
||||||
|
"sinon",
|
||||||
|
"crypto",
|
||||||
|
"xterm*"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -669,6 +794,7 @@
|
||||||
"create",
|
"create",
|
||||||
"delete",
|
"delete",
|
||||||
"dispose",
|
"dispose",
|
||||||
|
"edit",
|
||||||
"end",
|
"end",
|
||||||
"expand",
|
"expand",
|
||||||
"hide",
|
"hide",
|
||||||
|
|
1
.github/ISSUE_TEMPLATE/bug_report.md
vendored
1
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
@ -2,6 +2,7 @@
|
||||||
name: Bug report
|
name: Bug report
|
||||||
about: Create a report to help us improve
|
about: Create a report to help us improve
|
||||||
---
|
---
|
||||||
|
<!-- ⚠️⚠️ Do Not Delete This! bug_report_template ⚠️⚠️ -->
|
||||||
<!-- Please read our Rules of Conduct: https://opensource.microsoft.com/codeofconduct/ -->
|
<!-- Please read our Rules of Conduct: https://opensource.microsoft.com/codeofconduct/ -->
|
||||||
<!-- Please search existing issues to avoid creating duplicates. -->
|
<!-- Please search existing issues to avoid creating duplicates. -->
|
||||||
<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: https://code.visualstudio.com/insiders/ -->
|
<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: https://code.visualstudio.com/insiders/ -->
|
||||||
|
|
1
.github/ISSUE_TEMPLATE/feature_request.md
vendored
1
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
@ -4,6 +4,7 @@ about: Suggest an idea for this project
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- ⚠️⚠️ Do Not Delete This! feature_request_template ⚠️⚠️ -->
|
||||||
<!-- Please read our Rules of Conduct: https://opensource.microsoft.com/codeofconduct/ -->
|
<!-- Please read our Rules of Conduct: https://opensource.microsoft.com/codeofconduct/ -->
|
||||||
<!-- Please search existing issues to avoid creating duplicates. -->
|
<!-- Please search existing issues to avoid creating duplicates. -->
|
||||||
|
|
||||||
|
|
335
.github/commands.json
vendored
Normal file
335
.github/commands.json
vendored
Normal file
|
@ -0,0 +1,335 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "question",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "updateLabels",
|
||||||
|
"addLabel": "*question"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "*question",
|
||||||
|
"action": "close",
|
||||||
|
"comment": "Please ask your question on [StackOverflow](https://aka.ms/vscodestackoverflow). We have a great community over [there](https://aka.ms/vscodestackoverflow). They have already answered thousands of questions and are happy to answer yours as well. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "*dev-question",
|
||||||
|
"action": "close",
|
||||||
|
"comment": "We have a great developer community [over on slack](https://aka.ms/vscode-dev-community) where extension authors help each other. This is a great place for you to ask questions and find support.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "*extension-candidate",
|
||||||
|
"action": "close",
|
||||||
|
"comment": "We try to keep VS Code lean and we think the functionality you're asking for is great for a VS Code extension. Maybe you can already find one that suits you in the [VS Code Marketplace](https://aka.ms/vscodemarketplace). Just in case, in a few simple steps you can get started [writing your own extension](https://aka.ms/vscodewritingextensions). See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "*not-reproducible",
|
||||||
|
"action": "close",
|
||||||
|
"comment": "We closed this issue because we are unable to reproduce the problem with the steps you describe. Chances are we've already fixed your problem in a recent version of VS Code. If not, please ask us to reopen the issue and provide us with more detail. Our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines might help you with that.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "*out-of-scope",
|
||||||
|
"action": "close",
|
||||||
|
"comment": "We closed this issue because we don't plan to address it in the foreseeable future. You can find more detailed information about our decision-making process [here](https://aka.ms/vscode-out-of-scope). If you disagree and feel that this issue is crucial: We are happy to listen and to reconsider.\n\nIf you wonder what we are up to, please see our [roadmap](https://aka.ms/vscoderoadmap) and [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nThanks for your understanding and happy coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "causedByExtension",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "updateLabels",
|
||||||
|
"addLabel": "*caused-by-extension"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "*caused-by-extension",
|
||||||
|
"action": "close",
|
||||||
|
"comment": "This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the [marketplace](https://aka.ms/vscodemarketplace) for VS Code. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "*as-designed",
|
||||||
|
"action": "close",
|
||||||
|
"comment": "The described behavior is how it is expected to work. If you disagree, please explain what is expected and what is not in more detail. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "*english-please",
|
||||||
|
"action": "close",
|
||||||
|
"comment": "This issue is being closed because its description is not in English, that makes it hard for us to work on it. Please open a new issue with an English description. You might find [Bing Translator](https://www.bing.com/translator) useful."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "duplicate",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "updateLabels",
|
||||||
|
"addLabel": "*duplicate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "*duplicate",
|
||||||
|
"action": "close",
|
||||||
|
"comment": "Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues [here](https://aka.ms/vscodeissuesearch). See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "verified",
|
||||||
|
"allowUsers": [
|
||||||
|
"@author"
|
||||||
|
],
|
||||||
|
"action": "updateLabels",
|
||||||
|
"addLabel": "author-verified",
|
||||||
|
"removeLabel": "author-verification-requested",
|
||||||
|
"requireLabel": "author-verification-requested",
|
||||||
|
"disallowLabel": "awaiting-insiders-release"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "confirm",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "updateLabels",
|
||||||
|
"addLabel": "confirmed",
|
||||||
|
"removeLabel": "confirmation-pending"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "confirmationPending",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "updateLabels",
|
||||||
|
"addLabel": "confirmation-pending",
|
||||||
|
"removeLabel": "confirmed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "needsMoreInfo",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "updateLabels",
|
||||||
|
"addLabel": "~needs more info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "~needs more info",
|
||||||
|
"action": "updateLabels",
|
||||||
|
"addLabel": "needs more info",
|
||||||
|
"removeLabel": "~needs more info",
|
||||||
|
"comment": "Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines. Please take the time to review these and update the issue.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "~needs version info",
|
||||||
|
"action": "updateLabels",
|
||||||
|
"addLabel": "needs more info",
|
||||||
|
"removeLabel": "~needs version info",
|
||||||
|
"comment": "Thanks for creating this issue! We figured it's missing some basic information, such as a version number, or in some other way doesn't follow our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines. Please take the time to review these and update the issue.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "a11ymas",
|
||||||
|
"allowUsers": [
|
||||||
|
"AccessibilityTestingTeam-TCS",
|
||||||
|
"dixitsonali95",
|
||||||
|
"Mohini78",
|
||||||
|
"ChitrarupaSharma",
|
||||||
|
"mspatil110",
|
||||||
|
"umasarath52",
|
||||||
|
"v-umnaik"
|
||||||
|
],
|
||||||
|
"action": "updateLabels",
|
||||||
|
"addLabel": "a11ymas"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "*off-topic",
|
||||||
|
"action": "close",
|
||||||
|
"comment": "Thanks for creating this issue. We think this issue is unactionable or unrelated to the goals of this project. Please follow our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extPython",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the Python extension. Please file it with the repository [here](https://github.com/Microsoft/vscode-python). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines for more information.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extC",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the C extension. Please file it with the repository [here](https://github.com/Microsoft/vscode-cpptools). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines for more information.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extC++",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the C++ extension. Please file it with the repository [here](https://github.com/Microsoft/vscode-cpptools). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines for more information.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extTS",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the TypeScript language service. Please file it with the repository [here](https://github.com/microsoft/TypeScript/). Make sure to check their [contributing guidelines](https://github.com/microsoft/TypeScript/blob/master/CONTRIBUTING.md) and provide relevant information such as the extension version you're using. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines for more information.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extJS",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the TypeScript/JavaScript language service. Please file it with the repository [here](https://github.com/microsoft/TypeScript/). Make sure to check their [contributing guidelines](https://github.com/microsoft/TypeScript/blob/master/CONTRIBUTING.md) and provide relevant information such as the extension version you're using. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines for more information.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extC#",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the C# extension. Please file it with the repository [here](https://github.com/OmniSharp/omnisharp-vscode.git). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines for more information.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extGo",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the Go extension. Please file it with the repository [here](https://github.com/microsoft/vscode-go). Make sure to check their [contributing guidelines](https://github.com/microsoft/vscode-go/blob/master/CONTRIBUTING.md) and provide relevant information such as the extension version you're using. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines for more information.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extPowershell",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the Powershell extension. Please file it with the repository [here](https://github.com/PowerShell/vscode-powershell). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines for more information.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extLiveShare",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the LiveShare extension. Please file it with the repository [here](https://github.com/MicrosoftDocs/live-share). Make sure to check their [contributing guidelines](https://github.com/MicrosoftDocs/live-share/blob/master/CONTRIBUTING.md) and provide relevant information such as the extension version you're using. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines for more information.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extDocker",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the Docker extension. Please file it with the repository [here](https://github.com/microsoft/vscode-docker). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines for more information.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extJava",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the Java extension. Please file it with the repository [here](https://github.com/redhat-developer/vscode-java). Make sure to check their [troubleshooting instructions](https://github.com/redhat-developer/vscode-java/wiki/Troubleshooting) and provide relevant information such as the extension version you're using. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines for more information.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extJavaDebug",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the Java Debugger extension. Please file it with the repository [here](https://github.com/Microsoft/vscode-java-debug). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines for more information.\n\nHappy Coding!"
|
||||||
|
}
|
||||||
|
]
|
129
.github/commands.yml
vendored
129
.github/commands.yml
vendored
|
@ -1,141 +1,12 @@
|
||||||
{
|
{
|
||||||
perform: true,
|
perform: true,
|
||||||
commands: [
|
commands: [
|
||||||
{
|
|
||||||
type: 'comment',
|
|
||||||
name: 'question',
|
|
||||||
allowUsers: ['cleidigh', 'usernamehw', 'gjsjohnmurray', 'IllusionMH'],
|
|
||||||
action: 'updateLabels',
|
|
||||||
addLabel: '*question'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'label',
|
|
||||||
name: '*question',
|
|
||||||
allowTriggerByBot: true,
|
|
||||||
action: 'close',
|
|
||||||
comment: "Please ask your question on [StackOverflow](https://aka.ms/vscodestackoverflow). We have a great community over [there](https://aka.ms/vscodestackoverflow). They have already answered thousands of questions and are happy to answer yours as well. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'label',
|
|
||||||
name: '*dev-question',
|
|
||||||
allowTriggerByBot: true,
|
|
||||||
action: 'close',
|
|
||||||
comment: "We have a great developer community [over on slack](https://aka.ms/vscode-dev-community) where extension authors help each other. This is a great place for you to ask questions and find support.\n\nHappy Coding!"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'label',
|
|
||||||
name: '*extension-candidate',
|
|
||||||
allowTriggerByBot: true,
|
|
||||||
action: 'close',
|
|
||||||
comment: "We try to keep VS Code lean and we think the functionality you're asking for is great for a VS Code extension. Maybe you can already find one that suits you in the [VS Code Marketplace](https://aka.ms/vscodemarketplace). Just in case, in a few simple steps you can get started [writing your own extension](https://aka.ms/vscodewritingextensions). See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'label',
|
|
||||||
name: '*not-reproducible',
|
|
||||||
allowTriggerByBot: true,
|
|
||||||
action: 'close',
|
|
||||||
comment: "We closed this issue because we are unable to reproduce the problem with the steps you describe. Chances are we've already fixed your problem in a recent version of VS Code. If not, please ask us to reopen the issue and provide us with more detail. Our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines might help you with that.\n\nHappy Coding!"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'label',
|
|
||||||
name: '*out-of-scope',
|
|
||||||
allowTriggerByBot: true,
|
|
||||||
action: 'close',
|
|
||||||
comment: "We closed this issue because we don't plan to address it in the foreseeable future. You can find more detailed information about our decision-making process [here](https://aka.ms/vscode-out-of-scope). If you disagree and feel that this issue is crucial: We are happy to listen and to reconsider.\n\nIf you wonder what we are up to, please see our [roadmap](https://aka.ms/vscoderoadmap) and [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nThanks for your understanding and happy coding!"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'comment',
|
|
||||||
name: 'causedByExtension',
|
|
||||||
allowUsers: ['cleidigh', 'usernamehw', 'gjsjohnmurray', 'IllusionMH'],
|
|
||||||
action: 'updateLabels',
|
|
||||||
addLabel: '*caused-by-extension'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'label',
|
|
||||||
name: '*caused-by-extension',
|
|
||||||
allowTriggerByBot: true,
|
|
||||||
action: 'close',
|
|
||||||
comment: "This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the [marketplace](https://aka.ms/vscodemarketplace) for VS Code. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'label',
|
|
||||||
name: '*as-designed',
|
|
||||||
allowTriggerByBot: true,
|
|
||||||
action: 'close',
|
|
||||||
comment: "The described behavior is how it is expected to work. If you disagree, please explain what is expected and what is not in more detail. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'label',
|
|
||||||
name: '*english-please',
|
|
||||||
allowTriggerByBot: true,
|
|
||||||
action: 'close',
|
|
||||||
comment: "This issue is being closed because its description is not in English, that makes it hard for us to work on it. Please open a new issue with an English description. You might find [Bing Translator](https://www.bing.com/translator) useful."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'comment',
|
|
||||||
name: 'duplicate',
|
|
||||||
allowUsers: ['cleidigh', 'usernamehw', 'gjsjohnmurray', 'IllusionMH'],
|
|
||||||
action: 'updateLabels',
|
|
||||||
addLabel: '*duplicate'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'label',
|
|
||||||
name: '*duplicate',
|
|
||||||
allowTriggerByBot: true,
|
|
||||||
action: 'close',
|
|
||||||
comment: "Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues [here](https://aka.ms/vscodeissuesearch). See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'comment',
|
|
||||||
name: 'confirm',
|
|
||||||
allowUsers: ['cleidigh', 'usernamehw', 'gjsjohnmurray', 'IllusionMH'],
|
|
||||||
action: 'updateLabels',
|
|
||||||
addLabel: 'confirmed',
|
|
||||||
removeLabel: 'confirmation-pending'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'comment',
|
|
||||||
name: 'confirmationPending',
|
|
||||||
allowUsers: ['cleidigh', 'usernamehw', 'gjsjohnmurray', 'IllusionMH'],
|
|
||||||
action: 'updateLabels',
|
|
||||||
addLabel: 'confirmation-pending',
|
|
||||||
removeLabel: 'confirmed'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: 'comment',
|
type: 'comment',
|
||||||
name: 'findDuplicates',
|
name: 'findDuplicates',
|
||||||
allowUsers: ['cleidigh', 'usernamehw', 'gjsjohnmurray', 'IllusionMH'],
|
allowUsers: ['cleidigh', 'usernamehw', 'gjsjohnmurray', 'IllusionMH'],
|
||||||
action: 'comment',
|
action: 'comment',
|
||||||
comment: "Potential duplicates:\n${potentialDuplicates}"
|
comment: "Potential duplicates:\n${potentialDuplicates}"
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'comment',
|
|
||||||
name: 'needsMoreInfo',
|
|
||||||
allowUsers: ['cleidigh', 'usernamehw', 'gjsjohnmurray', 'IllusionMH'],
|
|
||||||
action: 'updateLabels',
|
|
||||||
addLabel: 'needs more info',
|
|
||||||
comment: "Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines. Please take the time to review these and update the issue.\n\nHappy Coding!"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'label',
|
|
||||||
name: '~needs more info',
|
|
||||||
action: 'updateLabels',
|
|
||||||
addLabel: 'needs more info',
|
|
||||||
removeLabel: '~needs more info',
|
|
||||||
comment: "Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines. Please take the time to review these and update the issue.\n\nHappy Coding!"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'comment',
|
|
||||||
name: 'a11ymas',
|
|
||||||
allowUsers: ['AccessibilityTestingTeam-TCS', 'dixitsonali95', 'Mohini78', 'ChitrarupaSharma', 'mspatil110', 'umasarath52', 'v-umnaik'],
|
|
||||||
action: 'updateLabels',
|
|
||||||
addLabel: 'a11ymas'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'label',
|
|
||||||
name: '*off-topic',
|
|
||||||
action: 'close',
|
|
||||||
comment: "Thanks for creating this issue. We think this issue is unactionable or unrelated to the goals of this project. Please follow our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
5
.github/copycat.yml
vendored
5
.github/copycat.yml
vendored
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
perform: true,
|
|
||||||
target_owner: 'chrmarti',
|
|
||||||
target_repo: 'testissues'
|
|
||||||
}
|
|
34
.github/feature-requests.yml
vendored
34
.github/feature-requests.yml
vendored
|
@ -1,34 +0,0 @@
|
||||||
{
|
|
||||||
typeLabel: {
|
|
||||||
name: 'feature-request'
|
|
||||||
},
|
|
||||||
candidateMilestone: {
|
|
||||||
number: 107,
|
|
||||||
name: 'Backlog Candidates'
|
|
||||||
},
|
|
||||||
approvedMilestone: {
|
|
||||||
number: 8,
|
|
||||||
name: 'Backlog'
|
|
||||||
},
|
|
||||||
onLabeled: {
|
|
||||||
delay: 60,
|
|
||||||
perform: true
|
|
||||||
},
|
|
||||||
onCandidateMilestoned: {
|
|
||||||
candidatesComment: "This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our [documentation](https://aka.ms/vscode-issue-lifecycle).\n\nHappy Coding!",
|
|
||||||
perform: true
|
|
||||||
},
|
|
||||||
onMonitorUpvotes: {
|
|
||||||
upvoteThreshold: 20,
|
|
||||||
acceptanceComment: ":slightly_smiling_face: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our [documentation](https://aka.ms/vscode-issue-lifecycle).\n\nHappy Coding!",
|
|
||||||
perform: true
|
|
||||||
},
|
|
||||||
onMonitorDaysOnCandidateMilestone: {
|
|
||||||
daysOnMilestone: 60,
|
|
||||||
warningPeriod: 10,
|
|
||||||
numberOfCommentsToPreventAutomaticRejection: 20,
|
|
||||||
rejectionComment: ":slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our [documentation](https://aka.ms/vscode-issue-lifecycle).\n\nHappy Coding!",
|
|
||||||
warningComment: "This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our [documentation](https://aka.ms/vscode-issue-lifecycle).\n\nHappy Coding",
|
|
||||||
perform: true
|
|
||||||
}
|
|
||||||
}
|
|
6
.github/locker.yml
vendored
6
.github/locker.yml
vendored
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
daysAfterClose: 45,
|
|
||||||
daysSinceLastUpdate: 3,
|
|
||||||
ignoredLabels: ['*out-of-scope'],
|
|
||||||
perform: true
|
|
||||||
}
|
|
6
.github/needs_more_info.yml
vendored
6
.github/needs_more_info.yml
vendored
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
daysUntilClose: 7,
|
|
||||||
needsMoreInfoLabel: 'needs more info',
|
|
||||||
perform: true,
|
|
||||||
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
|
||||||
}
|
|
6
.github/new_release.yml
vendored
6
.github/new_release.yml
vendored
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
newReleaseLabel: 'new release',
|
|
||||||
newReleaseColor: '006b75',
|
|
||||||
daysAfterRelease: 5,
|
|
||||||
perform: true
|
|
||||||
}
|
|
36
.github/workflows/author-verified.yml
vendored
Normal file
36
.github/workflows/author-verified.yml
vendored
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
name: Author Verified
|
||||||
|
on:
|
||||||
|
repository_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: 20 14 * * * # 4:20pm Zurich
|
||||||
|
issues:
|
||||||
|
types: [closed]
|
||||||
|
|
||||||
|
# also make changes in ./on-label.yml
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Actions
|
||||||
|
if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'author-verification-requested')
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: 'microsoft/vscode-github-triage-actions'
|
||||||
|
ref: v3
|
||||||
|
path: ./actions
|
||||||
|
- name: Install Actions
|
||||||
|
if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'author-verification-requested')
|
||||||
|
run: npm install --production --prefix ./actions
|
||||||
|
- name: Checkout Repo
|
||||||
|
if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'author-verification-requested')
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: ./repo
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Run Author Verified
|
||||||
|
if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'author-verification-requested')
|
||||||
|
uses: ./actions/author-verified
|
||||||
|
with:
|
||||||
|
requestVerificationComment: "This bug has been fixed in to the latest release of [VS Code Insiders](https://code.visualstudio.com/insiders/)!\n\n@${author}, you can help us out by confirming things are working as expected in the latest Insiders release. If things look good, please leave a comment with the text `/verified` to let us know. If not, please ensure you're on version ${commit} of Insiders (today's or later - you can use `Help: About` in the command pallete to check), and leave a comment letting us know what isn't working as expected.\n\nHappy Coding!"
|
||||||
|
pendingReleaseLabel: awaiting-insiders-release
|
||||||
|
authorVerificationRequestedLabel: author-verification-requested
|
192
.github/workflows/ci.yml
vendored
192
.github/workflows/ci.yml
vendored
|
@ -11,7 +11,113 @@ on:
|
||||||
- release/*
|
- release/*
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
linux:
|
# linux:
|
||||||
|
# runs-on: ubuntu-latest
|
||||||
|
# env:
|
||||||
|
# CHILD_CONCURRENCY: "1"
|
||||||
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
# steps:
|
||||||
|
# - uses: actions/checkout@v1
|
||||||
|
# # TODO: rename azure-pipelines/linux/xvfb.init to github-actions
|
||||||
|
# - run: |
|
||||||
|
# sudo apt-get update
|
||||||
|
# sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
|
||||||
|
# sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
|
||||||
|
# sudo chmod +x /etc/init.d/xvfb
|
||||||
|
# sudo update-rc.d xvfb defaults
|
||||||
|
# sudo service xvfb start
|
||||||
|
# name: Setup Build Environment
|
||||||
|
# - uses: actions/setup-node@v1
|
||||||
|
# with:
|
||||||
|
# node-version: 10
|
||||||
|
# # TODO: cache node modules
|
||||||
|
# - run: yarn --frozen-lockfile
|
||||||
|
# name: Install Dependencies
|
||||||
|
# - run: yarn electron x64
|
||||||
|
# name: Download Electron
|
||||||
|
# - run: yarn gulp hygiene
|
||||||
|
# name: Run Hygiene Checks
|
||||||
|
# - run: yarn monaco-compile-check
|
||||||
|
# name: Run Monaco Editor Checks
|
||||||
|
# - run: yarn valid-layers-check
|
||||||
|
# name: Run Valid Layers Checks
|
||||||
|
# - run: yarn compile
|
||||||
|
# name: Compile Sources
|
||||||
|
# - run: yarn download-builtin-extensions
|
||||||
|
# name: Download Built-in Extensions
|
||||||
|
# - run: DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
|
||||||
|
# name: Run Unit Tests (Electron)
|
||||||
|
# - run: DISPLAY=:10 yarn test-browser --browser chromium
|
||||||
|
# name: Run Unit Tests (Browser)
|
||||||
|
# - run: DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests"
|
||||||
|
# name: Run Integration Tests (Electron)
|
||||||
|
|
||||||
|
# windows:
|
||||||
|
# runs-on: windows-2016
|
||||||
|
# env:
|
||||||
|
# CHILD_CONCURRENCY: "1"
|
||||||
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
# steps:
|
||||||
|
# - uses: actions/checkout@v1
|
||||||
|
# - uses: actions/setup-node@v1
|
||||||
|
# with:
|
||||||
|
# node-version: 10
|
||||||
|
# - uses: actions/setup-python@v1
|
||||||
|
# with:
|
||||||
|
# python-version: '2.x'
|
||||||
|
# - run: yarn --frozen-lockfile
|
||||||
|
# name: Install Dependencies
|
||||||
|
# - run: yarn electron
|
||||||
|
# name: Download Electron
|
||||||
|
# - run: yarn gulp hygiene
|
||||||
|
# name: Run Hygiene Checks
|
||||||
|
# - run: yarn monaco-compile-check
|
||||||
|
# name: Run Monaco Editor Checks
|
||||||
|
# - run: yarn valid-layers-check
|
||||||
|
# name: Run Valid Layers Checks
|
||||||
|
# - run: yarn compile
|
||||||
|
# name: Compile Sources
|
||||||
|
# - run: yarn download-builtin-extensions
|
||||||
|
# name: Download Built-in Extensions
|
||||||
|
# - run: .\scripts\test.bat --tfs "Unit Tests"
|
||||||
|
# name: Run Unit Tests (Electron)
|
||||||
|
# - run: yarn test-browser --browser chromium
|
||||||
|
# name: Run Unit Tests (Browser)
|
||||||
|
# - run: .\scripts\test-integration.bat --tfs "Integration Tests"
|
||||||
|
# name: Run Integration Tests (Electron)
|
||||||
|
|
||||||
|
# darwin:
|
||||||
|
# runs-on: macos-latest
|
||||||
|
# env:
|
||||||
|
# CHILD_CONCURRENCY: "1"
|
||||||
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
# steps:
|
||||||
|
# - uses: actions/checkout@v1
|
||||||
|
# - uses: actions/setup-node@v1
|
||||||
|
# with:
|
||||||
|
# node-version: 10
|
||||||
|
# - run: yarn --frozen-lockfile
|
||||||
|
# name: Install Dependencies
|
||||||
|
# - run: yarn electron x64
|
||||||
|
# name: Download Electron
|
||||||
|
# - run: yarn gulp hygiene
|
||||||
|
# name: Run Hygiene Checks
|
||||||
|
# - run: yarn monaco-compile-check
|
||||||
|
# name: Run Monaco Editor Checks
|
||||||
|
# - run: yarn valid-layers-check
|
||||||
|
# name: Run Valid Layers Checks
|
||||||
|
# - run: yarn compile
|
||||||
|
# name: Compile Sources
|
||||||
|
# - run: yarn download-builtin-extensions
|
||||||
|
# name: Download Built-in Extensions
|
||||||
|
# - run: ./scripts/test.sh --tfs "Unit Tests"
|
||||||
|
# name: Run Unit Tests (Electron)
|
||||||
|
# - run: yarn test-browser --browser chromium --browser webkit
|
||||||
|
# name: Run Unit Tests (Browser)
|
||||||
|
# - run: ./scripts/test-integration.sh --tfs "Integration Tests"
|
||||||
|
# name: Run Integration Tests (Electron)
|
||||||
|
|
||||||
|
monaco:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
CHILD_CONCURRENCY: "1"
|
CHILD_CONCURRENCY: "1"
|
||||||
|
@ -30,89 +136,9 @@ jobs:
|
||||||
- uses: actions/setup-node@v1
|
- uses: actions/setup-node@v1
|
||||||
with:
|
with:
|
||||||
node-version: 10
|
node-version: 10
|
||||||
# TODO: cache node modules
|
|
||||||
- run: yarn --frozen-lockfile
|
- run: yarn --frozen-lockfile
|
||||||
name: Install Dependencies
|
name: Install Dependencies
|
||||||
- run: yarn electron x64
|
|
||||||
name: Download Electron
|
|
||||||
- run: yarn gulp hygiene
|
|
||||||
name: Run Hygiene Checks
|
|
||||||
- run: yarn monaco-compile-check
|
- run: yarn monaco-compile-check
|
||||||
name: Run Monaco Editor Checks
|
name: Run Monaco Editor Checks
|
||||||
- run: yarn valid-layers-check
|
- run: yarn gulp editor-esm-bundle
|
||||||
name: Run Valid Layers Checks
|
name: Editor Distro & ESM Bundle
|
||||||
- run: yarn compile
|
|
||||||
name: Compile Sources
|
|
||||||
- run: yarn download-builtin-extensions
|
|
||||||
name: Download Built-in Extensions
|
|
||||||
- run: DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
|
|
||||||
name: Run Unit Tests (Electron)
|
|
||||||
- run: DISPLAY=:10 yarn test-browser --browser chromium
|
|
||||||
name: Run Unit Tests (Browser)
|
|
||||||
- run: DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests"
|
|
||||||
name: Run Integration Tests (Electron)
|
|
||||||
|
|
||||||
windows:
|
|
||||||
runs-on: windows-2016
|
|
||||||
env:
|
|
||||||
CHILD_CONCURRENCY: "1"
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
- uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: 10
|
|
||||||
- uses: actions/setup-python@v1
|
|
||||||
with:
|
|
||||||
python-version: '2.x'
|
|
||||||
- run: yarn --frozen-lockfile
|
|
||||||
name: Install Dependencies
|
|
||||||
- run: yarn electron
|
|
||||||
name: Download Electron
|
|
||||||
- run: yarn gulp hygiene
|
|
||||||
name: Run Hygiene Checks
|
|
||||||
- run: yarn monaco-compile-check
|
|
||||||
name: Run Monaco Editor Checks
|
|
||||||
- run: yarn valid-layers-check
|
|
||||||
name: Run Valid Layers Checks
|
|
||||||
- run: yarn compile
|
|
||||||
name: Compile Sources
|
|
||||||
- run: yarn download-builtin-extensions
|
|
||||||
name: Download Built-in Extensions
|
|
||||||
- run: .\scripts\test.bat --tfs "Unit Tests"
|
|
||||||
name: Run Unit Tests (Electron)
|
|
||||||
- run: yarn test-browser --browser chromium
|
|
||||||
name: Run Unit Tests (Browser)
|
|
||||||
- run: .\scripts\test-integration.bat --tfs "Integration Tests"
|
|
||||||
name: Run Integration Tests (Electron)
|
|
||||||
|
|
||||||
darwin:
|
|
||||||
runs-on: macos-latest
|
|
||||||
env:
|
|
||||||
CHILD_CONCURRENCY: "1"
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
- uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: 10
|
|
||||||
- run: yarn --frozen-lockfile
|
|
||||||
name: Install Dependencies
|
|
||||||
- run: yarn electron x64
|
|
||||||
name: Download Electron
|
|
||||||
- run: yarn gulp hygiene
|
|
||||||
name: Run Hygiene Checks
|
|
||||||
- run: yarn monaco-compile-check
|
|
||||||
name: Run Monaco Editor Checks
|
|
||||||
- run: yarn valid-layers-check
|
|
||||||
name: Run Valid Layers Checks
|
|
||||||
- run: yarn compile
|
|
||||||
name: Compile Sources
|
|
||||||
- run: yarn download-builtin-extensions
|
|
||||||
name: Download Built-in Extensions
|
|
||||||
- run: ./scripts/test.sh --tfs "Unit Tests"
|
|
||||||
name: Run Unit Tests (Electron)
|
|
||||||
- run: yarn test-browser --browser chromium --browser webkit
|
|
||||||
name: Run Unit Tests (Browser)
|
|
||||||
- run: ./scripts/test-integration.sh --tfs "Integration Tests"
|
|
||||||
name: Run Integration Tests (Electron)
|
|
||||||
|
|
23
.github/workflows/commands.yml
vendored
Normal file
23
.github/workflows/commands.yml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
name: Commands
|
||||||
|
on:
|
||||||
|
issue_comment:
|
||||||
|
types: [created]
|
||||||
|
|
||||||
|
# also make changes in ./on-label.yml
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Actions
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: 'microsoft/vscode-github-triage-actions'
|
||||||
|
path: ./actions
|
||||||
|
ref: v3
|
||||||
|
- name: Install Actions
|
||||||
|
run: npm install --production --prefix ./actions
|
||||||
|
- name: Run Commands
|
||||||
|
uses: ./actions/commands
|
||||||
|
with:
|
||||||
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
|
config-path: commands
|
41
.github/workflows/feature-request.yml
vendored
Normal file
41
.github/workflows/feature-request.yml
vendored
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
name: Feature Request Manager
|
||||||
|
on:
|
||||||
|
repository_dispatch:
|
||||||
|
issues:
|
||||||
|
types: [milestoned]
|
||||||
|
schedule:
|
||||||
|
- cron: 20 2 * * * # 4:20am Zurich
|
||||||
|
|
||||||
|
# also make changes in ./on-label.yml
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Actions
|
||||||
|
if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'feature-request')
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: 'microsoft/vscode-github-triage-actions'
|
||||||
|
path: ./actions
|
||||||
|
ref: v3
|
||||||
|
- name: Install Actions
|
||||||
|
if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'feature-request')
|
||||||
|
run: npm install --production --prefix ./actions
|
||||||
|
- name: Run Feature Request Manager
|
||||||
|
if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'feature-request')
|
||||||
|
uses: ./actions/feature-request
|
||||||
|
with:
|
||||||
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
|
candidateMilestoneID: 107
|
||||||
|
candidateMilestoneName: Backlog Candidates
|
||||||
|
backlogMilestoneID: 8
|
||||||
|
featureRequestLabel: feature-request
|
||||||
|
upvotesRequired: 20
|
||||||
|
numCommentsOverride: 20
|
||||||
|
initComment: "This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our [documentation](https://aka.ms/vscode-issue-lifecycle).\n\nHappy Coding!"
|
||||||
|
warnComment: "This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our [documentation](https://aka.ms/vscode-issue-lifecycle).\n\nHappy Coding"
|
||||||
|
acceptComment: ":slightly_smiling_face: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our [documentation](https://aka.ms/vscode-issue-lifecycle).\n\nHappy Coding!"
|
||||||
|
rejectComment: ":slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our [documentation](https://aka.ms/vscode-issue-lifecycle).\n\nHappy Coding!"
|
||||||
|
warnDays: 10
|
||||||
|
closeDays: 60
|
||||||
|
milestoneDelaySeconds: 60
|
24
.github/workflows/locker.yml
vendored
Normal file
24
.github/workflows/locker.yml
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
name: Locker
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: 20 23 * * * # 4:20pm Redmond
|
||||||
|
repository_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Actions
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: 'microsoft/vscode-github-triage-actions'
|
||||||
|
path: ./actions
|
||||||
|
ref: v3
|
||||||
|
- name: Install Actions
|
||||||
|
run: npm install --production --prefix ./actions
|
||||||
|
- name: Run Locker
|
||||||
|
uses: ./actions/locker
|
||||||
|
with:
|
||||||
|
daysSinceClose: 45
|
||||||
|
daysSinceUpdate: 3
|
||||||
|
ignoredLabel: "*out-of-scope"
|
26
.github/workflows/needs-more-info-closer.yml
vendored
Normal file
26
.github/workflows/needs-more-info-closer.yml
vendored
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
name: Needs More Info Closer
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: 20 11 * * * # 4:20am Redmond
|
||||||
|
repository_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Actions
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: 'microsoft/vscode-github-triage-actions'
|
||||||
|
path: ./actions
|
||||||
|
ref: v3
|
||||||
|
- name: Install Actions
|
||||||
|
run: npm install --production --prefix ./actions
|
||||||
|
- name: Run Needs More Info Closer
|
||||||
|
uses: ./actions/needs-more-info-closer
|
||||||
|
with:
|
||||||
|
label: needs more info
|
||||||
|
closeDays: 7
|
||||||
|
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
||||||
|
pingDays: 300
|
||||||
|
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
|
69
.github/workflows/on-label.yml
vendored
Normal file
69
.github/workflows/on-label.yml
vendored
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
name: On Label
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [labeled]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Actions
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: 'microsoft/vscode-github-triage-actions'
|
||||||
|
ref: v3
|
||||||
|
path: ./actions
|
||||||
|
- name: Install Actions
|
||||||
|
run: npm install --production --prefix ./actions
|
||||||
|
|
||||||
|
# source of truth in ./author-verified.yml
|
||||||
|
- name: Checkout Repo
|
||||||
|
if: contains(github.event.issue.labels.*.name, 'author-verification-requested')
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: ./repo
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Run Author Verified
|
||||||
|
if: contains(github.event.issue.labels.*.name, 'author-verification-requested')
|
||||||
|
uses: ./actions/author-verified
|
||||||
|
with:
|
||||||
|
requestVerificationComment: "This bug has been fixed in to the latest release of [VS Code Insiders](https://code.visualstudio.com/insiders/)!\n\n@${author}, you can help us out by confirming things are working as expected in the latest Insiders release. If things look good, please leave a comment with the text `/verified` to let us know. If not, please ensure you're on version ${commit} of Insiders (today's or later - you can use `Help: About` in the command pallete to check), and leave a comment letting us know what isn't working as expected.\n\nHappy Coding!"
|
||||||
|
pendingReleaseLabel: awaiting-insiders-release
|
||||||
|
authorVerificationRequestedLabel: author-verification-requested
|
||||||
|
|
||||||
|
# source of truth in ./commands.yml
|
||||||
|
- name: Run Commands
|
||||||
|
uses: ./actions/commands
|
||||||
|
with:
|
||||||
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
|
config-path: commands
|
||||||
|
|
||||||
|
|
||||||
|
# source of truth in ./feature-request.yml
|
||||||
|
- name: Run Feature Request Manager
|
||||||
|
if: contains(github.event.issue.labels.*.name, 'feature-request')
|
||||||
|
uses: ./actions/feature-request
|
||||||
|
with:
|
||||||
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
|
candidateMilestoneID: 107
|
||||||
|
candidateMilestoneName: Backlog Candidates
|
||||||
|
backlogMilestoneID: 8
|
||||||
|
featureRequestLabel: feature-request
|
||||||
|
upvotesRequired: 20
|
||||||
|
numCommentsOverride: 20
|
||||||
|
initComment: "This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our [documentation](https://aka.ms/vscode-issue-lifecycle).\n\nHappy Coding!"
|
||||||
|
warnComment: "This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our [documentation](https://aka.ms/vscode-issue-lifecycle).\n\nHappy Coding"
|
||||||
|
acceptComment: ":slightly_smiling_face: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our [documentation](https://aka.ms/vscode-issue-lifecycle).\n\nHappy Coding!"
|
||||||
|
rejectComment: ":slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our [documentation](https://aka.ms/vscode-issue-lifecycle).\n\nHappy Coding!"
|
||||||
|
warnDays: 10
|
||||||
|
closeDays: 60
|
||||||
|
milestoneDelaySeconds: 60
|
||||||
|
|
||||||
|
# source of truth in ./test-plan-item-validator.yml
|
||||||
|
- name: Run Test Plan Item Validator
|
||||||
|
if: contains(github.event.issue.labels.*.name, 'testplan-item') || contains(github.event.issue.labels.*.name, 'invalid-testplan-item')
|
||||||
|
uses: ./actions/test-plan-item-validator
|
||||||
|
with:
|
||||||
|
label: testplan-item
|
||||||
|
invalidLabel: invalid-testplan-item
|
||||||
|
comment: Invalid test plan item. See errors below and the [test plan item spec](https://github.com/microsoft/vscode/wiki/Writing-Test-Plan-Items) for more information. This comment will go away when the issues are resolved.
|
45
.github/workflows/on-open.yml
vendored
Normal file
45
.github/workflows/on-open.yml
vendored
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
name: On Open
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Actions
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: 'microsoft/vscode-github-triage-actions'
|
||||||
|
ref: v3
|
||||||
|
path: ./actions
|
||||||
|
- name: Install Actions
|
||||||
|
run: npm install --production --prefix ./actions
|
||||||
|
|
||||||
|
- name: Run CopyCat (JacksonKearl/testissues)
|
||||||
|
uses: ./actions/copycat
|
||||||
|
with:
|
||||||
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
|
owner: JacksonKearl
|
||||||
|
repo: testissues
|
||||||
|
- name: Run CopyCat (chrmarti/testissues)
|
||||||
|
uses: ./actions/copycat
|
||||||
|
with:
|
||||||
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
|
owner: chrmarti
|
||||||
|
repo: testissues
|
||||||
|
|
||||||
|
- name: Run New Release
|
||||||
|
uses: ./actions/new-release
|
||||||
|
with:
|
||||||
|
label: new release
|
||||||
|
labelColor: "006b75"
|
||||||
|
labelDescription: Issues found in a recent release of VS Code
|
||||||
|
days: 5
|
||||||
|
|
||||||
|
- name: Run Clipboard Labeler
|
||||||
|
uses: ./actions/regex-labeler
|
||||||
|
with:
|
||||||
|
label: "invalid"
|
||||||
|
mustNotMatch: "^We have written the needed data into your clipboard because it was too large to send\\. Please paste\\.$"
|
||||||
|
comment: "It looks like you're using the VS Code Issue Reporter but did not paste the text generated into the created issue. We've closed this issue, please open a new one contining the text we placed in your clipboard.\n\nHappy Coding!"
|
27
.github/workflows/test-plan-item-validator.yml
vendored
Normal file
27
.github/workflows/test-plan-item-validator.yml
vendored
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
name: Test Plan Item Validator
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [edited]
|
||||||
|
|
||||||
|
# also edit in ./on-label.yml
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Actions
|
||||||
|
if: contains(github.event.issue.labels.*.name, 'testplan-item') || contains(github.event.issue.labels.*.name, 'invalid-testplan-item')
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: 'microsoft/vscode-github-triage-actions'
|
||||||
|
path: ./actions
|
||||||
|
ref: v3
|
||||||
|
- name: Install Actions
|
||||||
|
if: contains(github.event.issue.labels.*.name, 'testplan-item') || contains(github.event.issue.labels.*.name, 'invalid-testplan-item')
|
||||||
|
run: npm install --production --prefix ./actions
|
||||||
|
- name: Run Test Plan Item Validator
|
||||||
|
if: contains(github.event.issue.labels.*.name, 'testplan-item') || contains(github.event.issue.labels.*.name, 'invalid-testplan-item')
|
||||||
|
uses: ./actions/test-plan-item-validator
|
||||||
|
with:
|
||||||
|
label: testplan-item
|
||||||
|
invalidLabel: invalid-testplan-item
|
||||||
|
comment: Invalid test plan item. See errors below and the [test plan item spec](https://github.com/microsoft/vscode/wiki/Writing-Test-Plan-Items) for more information. This comment will go away when the issues are resolved.
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -11,6 +11,7 @@ out-editor/
|
||||||
out-editor-src/
|
out-editor-src/
|
||||||
out-editor-build/
|
out-editor-build/
|
||||||
out-editor-esm/
|
out-editor-esm/
|
||||||
|
out-editor-esm-bundle/
|
||||||
out-editor-min/
|
out-editor-min/
|
||||||
out-monaco-editor-core/
|
out-monaco-editor-core/
|
||||||
out-vscode/
|
out-vscode/
|
||||||
|
|
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
|
@ -16,7 +16,6 @@
|
||||||
"request": "attach",
|
"request": "attach",
|
||||||
"name": "Attach to Extension Host",
|
"name": "Attach to Extension Host",
|
||||||
"port": 5870,
|
"port": 5870,
|
||||||
"restart": true,
|
|
||||||
"outFiles": [
|
"outFiles": [
|
||||||
"${workspaceFolder}/out/**/*.js"
|
"${workspaceFolder}/out/**/*.js"
|
||||||
]
|
]
|
||||||
|
@ -184,6 +183,7 @@
|
||||||
],
|
],
|
||||||
"webRoot": "${workspaceFolder}",
|
"webRoot": "${workspaceFolder}",
|
||||||
// Settings for js-debug:
|
// Settings for js-debug:
|
||||||
|
"userDataDir": false,
|
||||||
"pauseForSourceMap": false,
|
"pauseForSourceMap": false,
|
||||||
"outFiles": [
|
"outFiles": [
|
||||||
"${workspaceFolder}/out/**/*.js"
|
"${workspaceFolder}/out/**/*.js"
|
||||||
|
|
63
.vscode/searches/es6.code-search
vendored
Normal file
63
.vscode/searches/es6.code-search
vendored
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
# Query: @deprecated ES6
|
||||||
|
# Flags: CaseSensitive WordMatch
|
||||||
|
# ContextLines: 2
|
||||||
|
|
||||||
|
9 results - 4 files
|
||||||
|
|
||||||
|
src/vs/base/common/arrays.ts:
|
||||||
|
401
|
||||||
|
402 /**
|
||||||
|
403: * @deprecated ES6: use `Array.findIndex`
|
||||||
|
404 */
|
||||||
|
405 export function firstIndex<T>(array: ReadonlyArray<T>, fn: (item: T) => boolean): number {
|
||||||
|
|
||||||
|
417
|
||||||
|
418 /**
|
||||||
|
419: * @deprecated ES6: use `Array.find`
|
||||||
|
420 */
|
||||||
|
421 export function first<T>(array: ReadonlyArray<T>, fn: (item: T) => boolean, notFoundValue: T): T;
|
||||||
|
|
||||||
|
560
|
||||||
|
561 /**
|
||||||
|
562: * @deprecated ES6: use `Array.find`
|
||||||
|
563 */
|
||||||
|
564 export function find<T>(arr: ArrayLike<T>, predicate: (value: T, index: number, arr: ArrayLike<T>) => any): T | undefined {
|
||||||
|
|
||||||
|
src/vs/base/common/map.ts:
|
||||||
|
9
|
||||||
|
10 /**
|
||||||
|
11: * @deprecated ES6: use `[...SetOrMap.values()]`
|
||||||
|
12 */
|
||||||
|
13 export function values<V = any>(set: Set<V>): V[];
|
||||||
|
|
||||||
|
20
|
||||||
|
21 /**
|
||||||
|
22: * @deprecated ES6: use `[...map.keys()]`
|
||||||
|
23 */
|
||||||
|
24 export function keys<K, V>(map: Map<K, V>): K[] {
|
||||||
|
|
||||||
|
src/vs/base/common/objects.ts:
|
||||||
|
115
|
||||||
|
116 /**
|
||||||
|
117: * @deprecated ES6
|
||||||
|
118 */
|
||||||
|
119 export function assign<T>(destination: T): T;
|
||||||
|
|
||||||
|
src/vs/base/common/strings.ts:
|
||||||
|
15
|
||||||
|
16 /**
|
||||||
|
17: * @deprecated ES6: use `String.padStart`
|
||||||
|
18 */
|
||||||
|
19 export function pad(n: number, l: number, char: string = '0'): string {
|
||||||
|
|
||||||
|
146
|
||||||
|
147 /**
|
||||||
|
148: * @deprecated ES6: use `String.startsWith`
|
||||||
|
149 */
|
||||||
|
150 export function startsWith(haystack: string, needle: string): boolean {
|
||||||
|
|
||||||
|
167
|
||||||
|
168 /**
|
||||||
|
169: * @deprecated ES6: use `String.endsWith`
|
||||||
|
170 */
|
||||||
|
171 export function endsWith(haystack: string, needle: string): boolean {
|
5
.vscode/settings.json
vendored
5
.vscode/settings.json
vendored
|
@ -69,5 +69,8 @@
|
||||||
"msjsdiag.debugger-for-chrome": "workspace"
|
"msjsdiag.debugger-for-chrome": "workspace"
|
||||||
},
|
},
|
||||||
"gulp.autoDetect": "off",
|
"gulp.autoDetect": "off",
|
||||||
"files.insertFinalNewline": true
|
"files.insertFinalNewline": true,
|
||||||
|
"[typescript]": {
|
||||||
|
"editor.defaultFormatter": "vscode.typescript-language-features"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
14
.vscode/tasks.json
vendored
14
.vscode/tasks.json
vendored
|
@ -31,20 +31,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "npm",
|
|
||||||
"script": "strict-function-types-watch",
|
|
||||||
"label": "TS - Strict Function Types",
|
|
||||||
"isBackground": true,
|
|
||||||
"presentation": {
|
|
||||||
"reveal": "never"
|
|
||||||
},
|
|
||||||
"problemMatcher": {
|
|
||||||
"base": "$tsc-watch",
|
|
||||||
"owner": "typescript-function-types",
|
|
||||||
"applyTo": "allDocuments"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"label": "Run tests",
|
"label": "Run tests",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
|
|
2
.yarnrc
2
.yarnrc
|
@ -1,3 +1,3 @@
|
||||||
disturl "https://atom.io/download/electron"
|
disturl "https://atom.io/download/electron"
|
||||||
target "7.1.11"
|
target "7.2.1"
|
||||||
runtime "electron"
|
runtime "electron"
|
||||||
|
|
|
@ -87,10 +87,11 @@ Once submitted, your report will go into the [issue tracking](https://github.com
|
||||||
|
|
||||||
## Automated Issue Management
|
## Automated Issue Management
|
||||||
|
|
||||||
We use a bot to help us manage issues. This bot currently:
|
We use GitHub Actions to help us manage issues. These Actions and their descriptions can be [viewed here](https://github.com/JacksonKearl/vscode-triage-github-actions/blob/master/README.md). Some examples of what these Actions do are:
|
||||||
|
|
||||||
* Automatically closes any issue marked `needs-more-info` if there has been no response in the past 7 days.
|
* Automatically closes any issue marked `needs-more-info` if there has been no response in the past 7 days.
|
||||||
* Automatically locks issues 45 days after they are closed.
|
* Automatically lock issues 45 days after they are closed.
|
||||||
|
* Automatically implement the VS Code [feature request pipeline](https://github.com/microsoft/vscode/wiki/Issues-Triaging#managing-feature-requests).
|
||||||
|
|
||||||
If you believe the bot got something wrong, please open a new issue and let us know.
|
If you believe the bot got something wrong, please open a new issue and let us know.
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ please see the document [How to Contribute](https://github.com/Microsoft/vscode/
|
||||||
|
|
||||||
* Ask a question on [Stack Overflow](https://stackoverflow.com/questions/tagged/vscode)
|
* Ask a question on [Stack Overflow](https://stackoverflow.com/questions/tagged/vscode)
|
||||||
* [Request a new feature](CONTRIBUTING.md)
|
* [Request a new feature](CONTRIBUTING.md)
|
||||||
* Up vote [popular feature requests](https://github.com/Microsoft/vscode/issues?q=is%3Aopen+is%3Aissue+label%3Afeature-request+sort%3Areactions-%2B1-desc)
|
* Upvote [popular feature requests](https://github.com/Microsoft/vscode/issues?q=is%3Aopen+is%3Aissue+label%3Afeature-request+sort%3Areactions-%2B1-desc)
|
||||||
* [File an issue](https://github.com/Microsoft/vscode/issues)
|
* [File an issue](https://github.com/Microsoft/vscode/issues)
|
||||||
* Follow [@code](https://twitter.com/code) and let us know what you think!
|
* Follow [@code](https://twitter.com/code) and let us know what you think!
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ This project incorporates components from the projects listed below. The origina
|
||||||
16. fadeevab/make.tmbundle (https://github.com/fadeevab/make.tmbundle)
|
16. fadeevab/make.tmbundle (https://github.com/fadeevab/make.tmbundle)
|
||||||
17. freebroccolo/atom-language-swift (https://github.com/freebroccolo/atom-language-swift)
|
17. freebroccolo/atom-language-swift (https://github.com/freebroccolo/atom-language-swift)
|
||||||
18. HTML 5.1 W3C Working Draft version 08 October 2015 (http://www.w3.org/TR/2015/WD-html51-20151008/)
|
18. HTML 5.1 W3C Working Draft version 08 October 2015 (http://www.w3.org/TR/2015/WD-html51-20151008/)
|
||||||
19. Ikuyadeu/vscode-R version 0.5.5 (https://github.com/Ikuyadeu/vscode-R)
|
19. Ikuyadeu/vscode-R version 1.1.8 (https://github.com/Ikuyadeu/vscode-R)
|
||||||
20. insane version 2.6.2 (https://github.com/bevacqua/insane)
|
20. insane version 2.6.2 (https://github.com/bevacqua/insane)
|
||||||
21. Ionic documentation version 1.2.4 (https://github.com/ionic-team/ionic-site)
|
21. Ionic documentation version 1.2.4 (https://github.com/ionic-team/ionic-site)
|
||||||
22. ionide/ionide-fsgrammar (https://github.com/ionide/ionide-fsgrammar)
|
22. ionide/ionide-fsgrammar (https://github.com/ionide/ionide-fsgrammar)
|
||||||
|
@ -33,7 +33,7 @@ This project incorporates components from the projects listed below. The origina
|
||||||
26. Jxck/assert version 1.0.0 (https://github.com/Jxck/assert)
|
26. Jxck/assert version 1.0.0 (https://github.com/Jxck/assert)
|
||||||
27. language-docker (https://github.com/moby/moby)
|
27. language-docker (https://github.com/moby/moby)
|
||||||
28. language-less version 0.34.2 (https://github.com/atom/language-less)
|
28. language-less version 0.34.2 (https://github.com/atom/language-less)
|
||||||
29. language-php version 0.44.3 (https://github.com/atom/language-php)
|
29. language-php version 0.44.4 (https://github.com/atom/language-php)
|
||||||
30. language-rust version 0.4.12 (https://github.com/zargony/atom-language-rust)
|
30. language-rust version 0.4.12 (https://github.com/zargony/atom-language-rust)
|
||||||
31. MagicStack/MagicPython version 1.1.1 (https://github.com/MagicStack/MagicPython)
|
31. MagicStack/MagicPython version 1.1.1 (https://github.com/MagicStack/MagicPython)
|
||||||
32. marked version 0.6.2 (https://github.com/markedjs/marked)
|
32. marked version 0.6.2 (https://github.com/markedjs/marked)
|
||||||
|
@ -44,29 +44,28 @@ This project incorporates components from the projects listed below. The origina
|
||||||
37. mmims/language-batchfile version 0.7.5 (https://github.com/mmims/language-batchfile)
|
37. mmims/language-batchfile version 0.7.5 (https://github.com/mmims/language-batchfile)
|
||||||
38. octref/language-css version 0.42.11 (https://github.com/octref/language-css)
|
38. octref/language-css version 0.42.11 (https://github.com/octref/language-css)
|
||||||
39. PowerShell/EditorSyntax version 1.0.0 (https://github.com/PowerShell/EditorSyntax)
|
39. PowerShell/EditorSyntax version 1.0.0 (https://github.com/PowerShell/EditorSyntax)
|
||||||
40. promise-polyfill version 8.0.0 (https://github.com/taylorhakes/promise-polyfill)
|
40. seti-ui version 0.1.0 (https://github.com/jesseweed/seti-ui)
|
||||||
41. seti-ui version 0.1.0 (https://github.com/jesseweed/seti-ui)
|
41. shaders-tmLanguage version 0.1.0 (https://github.com/tgjones/shaders-tmLanguage)
|
||||||
42. shaders-tmLanguage version 0.1.0 (https://github.com/tgjones/shaders-tmLanguage)
|
42. textmate/asp.vb.net.tmbundle (https://github.com/textmate/asp.vb.net.tmbundle)
|
||||||
43. textmate/asp.vb.net.tmbundle (https://github.com/textmate/asp.vb.net.tmbundle)
|
43. textmate/c.tmbundle (https://github.com/textmate/c.tmbundle)
|
||||||
44. textmate/c.tmbundle (https://github.com/textmate/c.tmbundle)
|
44. textmate/diff.tmbundle (https://github.com/textmate/diff.tmbundle)
|
||||||
45. textmate/diff.tmbundle (https://github.com/textmate/diff.tmbundle)
|
45. textmate/git.tmbundle (https://github.com/textmate/git.tmbundle)
|
||||||
46. textmate/git.tmbundle (https://github.com/textmate/git.tmbundle)
|
46. textmate/groovy.tmbundle (https://github.com/textmate/groovy.tmbundle)
|
||||||
47. textmate/groovy.tmbundle (https://github.com/textmate/groovy.tmbundle)
|
47. textmate/html.tmbundle (https://github.com/textmate/html.tmbundle)
|
||||||
48. textmate/html.tmbundle (https://github.com/textmate/html.tmbundle)
|
48. textmate/ini.tmbundle (https://github.com/textmate/ini.tmbundle)
|
||||||
49. textmate/ini.tmbundle (https://github.com/textmate/ini.tmbundle)
|
49. textmate/javascript.tmbundle (https://github.com/textmate/javascript.tmbundle)
|
||||||
50. textmate/javascript.tmbundle (https://github.com/textmate/javascript.tmbundle)
|
50. textmate/lua.tmbundle (https://github.com/textmate/lua.tmbundle)
|
||||||
51. textmate/lua.tmbundle (https://github.com/textmate/lua.tmbundle)
|
51. textmate/markdown.tmbundle (https://github.com/textmate/markdown.tmbundle)
|
||||||
52. textmate/markdown.tmbundle (https://github.com/textmate/markdown.tmbundle)
|
52. textmate/perl.tmbundle (https://github.com/textmate/perl.tmbundle)
|
||||||
53. textmate/perl.tmbundle (https://github.com/textmate/perl.tmbundle)
|
53. textmate/ruby.tmbundle (https://github.com/textmate/ruby.tmbundle)
|
||||||
54. textmate/ruby.tmbundle (https://github.com/textmate/ruby.tmbundle)
|
54. textmate/yaml.tmbundle (https://github.com/textmate/yaml.tmbundle)
|
||||||
55. textmate/yaml.tmbundle (https://github.com/textmate/yaml.tmbundle)
|
55. TypeScript-TmLanguage version 0.1.8 (https://github.com/Microsoft/TypeScript-TmLanguage)
|
||||||
56. TypeScript-TmLanguage version 0.1.8 (https://github.com/Microsoft/TypeScript-TmLanguage)
|
56. TypeScript-TmLanguage version 1.0.0 (https://github.com/Microsoft/TypeScript-TmLanguage)
|
||||||
57. TypeScript-TmLanguage version 1.0.0 (https://github.com/Microsoft/TypeScript-TmLanguage)
|
57. Unicode version 12.0.0 (http://www.unicode.org/)
|
||||||
58. Unicode version 12.0.0 (http://www.unicode.org/)
|
58. vscode-codicons version 0.0.1 (https://github.com/microsoft/vscode-codicons)
|
||||||
59. vscode-codicons version 0.0.1 (https://github.com/microsoft/vscode-codicons)
|
59. vscode-logfile-highlighter version 2.6.0 (https://github.com/emilast/vscode-logfile-highlighter)
|
||||||
60. vscode-logfile-highlighter version 2.5.0 (https://github.com/emilast/vscode-logfile-highlighter)
|
60. vscode-swift version 0.0.1 (https://github.com/owensd/vscode-swift)
|
||||||
61. vscode-swift version 0.0.1 (https://github.com/owensd/vscode-swift)
|
61. Web Background Synchronization (https://github.com/WICG/BackgroundSync)
|
||||||
62. Web Background Synchronization (https://github.com/WICG/BackgroundSync)
|
|
||||||
|
|
||||||
|
|
||||||
%% atom/language-clojure NOTICES AND INFORMATION BEGIN HERE
|
%% atom/language-clojure NOTICES AND INFORMATION BEGIN HERE
|
||||||
|
@ -1739,33 +1738,6 @@ SOFTWARE.
|
||||||
=========================================
|
=========================================
|
||||||
END OF PowerShell/EditorSyntax NOTICES AND INFORMATION
|
END OF PowerShell/EditorSyntax NOTICES AND INFORMATION
|
||||||
|
|
||||||
%% promise-polyfill NOTICES AND INFORMATION BEGIN HERE
|
|
||||||
=========================================
|
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2014 Taylor Hakes
|
|
||||||
Copyright (c) 2014 Forbes Lindesay
|
|
||||||
|
|
||||||
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.
|
|
||||||
=========================================
|
|
||||||
END OF promise-polyfill NOTICES AND INFORMATION
|
|
||||||
|
|
||||||
%% seti-ui NOTICES AND INFORMATION BEGIN HERE
|
%% seti-ui NOTICES AND INFORMATION BEGIN HERE
|
||||||
=========================================
|
=========================================
|
||||||
Copyright (c) 2014 Jesse Weed
|
Copyright (c) 2014 Jesse Weed
|
||||||
|
|
|
@ -77,6 +77,23 @@ steps:
|
||||||
yarn postinstall
|
yarn postinstall
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
|
env:
|
||||||
|
OSS_GITHUB_ID: "a5d3c261b032765a78de"
|
||||||
|
OSS_GITHUB_SECRET: $(oss-github-client-secret)
|
||||||
|
INSIDERS_GITHUB_ID: "31f02627809389d9f111"
|
||||||
|
INSIDERS_GITHUB_SECRET: $(insiders-github-client-secret)
|
||||||
|
STABLE_GITHUB_ID: "baa8a44b5e861d918709"
|
||||||
|
STABLE_GITHUB_SECRET: $(stable-github-client-secret)
|
||||||
|
EXPLORATION_GITHUB_ID: "94e8376d3a90429aeaea"
|
||||||
|
EXPLORATION_GITHUB_SECRET: $(exploration-github-client-secret)
|
||||||
|
VSO_GITHUB_ID: "3d4be8f37a0325b5817d"
|
||||||
|
VSO_GITHUB_SECRET: $(vso-github-client-secret)
|
||||||
|
VSO_PPE_GITHUB_ID: "eabf35024dc2e891a492"
|
||||||
|
VSO_PPE_GITHUB_SECRET: $(vso-ppe-github-client-secret)
|
||||||
|
VSO_DEV_GITHUB_ID: "84383ebd8a7c5f5efc5c"
|
||||||
|
VSO_DEV_GITHUB_SECRET: $(vso-dev-github-client-secret)
|
||||||
|
GITHUB_APP_ID: "Iv1.ae51e546bef24ff1"
|
||||||
|
GITHUB_APP_SECRET: $(github-app-client-secret)
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
@ -135,6 +152,23 @@ steps:
|
||||||
displayName: Run integration tests (Browser)
|
displayName: Run integration tests (Browser)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
APP_ROOT=$(agent.builddirectory)/VSCode-darwin
|
||||||
|
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||||
|
yarn smoketest --build "$APP_ROOT/$APP_NAME"
|
||||||
|
continueOnError: true
|
||||||
|
displayName: Run smoke tests (Electron)
|
||||||
|
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
|
||||||
|
yarn smoketest --web --headless
|
||||||
|
continueOnError: true
|
||||||
|
displayName: Run smoke tests (Browser)
|
||||||
|
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
security create-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
|
security create-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
|
||||||
|
@ -207,7 +241,7 @@ steps:
|
||||||
"toolVersion": "1.0"
|
"toolVersion": "1.0"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
SessionTimeout: 120
|
SessionTimeout: 60
|
||||||
displayName: Notarization
|
displayName: Notarization
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
|
|
|
@ -86,6 +86,23 @@ steps:
|
||||||
yarn postinstall
|
yarn postinstall
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
|
env:
|
||||||
|
OSS_GITHUB_ID: "a5d3c261b032765a78de"
|
||||||
|
OSS_GITHUB_SECRET: $(oss-github-client-secret)
|
||||||
|
INSIDERS_GITHUB_ID: "31f02627809389d9f111"
|
||||||
|
INSIDERS_GITHUB_SECRET: $(insiders-github-client-secret)
|
||||||
|
STABLE_GITHUB_ID: "baa8a44b5e861d918709"
|
||||||
|
STABLE_GITHUB_SECRET: $(stable-github-client-secret)
|
||||||
|
EXPLORATION_GITHUB_ID: "94e8376d3a90429aeaea"
|
||||||
|
EXPLORATION_GITHUB_SECRET: $(exploration-github-client-secret)
|
||||||
|
VSO_GITHUB_ID: "3d4be8f37a0325b5817d"
|
||||||
|
VSO_GITHUB_SECRET: $(vso-github-client-secret)
|
||||||
|
VSO_PPE_GITHUB_ID: "eabf35024dc2e891a492"
|
||||||
|
VSO_PPE_GITHUB_SECRET: $(vso-ppe-github-client-secret)
|
||||||
|
VSO_DEV_GITHUB_ID: "84383ebd8a7c5f5efc5c"
|
||||||
|
VSO_DEV_GITHUB_SECRET: $(vso-dev-github-client-secret)
|
||||||
|
GITHUB_APP_ID: "Iv1.ae51e546bef24ff1"
|
||||||
|
GITHUB_APP_SECRET: $(github-app-client-secret)
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
|
|
@ -76,6 +76,23 @@ steps:
|
||||||
yarn postinstall
|
yarn postinstall
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
|
env:
|
||||||
|
OSS_GITHUB_ID: "a5d3c261b032765a78de"
|
||||||
|
OSS_GITHUB_SECRET: $(oss-github-client-secret)
|
||||||
|
INSIDERS_GITHUB_ID: "31f02627809389d9f111"
|
||||||
|
INSIDERS_GITHUB_SECRET: $(insiders-github-client-secret)
|
||||||
|
STABLE_GITHUB_ID: "baa8a44b5e861d918709"
|
||||||
|
STABLE_GITHUB_SECRET: $(stable-github-client-secret)
|
||||||
|
EXPLORATION_GITHUB_ID: "94e8376d3a90429aeaea"
|
||||||
|
EXPLORATION_GITHUB_SECRET: $(exploration-github-client-secret)
|
||||||
|
VSO_GITHUB_ID: "3d4be8f37a0325b5817d"
|
||||||
|
VSO_GITHUB_SECRET: $(vso-github-client-secret)
|
||||||
|
VSO_PPE_GITHUB_ID: "eabf35024dc2e891a492"
|
||||||
|
VSO_PPE_GITHUB_SECRET: $(vso-ppe-github-client-secret)
|
||||||
|
VSO_DEV_GITHUB_ID: "84383ebd8a7c5f5efc5c"
|
||||||
|
VSO_DEV_GITHUB_SECRET: $(vso-dev-github-client-secret)
|
||||||
|
GITHUB_APP_ID: "Iv1.ae51e546bef24ff1"
|
||||||
|
GITHUB_APP_SECRET: $(github-app-client-secret)
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
|
|
@ -77,6 +77,23 @@ steps:
|
||||||
yarn postinstall
|
yarn postinstall
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['CacheRestored'], 'true'))
|
||||||
|
env:
|
||||||
|
OSS_GITHUB_ID: "a5d3c261b032765a78de"
|
||||||
|
OSS_GITHUB_SECRET: $(oss-github-client-secret)
|
||||||
|
INSIDERS_GITHUB_ID: "31f02627809389d9f111"
|
||||||
|
INSIDERS_GITHUB_SECRET: $(insiders-github-client-secret)
|
||||||
|
STABLE_GITHUB_ID: "baa8a44b5e861d918709"
|
||||||
|
STABLE_GITHUB_SECRET: $(stable-github-client-secret)
|
||||||
|
EXPLORATION_GITHUB_ID: "94e8376d3a90429aeaea"
|
||||||
|
EXPLORATION_GITHUB_SECRET: $(exploration-github-client-secret)
|
||||||
|
VSO_GITHUB_ID: "3d4be8f37a0325b5817d"
|
||||||
|
VSO_GITHUB_SECRET: $(vso-github-client-secret)
|
||||||
|
VSO_PPE_GITHUB_ID: "eabf35024dc2e891a492"
|
||||||
|
VSO_PPE_GITHUB_SECRET: $(vso-ppe-github-client-secret)
|
||||||
|
VSO_DEV_GITHUB_ID: "84383ebd8a7c5f5efc5c"
|
||||||
|
VSO_DEV_GITHUB_SECRET: $(vso-dev-github-client-secret)
|
||||||
|
GITHUB_APP_ID: "Iv1.ae51e546bef24ff1"
|
||||||
|
GITHUB_APP_SECRET: $(github-app-client-secret)
|
||||||
|
|
||||||
# Mixin must run before optimize, because the CSS loader will
|
# Mixin must run before optimize, because the CSS loader will
|
||||||
# inline small SVGs
|
# inline small SVGs
|
||||||
|
|
|
@ -86,6 +86,23 @@ steps:
|
||||||
exec { yarn postinstall }
|
exec { yarn postinstall }
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
|
env:
|
||||||
|
OSS_GITHUB_ID: "a5d3c261b032765a78de"
|
||||||
|
OSS_GITHUB_SECRET: $(oss-github-client-secret)
|
||||||
|
INSIDERS_GITHUB_ID: "31f02627809389d9f111"
|
||||||
|
INSIDERS_GITHUB_SECRET: $(insiders-github-client-secret)
|
||||||
|
STABLE_GITHUB_ID: "baa8a44b5e861d918709"
|
||||||
|
STABLE_GITHUB_SECRET: $(stable-github-client-secret)
|
||||||
|
EXPLORATION_GITHUB_ID: "94e8376d3a90429aeaea"
|
||||||
|
EXPLORATION_GITHUB_SECRET: $(exploration-github-client-secret)
|
||||||
|
VSO_GITHUB_ID: "3d4be8f37a0325b5817d"
|
||||||
|
VSO_GITHUB_SECRET: $(vso-github-client-secret)
|
||||||
|
VSO_PPE_GITHUB_ID: "eabf35024dc2e891a492"
|
||||||
|
VSO_PPE_GITHUB_SECRET: $(vso-ppe-github-client-secret)
|
||||||
|
VSO_DEV_GITHUB_ID: "84383ebd8a7c5f5efc5c"
|
||||||
|
VSO_DEV_GITHUB_SECRET: $(vso-dev-github-client-secret)
|
||||||
|
GITHUB_APP_ID: "Iv1.ae51e546bef24ff1"
|
||||||
|
GITHUB_APP_SECRET: $(github-app-client-secret)
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"name": "ms-vscode.node-debug",
|
|
||||||
"version": "1.43.0",
|
|
||||||
"repo": "https://github.com/Microsoft/vscode-node-debug",
|
|
||||||
"metadata": {
|
|
||||||
"id": "b6ded8fb-a0a0-4c1c-acbd-ab2a3bc995a6",
|
|
||||||
"publisherId": {
|
|
||||||
"publisherId": "5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",
|
|
||||||
"publisherName": "ms-vscode",
|
|
||||||
"displayName": "Microsoft",
|
|
||||||
"flags": "verified"
|
|
||||||
},
|
|
||||||
"publisherDisplayName": "Microsoft"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ms-vscode.node-debug2",
|
|
||||||
"version": "1.42.1",
|
|
||||||
"repo": "https://github.com/Microsoft/vscode-node-debug2",
|
|
||||||
"metadata": {
|
|
||||||
"id": "36d19e17-7569-4841-a001-947eb18602b2",
|
|
||||||
"publisherId": {
|
|
||||||
"publisherId": "5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",
|
|
||||||
"publisherName": "ms-vscode",
|
|
||||||
"displayName": "Microsoft",
|
|
||||||
"flags": "verified"
|
|
||||||
},
|
|
||||||
"publisherDisplayName": "Microsoft"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ms-vscode.references-view",
|
|
||||||
"version": "0.0.47",
|
|
||||||
"repo": "https://github.com/Microsoft/vscode-reference-view",
|
|
||||||
"metadata": {
|
|
||||||
"id": "dc489f46-520d-4556-ae85-1f9eab3c412d",
|
|
||||||
"publisherId": {
|
|
||||||
"publisherId": "5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",
|
|
||||||
"publisherName": "ms-vscode",
|
|
||||||
"displayName": "Microsoft",
|
|
||||||
"flags": "verified"
|
|
||||||
},
|
|
||||||
"publisherDisplayName": "Microsoft"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ms-vscode.js-debug-nightly",
|
|
||||||
"version": "2020.2.1117",
|
|
||||||
"forQualities": [
|
|
||||||
"insider"
|
|
||||||
],
|
|
||||||
"repo": "https://github.com/Microsoft/vscode-js-debug",
|
|
||||||
"metadata": {
|
|
||||||
"id": "7acbb4ce-c85a-49d4-8d95-a8054406ae97",
|
|
||||||
"publisherId": {
|
|
||||||
"publisherId": "5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",
|
|
||||||
"publisherName": "ms-vscode",
|
|
||||||
"displayName": "Microsoft",
|
|
||||||
"flags": "verified"
|
|
||||||
},
|
|
||||||
"publisherDisplayName": "Microsoft"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
|
@ -6,12 +6,10 @@
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const os = require('os');
|
const os = require('os');
|
||||||
// @ts-ignore review
|
|
||||||
const { remote } = require('electron');
|
const { remote } = require('electron');
|
||||||
const dialog = remote.dialog;
|
const dialog = remote.dialog;
|
||||||
|
|
||||||
const productJsonPath = path.join(__dirname, '..', '..', 'product.json');
|
const builtInExtensionsPath = path.join(__dirname, '..', '..', 'product.json');
|
||||||
const builtInExtensionsPath = path.join(__dirname, '..', 'builtInExtensions.json');
|
|
||||||
const controlFilePath = path.join(os.homedir(), '.vscode-oss-dev', 'extensions', 'control.json');
|
const controlFilePath = path.join(os.homedir(), '.vscode-oss-dev', 'extensions', 'control.json');
|
||||||
|
|
||||||
function readJson(filePath) {
|
function readJson(filePath) {
|
||||||
|
@ -52,7 +50,6 @@ function render(el, state) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const ul = document.createElement('ul');
|
const ul = document.createElement('ul');
|
||||||
const { quality } = readJson(productJsonPath);
|
|
||||||
const { builtin, control } = state;
|
const { builtin, control } = state;
|
||||||
|
|
||||||
for (const ext of builtin) {
|
for (const ext of builtin) {
|
||||||
|
@ -63,10 +60,6 @@ function render(el, state) {
|
||||||
|
|
||||||
const name = document.createElement('code');
|
const name = document.createElement('code');
|
||||||
name.textContent = ext.name;
|
name.textContent = ext.name;
|
||||||
if (quality && ext.forQualities && !ext.forQualities.includes(quality)) {
|
|
||||||
name.textContent += ` (only on ${ext.forQualities.join(', ')})`;
|
|
||||||
}
|
|
||||||
|
|
||||||
li.appendChild(name);
|
li.appendChild(name);
|
||||||
|
|
||||||
const form = document.createElement('form');
|
const form = document.createElement('form');
|
||||||
|
@ -117,7 +110,7 @@ function render(el, state) {
|
||||||
|
|
||||||
function main() {
|
function main() {
|
||||||
const el = document.getElementById('extensions');
|
const el = document.getElementById('extensions');
|
||||||
const builtin = readJson(builtInExtensionsPath);
|
const builtin = readJson(builtInExtensionsPath).builtInExtensions;
|
||||||
let control;
|
let control;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -16,6 +16,8 @@ const cp = require('child_process');
|
||||||
const compilation = require('./lib/compilation');
|
const compilation = require('./lib/compilation');
|
||||||
const monacoapi = require('./monaco/api');
|
const monacoapi = require('./monaco/api');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
const webpack = require('webpack');
|
||||||
|
const webpackGulp = require('webpack-stream');
|
||||||
|
|
||||||
let root = path.dirname(__dirname);
|
let root = path.dirname(__dirname);
|
||||||
let sha1 = util.getVersion(root);
|
let sha1 = util.getVersion(root);
|
||||||
|
@ -70,13 +72,8 @@ const extractEditorSrcTask = task.define('extract-editor-src', () => {
|
||||||
apiusages,
|
apiusages,
|
||||||
extrausages
|
extrausages
|
||||||
],
|
],
|
||||||
libs: [
|
|
||||||
`lib.es5.d.ts`,
|
|
||||||
`lib.dom.d.ts`,
|
|
||||||
`lib.webworker.importscripts.d.ts`
|
|
||||||
],
|
|
||||||
shakeLevel: 2, // 0-Files, 1-InnerFile, 2-ClassMembers
|
shakeLevel: 2, // 0-Files, 1-InnerFile, 2-ClassMembers
|
||||||
importIgnorePattern: /(^vs\/css!)|(promise-polyfill\/polyfill)/,
|
importIgnorePattern: /(^vs\/css!)/,
|
||||||
destRoot: path.join(root, 'out-editor-src'),
|
destRoot: path.join(root, 'out-editor-src'),
|
||||||
redirects: []
|
redirects: []
|
||||||
});
|
});
|
||||||
|
@ -129,6 +126,7 @@ const createESMSourcesAndResourcesTask = task.define('extract-editor-esm', () =>
|
||||||
});
|
});
|
||||||
|
|
||||||
const compileEditorESMTask = task.define('compile-editor-esm', () => {
|
const compileEditorESMTask = task.define('compile-editor-esm', () => {
|
||||||
|
const KEEP_PREV_ANALYSIS = false;
|
||||||
console.log(`Launching the TS compiler at ${path.join(__dirname, '../out-editor-esm')}...`);
|
console.log(`Launching the TS compiler at ${path.join(__dirname, '../out-editor-esm')}...`);
|
||||||
let result;
|
let result;
|
||||||
if (process.platform === 'win32') {
|
if (process.platform === 'win32') {
|
||||||
|
@ -147,7 +145,13 @@ const compileEditorESMTask = task.define('compile-editor-esm', () => {
|
||||||
if (result.status !== 0) {
|
if (result.status !== 0) {
|
||||||
console.log(`The TS Compilation failed, preparing analysis folder...`);
|
console.log(`The TS Compilation failed, preparing analysis folder...`);
|
||||||
const destPath = path.join(__dirname, '../../vscode-monaco-editor-esm-analysis');
|
const destPath = path.join(__dirname, '../../vscode-monaco-editor-esm-analysis');
|
||||||
return util.rimraf(destPath)().then(() => {
|
const keepPrevAnalysis = (KEEP_PREV_ANALYSIS && fs.existsSync(destPath));
|
||||||
|
const cleanDestPath = (keepPrevAnalysis ? Promise.resolve() : util.rimraf(destPath)());
|
||||||
|
return cleanDestPath.then(() => {
|
||||||
|
// build a list of files to copy
|
||||||
|
const files = util.rreddir(path.join(__dirname, '../out-editor-esm'));
|
||||||
|
|
||||||
|
if (!keepPrevAnalysis) {
|
||||||
fs.mkdirSync(destPath);
|
fs.mkdirSync(destPath);
|
||||||
|
|
||||||
// initialize a new repository
|
// initialize a new repository
|
||||||
|
@ -155,9 +159,6 @@ const compileEditorESMTask = task.define('compile-editor-esm', () => {
|
||||||
cwd: destPath
|
cwd: destPath
|
||||||
});
|
});
|
||||||
|
|
||||||
// build a list of files to copy
|
|
||||||
const files = util.rreddir(path.join(__dirname, '../out-editor-esm'));
|
|
||||||
|
|
||||||
// copy files from src
|
// copy files from src
|
||||||
for (const file of files) {
|
for (const file of files) {
|
||||||
const srcFilePath = path.join(__dirname, '../src', file);
|
const srcFilePath = path.join(__dirname, '../src', file);
|
||||||
|
@ -178,10 +179,11 @@ const compileEditorESMTask = task.define('compile-editor-esm', () => {
|
||||||
cp.spawnSync(`git`, [`commit`, `-m`, `"original sources"`, `--no-gpg-sign`], {
|
cp.spawnSync(`git`, [`commit`, `-m`, `"original sources"`, `--no-gpg-sign`], {
|
||||||
cwd: destPath
|
cwd: destPath
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// copy files from esm
|
// copy files from tree shaken src
|
||||||
for (const file of files) {
|
for (const file of files) {
|
||||||
const srcFilePath = path.join(__dirname, '../out-editor-esm', file);
|
const srcFilePath = path.join(__dirname, '../out-editor-src', file);
|
||||||
const dstFilePath = path.join(destPath, file);
|
const dstFilePath = path.join(destPath, file);
|
||||||
if (fs.existsSync(srcFilePath)) {
|
if (fs.existsSync(srcFilePath)) {
|
||||||
util.ensureDir(path.dirname(dstFilePath));
|
util.ensureDir(path.dirname(dstFilePath));
|
||||||
|
@ -332,6 +334,13 @@ const finalEditorResourcesTask = task.define('final-editor-resources', () => {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
gulp.task('extract-editor-src',
|
||||||
|
task.series(
|
||||||
|
util.rimraf('out-editor-src'),
|
||||||
|
extractEditorSrcTask
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
gulp.task('editor-distro',
|
gulp.task('editor-distro',
|
||||||
task.series(
|
task.series(
|
||||||
task.parallel(
|
task.parallel(
|
||||||
|
@ -358,6 +367,49 @@ gulp.task('editor-distro',
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const bundleEditorESMTask = task.define('editor-esm-bundle-webpack', () => {
|
||||||
|
const result = es.through();
|
||||||
|
|
||||||
|
const webpackConfigPath = path.join(root, 'build/monaco/monaco.webpack.config.js');
|
||||||
|
|
||||||
|
const webpackConfig = {
|
||||||
|
...require(webpackConfigPath),
|
||||||
|
...{ mode: 'production' }
|
||||||
|
};
|
||||||
|
|
||||||
|
const webpackDone = (err, stats) => {
|
||||||
|
if (err) {
|
||||||
|
result.emit('error', err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const { compilation } = stats;
|
||||||
|
if (compilation.errors.length > 0) {
|
||||||
|
result.emit('error', compilation.errors.join('\n'));
|
||||||
|
}
|
||||||
|
if (compilation.warnings.length > 0) {
|
||||||
|
result.emit('data', compilation.warnings.join('\n'));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return webpackGulp(webpackConfig, webpack, webpackDone)
|
||||||
|
.pipe(gulp.dest('out-editor-esm-bundle'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('editor-esm-bundle',
|
||||||
|
task.series(
|
||||||
|
task.parallel(
|
||||||
|
util.rimraf('out-editor-src'),
|
||||||
|
util.rimraf('out-editor-esm'),
|
||||||
|
util.rimraf('out-monaco-editor-core'),
|
||||||
|
util.rimraf('out-editor-esm-bundle'),
|
||||||
|
),
|
||||||
|
extractEditorSrcTask,
|
||||||
|
createESMSourcesAndResourcesTask,
|
||||||
|
compileEditorESMTask,
|
||||||
|
bundleEditorESMTask,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
gulp.task('monacodts', task.define('monacodts', () => {
|
gulp.task('monacodts', task.define('monacodts', () => {
|
||||||
const result = monacoapi.execute();
|
const result = monacoapi.execute();
|
||||||
fs.writeFileSync(result.filePath, result.content);
|
fs.writeFileSync(result.filePath, result.content);
|
||||||
|
@ -403,10 +455,8 @@ function createTscCompileTask(watch) {
|
||||||
// e.g. src/vs/base/common/strings.ts(663,5): error TS2322: Type '1234' is not assignable to type 'string'.
|
// e.g. src/vs/base/common/strings.ts(663,5): error TS2322: Type '1234' is not assignable to type 'string'.
|
||||||
let fullpath = path.join(root, match[1]);
|
let fullpath = path.join(root, match[1]);
|
||||||
let message = match[3];
|
let message = match[3];
|
||||||
// @ts-ignore
|
|
||||||
reporter(fullpath + message);
|
reporter(fullpath + message);
|
||||||
} else {
|
} else {
|
||||||
// @ts-ignore
|
|
||||||
reporter(str);
|
reporter(str);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,7 +114,6 @@ const copyrightFilter = [
|
||||||
'!**/*.disabled',
|
'!**/*.disabled',
|
||||||
'!**/*.code-workspace',
|
'!**/*.code-workspace',
|
||||||
'!**/*.js.map',
|
'!**/*.js.map',
|
||||||
'!**/promise-polyfill/polyfill.js',
|
|
||||||
'!build/**/*.init',
|
'!build/**/*.init',
|
||||||
'!resources/linux/snap/snapcraft.yaml',
|
'!resources/linux/snap/snapcraft.yaml',
|
||||||
'!resources/linux/snap/electron-launch',
|
'!resources/linux/snap/electron-launch',
|
||||||
|
|
|
@ -37,10 +37,8 @@ const { compileBuildTask } = require('./gulpfile.compile');
|
||||||
const { compileExtensionsBuildTask } = require('./gulpfile.extensions');
|
const { compileExtensionsBuildTask } = require('./gulpfile.extensions');
|
||||||
|
|
||||||
const productionDependencies = deps.getProductionDependencies(path.dirname(__dirname));
|
const productionDependencies = deps.getProductionDependencies(path.dirname(__dirname));
|
||||||
// @ts-ignore
|
|
||||||
const baseModules = Object.keys(process.binding('natives')).filter(n => !/^_|\//.test(n));
|
const baseModules = Object.keys(process.binding('natives')).filter(n => !/^_|\//.test(n));
|
||||||
const nodeModules = ['electron', 'original-fs']
|
const nodeModules = ['electron', 'original-fs']
|
||||||
// @ts-ignore JSON checking: dependencies property is optional
|
|
||||||
.concat(Object.keys(product.dependencies || {}))
|
.concat(Object.keys(product.dependencies || {}))
|
||||||
.concat(_.uniq(productionDependencies.map(d => d.name)))
|
.concat(_.uniq(productionDependencies.map(d => d.name)))
|
||||||
.concat(baseModules);
|
.concat(baseModules);
|
||||||
|
@ -93,7 +91,6 @@ const optimizeVSCodeTask = task.define('optimize-vscode', task.series(
|
||||||
resources: vscodeResources,
|
resources: vscodeResources,
|
||||||
loaderConfig: common.loaderConfig(nodeModules),
|
loaderConfig: common.loaderConfig(nodeModules),
|
||||||
out: 'out-vscode',
|
out: 'out-vscode',
|
||||||
inlineAmdImages: true,
|
|
||||||
bundleInfo: undefined
|
bundleInfo: undefined
|
||||||
})
|
})
|
||||||
));
|
));
|
||||||
|
|
|
@ -91,9 +91,7 @@ function prepareDebPackage(arch) {
|
||||||
const postinst = gulp.src('resources/linux/debian/postinst.template', { base: '.' })
|
const postinst = gulp.src('resources/linux/debian/postinst.template', { base: '.' })
|
||||||
.pipe(replace('@@NAME@@', product.applicationName))
|
.pipe(replace('@@NAME@@', product.applicationName))
|
||||||
.pipe(replace('@@ARCHITECTURE@@', debArch))
|
.pipe(replace('@@ARCHITECTURE@@', debArch))
|
||||||
// @ts-ignore JSON checking: quality is optional
|
|
||||||
.pipe(replace('@@QUALITY@@', product.quality || '@@QUALITY@@'))
|
.pipe(replace('@@QUALITY@@', product.quality || '@@QUALITY@@'))
|
||||||
// @ts-ignore JSON checking: updateUrl is optional
|
|
||||||
.pipe(replace('@@UPDATEURL@@', product.updateUrl || '@@UPDATEURL@@'))
|
.pipe(replace('@@UPDATEURL@@', product.updateUrl || '@@UPDATEURL@@'))
|
||||||
.pipe(rename('DEBIAN/postinst'));
|
.pipe(rename('DEBIAN/postinst'));
|
||||||
|
|
||||||
|
@ -167,9 +165,7 @@ function prepareRpmPackage(arch) {
|
||||||
.pipe(replace('@@RELEASE@@', linuxPackageRevision))
|
.pipe(replace('@@RELEASE@@', linuxPackageRevision))
|
||||||
.pipe(replace('@@ARCHITECTURE@@', rpmArch))
|
.pipe(replace('@@ARCHITECTURE@@', rpmArch))
|
||||||
.pipe(replace('@@LICENSE@@', product.licenseName))
|
.pipe(replace('@@LICENSE@@', product.licenseName))
|
||||||
// @ts-ignore JSON checking: quality is optional
|
|
||||||
.pipe(replace('@@QUALITY@@', product.quality || '@@QUALITY@@'))
|
.pipe(replace('@@QUALITY@@', product.quality || '@@QUALITY@@'))
|
||||||
// @ts-ignore JSON checking: updateUrl is optional
|
|
||||||
.pipe(replace('@@UPDATEURL@@', product.updateUrl || '@@UPDATEURL@@'))
|
.pipe(replace('@@UPDATEURL@@', product.updateUrl || '@@UPDATEURL@@'))
|
||||||
.pipe(replace('@@DEPENDENCIES@@', rpmDependencies[rpmArch].join(', ')))
|
.pipe(replace('@@DEPENDENCIES@@', rpmDependencies[rpmArch].join(', ')))
|
||||||
.pipe(rename('SPECS/' + product.applicationName + '.spec'));
|
.pipe(rename('SPECS/' + product.applicationName + '.spec'));
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.createAsar = void 0;
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const es = require("event-stream");
|
const es = require("event-stream");
|
||||||
const pickle = require('chromium-pickle-js');
|
const pickle = require('chromium-pickle-js');
|
||||||
|
|
|
@ -18,7 +18,7 @@ const fancyLog = require('fancy-log');
|
||||||
const ansiColors = require('ansi-colors');
|
const ansiColors = require('ansi-colors');
|
||||||
|
|
||||||
const root = path.dirname(path.dirname(__dirname));
|
const root = path.dirname(path.dirname(__dirname));
|
||||||
const builtInExtensions = require('../builtInExtensions.json');
|
const builtInExtensions = JSON.parse(fs.readFileSync(path.join(__dirname, '../../product.json'), 'utf8')).builtInExtensions;
|
||||||
const controlFilePath = path.join(os.homedir(), '.vscode-oss-dev', 'extensions', 'control.json');
|
const controlFilePath = path.join(os.homedir(), '.vscode-oss-dev', 'extensions', 'control.json');
|
||||||
const ENABLE_LOGGING = !process.env['VSCODE_BUILD_BUILTIN_EXTENSIONS_SILENCE_PLEASE'];
|
const ENABLE_LOGGING = !process.env['VSCODE_BUILD_BUILTIN_EXTENSIONS_SILENCE_PLEASE'];
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.bundle = void 0;
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const vm = require("vm");
|
const vm = require("vm");
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.watchTask = exports.compileTask = void 0;
|
||||||
const es = require("event-stream");
|
const es = require("event-stream");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const gulp = require("gulp");
|
const gulp = require("gulp");
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.config = exports.getElectronVersion = void 0;
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const vfs = require("vinyl-fs");
|
const vfs = require("vinyl-fs");
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.createImportRuleListener = void 0;
|
||||||
function createImportRuleListener(validateImport) {
|
function createImportRuleListener(validateImport) {
|
||||||
function _checkImport(node) {
|
function _checkImport(node) {
|
||||||
if (node && node.type === 'Literal' && typeof node.value === 'string') {
|
if (node && node.type === 'Literal' && typeof node.value === 'string') {
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.packageMarketplaceExtensionsStream = exports.packageLocalExtensionsStream = exports.fromMarketplace = void 0;
|
||||||
const es = require("event-stream");
|
const es = require("event-stream");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const glob = require("glob");
|
const glob = require("glob");
|
||||||
|
@ -27,7 +28,6 @@ const util = require('./util');
|
||||||
const root = path.dirname(path.dirname(__dirname));
|
const root = path.dirname(path.dirname(__dirname));
|
||||||
const commit = util.getVersion(root);
|
const commit = util.getVersion(root);
|
||||||
const sourceMappingURLBase = `https://ticino.blob.core.windows.net/sourcemaps/${commit}`;
|
const sourceMappingURLBase = `https://ticino.blob.core.windows.net/sourcemaps/${commit}`;
|
||||||
const product = require('../../product.json');
|
|
||||||
function fromLocal(extensionPath) {
|
function fromLocal(extensionPath) {
|
||||||
const webpackFilename = path.join(extensionPath, 'extension.webpack.config.js');
|
const webpackFilename = path.join(extensionPath, 'extension.webpack.config.js');
|
||||||
const input = fs.existsSync(webpackFilename)
|
const input = fs.existsSync(webpackFilename)
|
||||||
|
@ -181,14 +181,13 @@ function fromMarketplace(extensionName, version, metadata) {
|
||||||
exports.fromMarketplace = fromMarketplace;
|
exports.fromMarketplace = fromMarketplace;
|
||||||
const excludedExtensions = [
|
const excludedExtensions = [
|
||||||
'vscode-api-tests',
|
'vscode-api-tests',
|
||||||
|
'vscode-web-playground',
|
||||||
'vscode-colorize-tests',
|
'vscode-colorize-tests',
|
||||||
'vscode-test-resolver',
|
'vscode-test-resolver',
|
||||||
'ms-vscode.node-debug',
|
'ms-vscode.node-debug',
|
||||||
'ms-vscode.node-debug2',
|
'ms-vscode.node-debug2',
|
||||||
'ms.vscode.js-debug-nightly'
|
|
||||||
];
|
];
|
||||||
const builtInExtensions = require('../builtInExtensions.json')
|
const builtInExtensions = JSON.parse(fs.readFileSync(path.join(__dirname, '../../product.json'), 'utf8')).builtInExtensions;
|
||||||
.filter(({ forQualities }) => { var _a; return !product.quality || ((_a = forQualities === null || forQualities === void 0 ? void 0 : forQualities.includes) === null || _a === void 0 ? void 0 : _a.call(forQualities, product.quality)) !== false; });
|
|
||||||
function packageLocalExtensionsStream() {
|
function packageLocalExtensionsStream() {
|
||||||
const localExtensionDescriptions = glob.sync('extensions/*/package.json')
|
const localExtensionDescriptions = glob.sync('extensions/*/package.json')
|
||||||
.map(manifestPath => {
|
.map(manifestPath => {
|
||||||
|
|
|
@ -27,7 +27,6 @@ const util = require('./util');
|
||||||
const root = path.dirname(path.dirname(__dirname));
|
const root = path.dirname(path.dirname(__dirname));
|
||||||
const commit = util.getVersion(root);
|
const commit = util.getVersion(root);
|
||||||
const sourceMappingURLBase = `https://ticino.blob.core.windows.net/sourcemaps/${commit}`;
|
const sourceMappingURLBase = `https://ticino.blob.core.windows.net/sourcemaps/${commit}`;
|
||||||
const product = require('../../product.json');
|
|
||||||
|
|
||||||
function fromLocal(extensionPath: string): Stream {
|
function fromLocal(extensionPath: string): Stream {
|
||||||
const webpackFilename = path.join(extensionPath, 'extension.webpack.config.js');
|
const webpackFilename = path.join(extensionPath, 'extension.webpack.config.js');
|
||||||
|
@ -216,23 +215,21 @@ export function fromMarketplace(extensionName: string, version: string, metadata
|
||||||
|
|
||||||
const excludedExtensions = [
|
const excludedExtensions = [
|
||||||
'vscode-api-tests',
|
'vscode-api-tests',
|
||||||
|
'vscode-web-playground',
|
||||||
'vscode-colorize-tests',
|
'vscode-colorize-tests',
|
||||||
'vscode-test-resolver',
|
'vscode-test-resolver',
|
||||||
'ms-vscode.node-debug',
|
'ms-vscode.node-debug',
|
||||||
'ms-vscode.node-debug2',
|
'ms-vscode.node-debug2',
|
||||||
'ms.vscode.js-debug-nightly'
|
|
||||||
];
|
];
|
||||||
|
|
||||||
interface IBuiltInExtension {
|
interface IBuiltInExtension {
|
||||||
name: string;
|
name: string;
|
||||||
version: string;
|
version: string;
|
||||||
repo: string;
|
repo: string;
|
||||||
forQualities?: ReadonlyArray<string>;
|
|
||||||
metadata: any;
|
metadata: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
const builtInExtensions = (<IBuiltInExtension[]>require('../builtInExtensions.json'))
|
const builtInExtensions: IBuiltInExtension[] = JSON.parse(fs.readFileSync(path.join(__dirname, '../../product.json'), 'utf8')).builtInExtensions;
|
||||||
.filter(({ forQualities }) => !product.quality || forQualities?.includes?.(product.quality) !== false);
|
|
||||||
|
|
||||||
export function packageLocalExtensionsStream(): NodeJS.ReadWriteStream {
|
export function packageLocalExtensionsStream(): NodeJS.ReadWriteStream {
|
||||||
const localExtensionDescriptions = (<string[]>glob.sync('extensions/*/package.json'))
|
const localExtensionDescriptions = (<string[]>glob.sync('extensions/*/package.json'))
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.getVersion = void 0;
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.prepareIslFiles = exports.prepareI18nPackFiles = exports.pullI18nPackFiles = exports.prepareI18nFiles = exports.pullSetupXlfFiles = exports.pullCoreAndExtensionsXlfFiles = exports.findObsoleteResources = exports.pushXlfFiles = exports.createXlfFilesForIsl = exports.createXlfFilesForExtensions = exports.createXlfFilesForCoreBundle = exports.getResource = exports.processNlsFiles = exports.Limiter = exports.XLF = exports.Line = exports.externalExtensionsWithTranslations = exports.extraLanguages = exports.defaultLanguages = void 0;
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const event_stream_1 = require("event-stream");
|
const event_stream_1 = require("event-stream");
|
||||||
|
@ -100,7 +101,8 @@ class TextModel {
|
||||||
return this._lines;
|
return this._lines;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class XLF {
|
let XLF = /** @class */ (() => {
|
||||||
|
class XLF {
|
||||||
constructor(project) {
|
constructor(project) {
|
||||||
this.project = project;
|
this.project = project;
|
||||||
this.buffer = [];
|
this.buffer = [];
|
||||||
|
@ -112,7 +114,7 @@ class XLF {
|
||||||
for (let file in this.files) {
|
for (let file in this.files) {
|
||||||
this.appendNewLine(`<file original="${file}" source-language="en" datatype="plaintext"><body>`, 2);
|
this.appendNewLine(`<file original="${file}" source-language="en" datatype="plaintext"><body>`, 2);
|
||||||
for (let item of this.files[file]) {
|
for (let item of this.files[file]) {
|
||||||
this.addStringItem(item);
|
this.addStringItem(file, item);
|
||||||
}
|
}
|
||||||
this.appendNewLine('</body></file>', 2);
|
this.appendNewLine('</body></file>', 2);
|
||||||
}
|
}
|
||||||
|
@ -152,9 +154,12 @@ class XLF {
|
||||||
this.files[original].push({ id: realKey, message: message, comment: comment });
|
this.files[original].push({ id: realKey, message: message, comment: comment });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
addStringItem(item) {
|
addStringItem(file, item) {
|
||||||
if (!item.id || !item.message) {
|
if (!item.id || item.message === undefined || item.message === null) {
|
||||||
throw new Error(`No item ID or value specified: ${JSON.stringify(item)}`);
|
throw new Error(`No item ID or value specified: ${JSON.stringify(item)}. File: ${file}`);
|
||||||
|
}
|
||||||
|
if (item.message.length === 0) {
|
||||||
|
log(`Item with id ${item.id} in file ${file} has an empty message.`);
|
||||||
}
|
}
|
||||||
this.appendNewLine(`<trans-unit id="${item.id}">`, 4);
|
this.appendNewLine(`<trans-unit id="${item.id}">`, 4);
|
||||||
this.appendNewLine(`<source xml:lang="en">${item.message}</source>`, 6);
|
this.appendNewLine(`<source xml:lang="en">${item.message}</source>`, 6);
|
||||||
|
@ -175,9 +180,8 @@ class XLF {
|
||||||
line.append(content);
|
line.append(content);
|
||||||
this.buffer.push(line.toString());
|
this.buffer.push(line.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.XLF = XLF;
|
XLF.parsePseudo = function (xlfString) {
|
||||||
XLF.parsePseudo = function (xlfString) {
|
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
let parser = new xml2js.Parser();
|
let parser = new xml2js.Parser();
|
||||||
let files = [];
|
let files = [];
|
||||||
|
@ -201,8 +205,8 @@ XLF.parsePseudo = function (xlfString) {
|
||||||
resolve(files);
|
resolve(files);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
XLF.parse = function (xlfString) {
|
XLF.parse = function (xlfString) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
let parser = new xml2js.Parser();
|
let parser = new xml2js.Parser();
|
||||||
let files = [];
|
let files = [];
|
||||||
|
@ -248,7 +252,10 @@ XLF.parse = function (xlfString) {
|
||||||
resolve(files);
|
resolve(files);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
return XLF;
|
||||||
|
})();
|
||||||
|
exports.XLF = XLF;
|
||||||
class Limiter {
|
class Limiter {
|
||||||
constructor(maxDegreeOfParalellism) {
|
constructor(maxDegreeOfParalellism) {
|
||||||
this.maxDegreeOfParalellism = maxDegreeOfParalellism;
|
this.maxDegreeOfParalellism = maxDegreeOfParalellism;
|
||||||
|
|
|
@ -110,10 +110,6 @@
|
||||||
"name": "vs/workbench/contrib/output",
|
"name": "vs/workbench/contrib/output",
|
||||||
"project": "vscode-workbench"
|
"project": "vscode-workbench"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "vs/workbench/contrib/openInDesktop",
|
|
||||||
"project": "vscode-workbench"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "vs/workbench/contrib/performance",
|
"name": "vs/workbench/contrib/performance",
|
||||||
"project": "vscode-workbench"
|
"project": "vscode-workbench"
|
||||||
|
@ -123,7 +119,11 @@
|
||||||
"project": "vscode-workbench"
|
"project": "vscode-workbench"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vs/workbench/contrib/quickopen",
|
"name": "vs/workbench/contrib/notebook",
|
||||||
|
"project": "vscode-workbench"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vs/workbench/contrib/quickaccess",
|
||||||
"project": "vscode-workbench"
|
"project": "vscode-workbench"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -262,6 +262,10 @@
|
||||||
"name": "vs/workbench/services/files",
|
"name": "vs/workbench/services/files",
|
||||||
"project": "vscode-workbench"
|
"project": "vscode-workbench"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "vs/workbench/services/log",
|
||||||
|
"project": "vscode-workbench"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "vs/workbench/services/integrity",
|
"name": "vs/workbench/services/integrity",
|
||||||
"project": "vscode-workbench"
|
"project": "vscode-workbench"
|
||||||
|
@ -302,6 +306,10 @@
|
||||||
"name": "vs/workbench/services/textMate",
|
"name": "vs/workbench/services/textMate",
|
||||||
"project": "vscode-workbench"
|
"project": "vscode-workbench"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "vs/workbench/services/workingCopy",
|
||||||
|
"project": "vscode-workbench"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "vs/workbench/services/workspaces",
|
"name": "vs/workbench/services/workspaces",
|
||||||
"project": "vscode-workbench"
|
"project": "vscode-workbench"
|
||||||
|
@ -333,6 +341,10 @@
|
||||||
{
|
{
|
||||||
"name": "vs/workbench/contrib/timeline",
|
"name": "vs/workbench/contrib/timeline",
|
||||||
"project": "vscode-workbench"
|
"project": "vscode-workbench"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vs/workbench/services/authentication",
|
||||||
|
"project": "vscode-workbench"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -201,7 +201,7 @@ export class XLF {
|
||||||
for (let file in this.files) {
|
for (let file in this.files) {
|
||||||
this.appendNewLine(`<file original="${file}" source-language="en" datatype="plaintext"><body>`, 2);
|
this.appendNewLine(`<file original="${file}" source-language="en" datatype="plaintext"><body>`, 2);
|
||||||
for (let item of this.files[file]) {
|
for (let item of this.files[file]) {
|
||||||
this.addStringItem(item);
|
this.addStringItem(file, item);
|
||||||
}
|
}
|
||||||
this.appendNewLine('</body></file>', 2);
|
this.appendNewLine('</body></file>', 2);
|
||||||
}
|
}
|
||||||
|
@ -243,9 +243,12 @@ export class XLF {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private addStringItem(item: Item): void {
|
private addStringItem(file: string, item: Item): void {
|
||||||
if (!item.id || !item.message) {
|
if (!item.id || item.message === undefined || item.message === null) {
|
||||||
throw new Error(`No item ID or value specified: ${JSON.stringify(item)}`);
|
throw new Error(`No item ID or value specified: ${JSON.stringify(item)}. File: ${file}`);
|
||||||
|
}
|
||||||
|
if (item.message.length === 0) {
|
||||||
|
log(`Item with id ${item.id} in file ${file} has an empty message.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.appendNewLine(`<trans-unit id="${item.id}">`, 4);
|
this.appendNewLine(`<trans-unit id="${item.id}">`, 4);
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.minifyTask = exports.optimizeTask = exports.loaderConfig = void 0;
|
||||||
const es = require("event-stream");
|
const es = require("event-stream");
|
||||||
const fs = require("fs");
|
|
||||||
const gulp = require("gulp");
|
const gulp = require("gulp");
|
||||||
const concat = require("gulp-concat");
|
const concat = require("gulp-concat");
|
||||||
const minifyCSS = require("gulp-cssnano");
|
const minifyCSS = require("gulp-cssnano");
|
||||||
|
@ -133,14 +133,6 @@ function optimizeTask(opts) {
|
||||||
if (err || !result) {
|
if (err || !result) {
|
||||||
return bundlesStream.emit('error', JSON.stringify(err));
|
return bundlesStream.emit('error', JSON.stringify(err));
|
||||||
}
|
}
|
||||||
if (opts.inlineAmdImages) {
|
|
||||||
try {
|
|
||||||
result = inlineAmdImages(src, result);
|
|
||||||
}
|
|
||||||
catch (err) {
|
|
||||||
return bundlesStream.emit('error', JSON.stringify(err));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
toBundleStream(src, bundledFileHeader, result.files).pipe(bundlesStream);
|
toBundleStream(src, bundledFileHeader, result.files).pipe(bundlesStream);
|
||||||
// Remove css inlined resources
|
// Remove css inlined resources
|
||||||
const filteredResources = resources.slice();
|
const filteredResources = resources.slice();
|
||||||
|
@ -176,39 +168,6 @@ function optimizeTask(opts) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
exports.optimizeTask = optimizeTask;
|
exports.optimizeTask = optimizeTask;
|
||||||
function inlineAmdImages(src, result) {
|
|
||||||
for (const outputFile of result.files) {
|
|
||||||
for (const sourceFile of outputFile.sources) {
|
|
||||||
if (sourceFile.path && /\.js$/.test(sourceFile.path)) {
|
|
||||||
sourceFile.contents = sourceFile.contents.replace(/\([^.]+\.registerAndGetAmdImageURL\(([^)]+)\)\)/g, (_, m0) => {
|
|
||||||
let imagePath = m0;
|
|
||||||
// remove `` or ''
|
|
||||||
if ((imagePath.charAt(0) === '`' && imagePath.charAt(imagePath.length - 1) === '`')
|
|
||||||
|| (imagePath.charAt(0) === '\'' && imagePath.charAt(imagePath.length - 1) === '\'')) {
|
|
||||||
imagePath = imagePath.substr(1, imagePath.length - 2);
|
|
||||||
}
|
|
||||||
if (!/\.(png|svg)$/.test(imagePath)) {
|
|
||||||
console.log(`original: ${_}`);
|
|
||||||
return _;
|
|
||||||
}
|
|
||||||
const repoLocation = path.join(src, imagePath);
|
|
||||||
const absoluteLocation = path.join(REPO_ROOT_PATH, repoLocation);
|
|
||||||
if (!fs.existsSync(absoluteLocation)) {
|
|
||||||
const message = `Invalid amd image url in file ${sourceFile.path}: ${imagePath}`;
|
|
||||||
console.log(message);
|
|
||||||
throw new Error(message);
|
|
||||||
}
|
|
||||||
const fileContents = fs.readFileSync(absoluteLocation);
|
|
||||||
const mime = /\.svg$/.test(imagePath) ? 'image/svg+xml' : 'image/png';
|
|
||||||
// Mark the file as inlined so we don't ship it by itself
|
|
||||||
result.cssInlinedResources.push(repoLocation);
|
|
||||||
return `("data:${mime};base64,${fileContents.toString('base64')}")`;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* Wrap around uglify and allow the preserveComments function
|
* Wrap around uglify and allow the preserveComments function
|
||||||
* to have a file "context" to include our copyright only once per file.
|
* to have a file "context" to include our copyright only once per file.
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import * as es from 'event-stream';
|
import * as es from 'event-stream';
|
||||||
import * as fs from 'fs';
|
|
||||||
import * as gulp from 'gulp';
|
import * as gulp from 'gulp';
|
||||||
import * as concat from 'gulp-concat';
|
import * as concat from 'gulp-concat';
|
||||||
import * as minifyCSS from 'gulp-cssnano';
|
import * as minifyCSS from 'gulp-cssnano';
|
||||||
|
@ -160,10 +159,6 @@ export interface IOptimizeTaskOpts {
|
||||||
* (emit bundleInfo.json file)
|
* (emit bundleInfo.json file)
|
||||||
*/
|
*/
|
||||||
bundleInfo: boolean;
|
bundleInfo: boolean;
|
||||||
/**
|
|
||||||
* replace calls to `registerAndGetAmdImageURL` with data uris
|
|
||||||
*/
|
|
||||||
inlineAmdImages: boolean;
|
|
||||||
/**
|
/**
|
||||||
* (out folder name)
|
* (out folder name)
|
||||||
*/
|
*/
|
||||||
|
@ -197,14 +192,6 @@ export function optimizeTask(opts: IOptimizeTaskOpts): () => NodeJS.ReadWriteStr
|
||||||
bundle.bundle(entryPoints, loaderConfig, function (err, result) {
|
bundle.bundle(entryPoints, loaderConfig, function (err, result) {
|
||||||
if (err || !result) { return bundlesStream.emit('error', JSON.stringify(err)); }
|
if (err || !result) { return bundlesStream.emit('error', JSON.stringify(err)); }
|
||||||
|
|
||||||
if (opts.inlineAmdImages) {
|
|
||||||
try {
|
|
||||||
result = inlineAmdImages(src, result);
|
|
||||||
} catch (err) {
|
|
||||||
return bundlesStream.emit('error', JSON.stringify(err));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
toBundleStream(src, bundledFileHeader, result.files).pipe(bundlesStream);
|
toBundleStream(src, bundledFileHeader, result.files).pipe(bundlesStream);
|
||||||
|
|
||||||
// Remove css inlined resources
|
// Remove css inlined resources
|
||||||
|
@ -249,42 +236,6 @@ export function optimizeTask(opts: IOptimizeTaskOpts): () => NodeJS.ReadWriteStr
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function inlineAmdImages(src: string, result: bundle.IBundleResult): bundle.IBundleResult {
|
|
||||||
for (const outputFile of result.files) {
|
|
||||||
for (const sourceFile of outputFile.sources) {
|
|
||||||
if (sourceFile.path && /\.js$/.test(sourceFile.path)) {
|
|
||||||
sourceFile.contents = sourceFile.contents.replace(/\([^.]+\.registerAndGetAmdImageURL\(([^)]+)\)\)/g, (_, m0) => {
|
|
||||||
let imagePath = m0;
|
|
||||||
// remove `` or ''
|
|
||||||
if ((imagePath.charAt(0) === '`' && imagePath.charAt(imagePath.length - 1) === '`')
|
|
||||||
|| (imagePath.charAt(0) === '\'' && imagePath.charAt(imagePath.length - 1) === '\'')) {
|
|
||||||
imagePath = imagePath.substr(1, imagePath.length - 2);
|
|
||||||
}
|
|
||||||
if (!/\.(png|svg)$/.test(imagePath)) {
|
|
||||||
console.log(`original: ${_}`);
|
|
||||||
return _;
|
|
||||||
}
|
|
||||||
const repoLocation = path.join(src, imagePath);
|
|
||||||
const absoluteLocation = path.join(REPO_ROOT_PATH, repoLocation);
|
|
||||||
if (!fs.existsSync(absoluteLocation)) {
|
|
||||||
const message = `Invalid amd image url in file ${sourceFile.path}: ${imagePath}`;
|
|
||||||
console.log(message);
|
|
||||||
throw new Error(message);
|
|
||||||
}
|
|
||||||
const fileContents = fs.readFileSync(absoluteLocation);
|
|
||||||
const mime = /\.svg$/.test(imagePath) ? 'image/svg+xml' : 'image/png';
|
|
||||||
|
|
||||||
// Mark the file as inlined so we don't ship it by itself
|
|
||||||
result.cssInlinedResources.push(repoLocation);
|
|
||||||
|
|
||||||
return `("data:${mime};base64,${fileContents.toString('base64')}")`;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare class FileWithCopyright extends VinylFile {
|
declare class FileWithCopyright extends VinylFile {
|
||||||
public __hasOurCopyright: boolean;
|
public __hasOurCopyright: boolean;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.createReporter = void 0;
|
||||||
const es = require("event-stream");
|
const es = require("event-stream");
|
||||||
const _ = require("underscore");
|
const _ = require("underscore");
|
||||||
const fancyLog = require("fancy-log");
|
const fancyLog = require("fancy-log");
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.createESMSourcesAndResources2 = exports.extractEditor = void 0;
|
||||||
const ts = require("typescript");
|
const ts = require("typescript");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.submitAllStats = exports.createStatsStream = void 0;
|
||||||
const es = require("event-stream");
|
const es = require("event-stream");
|
||||||
const fancyLog = require("fancy-log");
|
const fancyLog = require("fancy-log");
|
||||||
const ansiColors = require("ansi-colors");
|
const ansiColors = require("ansi-colors");
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.define = exports.parallel = exports.series = void 0;
|
||||||
const fancyLog = require("fancy-log");
|
const fancyLog = require("fancy-log");
|
||||||
const ansiColors = require("ansi-colors");
|
const ansiColors = require("ansi-colors");
|
||||||
function _isPromise(p) {
|
function _isPromise(p) {
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.shake = exports.toStringShakeLevel = exports.ShakeLevel = void 0;
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const ts = require("typescript");
|
const ts = require("typescript");
|
||||||
|
@ -75,11 +76,7 @@ function createTypeScriptLanguageService(options) {
|
||||||
FILES[typing] = fs.readFileSync(filePath).toString();
|
FILES[typing] = fs.readFileSync(filePath).toString();
|
||||||
});
|
});
|
||||||
// Resolve libs
|
// Resolve libs
|
||||||
const RESOLVED_LIBS = {};
|
const RESOLVED_LIBS = processLibFiles(options);
|
||||||
options.libs.forEach((filename) => {
|
|
||||||
const filepath = path.join(TYPESCRIPT_LIB_FOLDER, filename);
|
|
||||||
RESOLVED_LIBS[`defaultLib:${filename}`] = fs.readFileSync(filepath).toString();
|
|
||||||
});
|
|
||||||
const compilerOptions = ts.convertCompilerOptionsFromJson(options.compilerOptions, options.sourcesRoot).options;
|
const compilerOptions = ts.convertCompilerOptionsFromJson(options.compilerOptions, options.sourcesRoot).options;
|
||||||
const host = new TypeScriptLanguageServiceHost(RESOLVED_LIBS, FILES, compilerOptions);
|
const host = new TypeScriptLanguageServiceHost(RESOLVED_LIBS, FILES, compilerOptions);
|
||||||
return ts.createLanguageService(host);
|
return ts.createLanguageService(host);
|
||||||
|
@ -137,6 +134,29 @@ function discoverAndReadFiles(options) {
|
||||||
}
|
}
|
||||||
return FILES;
|
return FILES;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Read lib files and follow lib references
|
||||||
|
*/
|
||||||
|
function processLibFiles(options) {
|
||||||
|
const stack = [...options.compilerOptions.lib];
|
||||||
|
const result = {};
|
||||||
|
while (stack.length > 0) {
|
||||||
|
const filename = `lib.${stack.shift().toLowerCase()}.d.ts`;
|
||||||
|
const key = `defaultLib:${filename}`;
|
||||||
|
if (!result[key]) {
|
||||||
|
// add this file
|
||||||
|
const filepath = path.join(TYPESCRIPT_LIB_FOLDER, filename);
|
||||||
|
const sourceText = fs.readFileSync(filepath).toString();
|
||||||
|
result[key] = sourceText;
|
||||||
|
// precess dependencies and "recurse"
|
||||||
|
const info = ts.preProcessFile(sourceText);
|
||||||
|
for (let ref of info.libReferenceDirectives) {
|
||||||
|
stack.push(ref.fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* A TypeScript language service host
|
* A TypeScript language service host
|
||||||
*/
|
*/
|
||||||
|
@ -234,6 +254,7 @@ function markNodes(languageService, options) {
|
||||||
}
|
}
|
||||||
const black_queue = [];
|
const black_queue = [];
|
||||||
const gray_queue = [];
|
const gray_queue = [];
|
||||||
|
const export_import_queue = [];
|
||||||
const sourceFilesLoaded = {};
|
const sourceFilesLoaded = {};
|
||||||
function enqueueTopLevelModuleStatements(sourceFile) {
|
function enqueueTopLevelModuleStatements(sourceFile) {
|
||||||
sourceFile.forEachChild((node) => {
|
sourceFile.forEachChild((node) => {
|
||||||
|
@ -245,10 +266,16 @@ function markNodes(languageService, options) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (ts.isExportDeclaration(node)) {
|
if (ts.isExportDeclaration(node)) {
|
||||||
if (node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier)) {
|
if (!node.exportClause && node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier)) {
|
||||||
|
// export * from "foo";
|
||||||
setColor(node, 2 /* Black */);
|
setColor(node, 2 /* Black */);
|
||||||
enqueueImport(node, node.moduleSpecifier.text);
|
enqueueImport(node, node.moduleSpecifier.text);
|
||||||
}
|
}
|
||||||
|
if (node.exportClause && ts.isNamedExports(node.exportClause)) {
|
||||||
|
for (const exportSpecifier of node.exportClause.elements) {
|
||||||
|
export_import_queue.push(exportSpecifier);
|
||||||
|
}
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (ts.isExpressionStatement(node)
|
if (ts.isExpressionStatement(node)
|
||||||
|
@ -306,7 +333,7 @@ function markNodes(languageService, options) {
|
||||||
}
|
}
|
||||||
setColor(node, 2 /* Black */);
|
setColor(node, 2 /* Black */);
|
||||||
black_queue.push(node);
|
black_queue.push(node);
|
||||||
if (options.shakeLevel === 2 /* ClassMembers */ && (ts.isMethodDeclaration(node) || ts.isMethodSignature(node) || ts.isPropertySignature(node) || ts.isGetAccessor(node) || ts.isSetAccessor(node))) {
|
if (options.shakeLevel === 2 /* ClassMembers */ && (ts.isMethodDeclaration(node) || ts.isMethodSignature(node) || ts.isPropertySignature(node) || ts.isPropertyDeclaration(node) || ts.isGetAccessor(node) || ts.isSetAccessor(node))) {
|
||||||
const references = languageService.getReferencesAtPosition(node.getSourceFile().fileName, node.name.pos + node.name.getLeadingTriviaWidth());
|
const references = languageService.getReferencesAtPosition(node.getSourceFile().fileName, node.name.pos + node.name.getLeadingTriviaWidth());
|
||||||
if (references) {
|
if (references) {
|
||||||
for (let i = 0, len = references.length; i < len; i++) {
|
for (let i = 0, len = references.length; i < len; i++) {
|
||||||
|
@ -402,6 +429,7 @@ function markNodes(languageService, options) {
|
||||||
|| ts.isConstructSignatureDeclaration(member)
|
|| ts.isConstructSignatureDeclaration(member)
|
||||||
|| ts.isIndexSignatureDeclaration(member)
|
|| ts.isIndexSignatureDeclaration(member)
|
||||||
|| ts.isCallSignatureDeclaration(member)
|
|| ts.isCallSignatureDeclaration(member)
|
||||||
|
|| memberName === '[Symbol.iterator]'
|
||||||
|| memberName === 'toJSON'
|
|| memberName === 'toJSON'
|
||||||
|| memberName === 'toString'
|
|| memberName === 'toString'
|
||||||
|| memberName === 'dispose' // TODO: keeping all `dispose` methods
|
|| memberName === 'dispose' // TODO: keeping all `dispose` methods
|
||||||
|
@ -426,6 +454,22 @@ function markNodes(languageService, options) {
|
||||||
};
|
};
|
||||||
node.forEachChild(loop);
|
node.forEachChild(loop);
|
||||||
}
|
}
|
||||||
|
while (export_import_queue.length > 0) {
|
||||||
|
const node = export_import_queue.shift();
|
||||||
|
if (nodeOrParentIsBlack(node)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const symbol = node.symbol;
|
||||||
|
if (!symbol) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const aliased = checker.getAliasedSymbol(symbol);
|
||||||
|
if (aliased.declarations && aliased.declarations.length > 0) {
|
||||||
|
if (nodeOrParentIsBlack(aliased.declarations[0]) || nodeOrChildIsBlack(aliased.declarations[0])) {
|
||||||
|
setColor(node, 2 /* Black */);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
function nodeIsInItsOwnDeclaration(nodeSourceFile, node, symbol) {
|
function nodeIsInItsOwnDeclaration(nodeSourceFile, node, symbol) {
|
||||||
for (let i = 0, len = symbol.declarations.length; i < len; i++) {
|
for (let i = 0, len = symbol.declarations.length; i < len; i++) {
|
||||||
|
@ -517,6 +561,21 @@ function generateResult(languageService, shakeLevel) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (ts.isExportDeclaration(node)) {
|
||||||
|
if (node.exportClause && node.moduleSpecifier && ts.isNamedExports(node.exportClause)) {
|
||||||
|
let survivingExports = [];
|
||||||
|
for (const exportSpecifier of node.exportClause.elements) {
|
||||||
|
if (getColor(exportSpecifier) === 2 /* Black */) {
|
||||||
|
survivingExports.push(exportSpecifier.getFullText(sourceFile));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const leadingTriviaWidth = node.getLeadingTriviaWidth();
|
||||||
|
const leadingTrivia = sourceFile.text.substr(node.pos, leadingTriviaWidth);
|
||||||
|
if (survivingExports.length > 0) {
|
||||||
|
return write(`${leadingTrivia}export {${survivingExports.join(',')} } from${node.moduleSpecifier.getFullText(sourceFile)};`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if (shakeLevel === 2 /* ClassMembers */ && (ts.isClassDeclaration(node) || ts.isInterfaceDeclaration(node)) && nodeOrChildIsBlack(node)) {
|
if (shakeLevel === 2 /* ClassMembers */ && (ts.isClassDeclaration(node) || ts.isInterfaceDeclaration(node)) && nodeOrChildIsBlack(node)) {
|
||||||
let toWrite = node.getFullText();
|
let toWrite = node.getFullText();
|
||||||
for (let i = node.members.length - 1; i >= 0; i--) {
|
for (let i = node.members.length - 1; i >= 0; i--) {
|
||||||
|
@ -567,7 +626,7 @@ function getRealNodeSymbol(checker, node) {
|
||||||
// (2) when the aliased symbol is originating from an import.
|
// (2) when the aliased symbol is originating from an import.
|
||||||
//
|
//
|
||||||
function shouldSkipAlias(node, declaration) {
|
function shouldSkipAlias(node, declaration) {
|
||||||
if (node.kind !== ts.SyntaxKind.Identifier) {
|
if (!ts.isShorthandPropertyAssignment(node) && node.kind !== ts.SyntaxKind.Identifier) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (node.parent === declaration) {
|
if (node.parent === declaration) {
|
||||||
|
@ -589,7 +648,9 @@ function getRealNodeSymbol(checker, node) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const { parent } = node;
|
const { parent } = node;
|
||||||
let symbol = checker.getSymbolAtLocation(node);
|
let symbol = (ts.isShorthandPropertyAssignment(node)
|
||||||
|
? checker.getShorthandAssignmentValueSymbol(node)
|
||||||
|
: checker.getSymbolAtLocation(node));
|
||||||
let importNode = null;
|
let importNode = null;
|
||||||
// If this is an alias, and the request came at the declaration location
|
// If this is an alias, and the request came at the declaration location
|
||||||
// get the aliased symbol instead. This allows for goto def on an import e.g.
|
// get the aliased symbol instead. This allows for goto def on an import e.g.
|
||||||
|
|
|
@ -18,7 +18,7 @@ export const enum ShakeLevel {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function toStringShakeLevel(shakeLevel: ShakeLevel): string {
|
export function toStringShakeLevel(shakeLevel: ShakeLevel): string {
|
||||||
switch(shakeLevel) {
|
switch (shakeLevel) {
|
||||||
case ShakeLevel.Files:
|
case ShakeLevel.Files:
|
||||||
return 'Files (0)';
|
return 'Files (0)';
|
||||||
case ShakeLevel.InnerFile:
|
case ShakeLevel.InnerFile:
|
||||||
|
@ -42,11 +42,6 @@ export interface ITreeShakingOptions {
|
||||||
* Inline usages.
|
* Inline usages.
|
||||||
*/
|
*/
|
||||||
inlineEntryPoints: string[];
|
inlineEntryPoints: string[];
|
||||||
/**
|
|
||||||
* TypeScript libs.
|
|
||||||
* e.g. `lib.d.ts`, `lib.es2015.collection.d.ts`
|
|
||||||
*/
|
|
||||||
libs: string[];
|
|
||||||
/**
|
/**
|
||||||
* Other .d.ts files
|
* Other .d.ts files
|
||||||
*/
|
*/
|
||||||
|
@ -130,11 +125,7 @@ function createTypeScriptLanguageService(options: ITreeShakingOptions): ts.Langu
|
||||||
});
|
});
|
||||||
|
|
||||||
// Resolve libs
|
// Resolve libs
|
||||||
const RESOLVED_LIBS: ILibMap = {};
|
const RESOLVED_LIBS = processLibFiles(options);
|
||||||
options.libs.forEach((filename) => {
|
|
||||||
const filepath = path.join(TYPESCRIPT_LIB_FOLDER, filename);
|
|
||||||
RESOLVED_LIBS[`defaultLib:${filename}`] = fs.readFileSync(filepath).toString();
|
|
||||||
});
|
|
||||||
|
|
||||||
const compilerOptions = ts.convertCompilerOptionsFromJson(options.compilerOptions, options.sourcesRoot).options;
|
const compilerOptions = ts.convertCompilerOptionsFromJson(options.compilerOptions, options.sourcesRoot).options;
|
||||||
|
|
||||||
|
@ -205,6 +196,34 @@ function discoverAndReadFiles(options: ITreeShakingOptions): IFileMap {
|
||||||
return FILES;
|
return FILES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read lib files and follow lib references
|
||||||
|
*/
|
||||||
|
function processLibFiles(options: ITreeShakingOptions): ILibMap {
|
||||||
|
|
||||||
|
const stack: string[] = [...options.compilerOptions.lib];
|
||||||
|
const result: ILibMap = {};
|
||||||
|
|
||||||
|
while (stack.length > 0) {
|
||||||
|
const filename = `lib.${stack.shift()!.toLowerCase()}.d.ts`;
|
||||||
|
const key = `defaultLib:${filename}`;
|
||||||
|
if (!result[key]) {
|
||||||
|
// add this file
|
||||||
|
const filepath = path.join(TYPESCRIPT_LIB_FOLDER, filename);
|
||||||
|
const sourceText = fs.readFileSync(filepath).toString();
|
||||||
|
result[key] = sourceText;
|
||||||
|
|
||||||
|
// precess dependencies and "recurse"
|
||||||
|
const info = ts.preProcessFile(sourceText);
|
||||||
|
for (let ref of info.libReferenceDirectives) {
|
||||||
|
stack.push(ref.fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
interface ILibMap { [libName: string]: string; }
|
interface ILibMap { [libName: string]: string; }
|
||||||
interface IFileMap { [fileName: string]: string; }
|
interface IFileMap { [fileName: string]: string; }
|
||||||
|
|
||||||
|
@ -317,6 +336,7 @@ function markNodes(languageService: ts.LanguageService, options: ITreeShakingOpt
|
||||||
|
|
||||||
const black_queue: ts.Node[] = [];
|
const black_queue: ts.Node[] = [];
|
||||||
const gray_queue: ts.Node[] = [];
|
const gray_queue: ts.Node[] = [];
|
||||||
|
const export_import_queue: ts.Node[] = [];
|
||||||
const sourceFilesLoaded: { [fileName: string]: boolean } = {};
|
const sourceFilesLoaded: { [fileName: string]: boolean } = {};
|
||||||
|
|
||||||
function enqueueTopLevelModuleStatements(sourceFile: ts.SourceFile): void {
|
function enqueueTopLevelModuleStatements(sourceFile: ts.SourceFile): void {
|
||||||
|
@ -332,10 +352,16 @@ function markNodes(languageService: ts.LanguageService, options: ITreeShakingOpt
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ts.isExportDeclaration(node)) {
|
if (ts.isExportDeclaration(node)) {
|
||||||
if (node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier)) {
|
if (!node.exportClause && node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier)) {
|
||||||
|
// export * from "foo";
|
||||||
setColor(node, NodeColor.Black);
|
setColor(node, NodeColor.Black);
|
||||||
enqueueImport(node, node.moduleSpecifier.text);
|
enqueueImport(node, node.moduleSpecifier.text);
|
||||||
}
|
}
|
||||||
|
if (node.exportClause && ts.isNamedExports(node.exportClause)) {
|
||||||
|
for (const exportSpecifier of node.exportClause.elements) {
|
||||||
|
export_import_queue.push(exportSpecifier);
|
||||||
|
}
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -410,7 +436,7 @@ function markNodes(languageService: ts.LanguageService, options: ITreeShakingOpt
|
||||||
setColor(node, NodeColor.Black);
|
setColor(node, NodeColor.Black);
|
||||||
black_queue.push(node);
|
black_queue.push(node);
|
||||||
|
|
||||||
if (options.shakeLevel === ShakeLevel.ClassMembers && (ts.isMethodDeclaration(node) || ts.isMethodSignature(node) || ts.isPropertySignature(node) || ts.isGetAccessor(node) || ts.isSetAccessor(node))) {
|
if (options.shakeLevel === ShakeLevel.ClassMembers && (ts.isMethodDeclaration(node) || ts.isMethodSignature(node) || ts.isPropertySignature(node) || ts.isPropertyDeclaration(node) || ts.isGetAccessor(node) || ts.isSetAccessor(node))) {
|
||||||
const references = languageService.getReferencesAtPosition(node.getSourceFile().fileName, node.name.pos + node.name.getLeadingTriviaWidth());
|
const references = languageService.getReferencesAtPosition(node.getSourceFile().fileName, node.name.pos + node.name.getLeadingTriviaWidth());
|
||||||
if (references) {
|
if (references) {
|
||||||
for (let i = 0, len = references.length; i < len; i++) {
|
for (let i = 0, len = references.length; i < len; i++) {
|
||||||
|
@ -475,7 +501,7 @@ function markNodes(languageService: ts.LanguageService, options: ITreeShakingOpt
|
||||||
}
|
}
|
||||||
|
|
||||||
if (black_queue.length === 0) {
|
if (black_queue.length === 0) {
|
||||||
for (let i = 0; i< gray_queue.length; i++) {
|
for (let i = 0; i < gray_queue.length; i++) {
|
||||||
const node = gray_queue[i];
|
const node = gray_queue[i];
|
||||||
const nodeParent = node.parent;
|
const nodeParent = node.parent;
|
||||||
if ((ts.isClassDeclaration(nodeParent) || ts.isInterfaceDeclaration(nodeParent)) && nodeOrChildIsBlack(nodeParent)) {
|
if ((ts.isClassDeclaration(nodeParent) || ts.isInterfaceDeclaration(nodeParent)) && nodeOrChildIsBlack(nodeParent)) {
|
||||||
|
@ -521,6 +547,7 @@ function markNodes(languageService: ts.LanguageService, options: ITreeShakingOpt
|
||||||
|| ts.isConstructSignatureDeclaration(member)
|
|| ts.isConstructSignatureDeclaration(member)
|
||||||
|| ts.isIndexSignatureDeclaration(member)
|
|| ts.isIndexSignatureDeclaration(member)
|
||||||
|| ts.isCallSignatureDeclaration(member)
|
|| ts.isCallSignatureDeclaration(member)
|
||||||
|
|| memberName === '[Symbol.iterator]'
|
||||||
|| memberName === 'toJSON'
|
|| memberName === 'toJSON'
|
||||||
|| memberName === 'toString'
|
|| memberName === 'toString'
|
||||||
|| memberName === 'dispose'// TODO: keeping all `dispose` methods
|
|| memberName === 'dispose'// TODO: keeping all `dispose` methods
|
||||||
|
@ -545,6 +572,23 @@ function markNodes(languageService: ts.LanguageService, options: ITreeShakingOpt
|
||||||
};
|
};
|
||||||
node.forEachChild(loop);
|
node.forEachChild(loop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while (export_import_queue.length > 0) {
|
||||||
|
const node = export_import_queue.shift()!;
|
||||||
|
if (nodeOrParentIsBlack(node)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const symbol: ts.Symbol | undefined = (<any>node).symbol;
|
||||||
|
if (!symbol) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const aliased = checker.getAliasedSymbol(symbol);
|
||||||
|
if (aliased.declarations && aliased.declarations.length > 0) {
|
||||||
|
if (nodeOrParentIsBlack(aliased.declarations[0]) || nodeOrChildIsBlack(aliased.declarations[0])) {
|
||||||
|
setColor(node, NodeColor.Black);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function nodeIsInItsOwnDeclaration(nodeSourceFile: ts.SourceFile, node: ts.Node, symbol: ts.Symbol): boolean {
|
function nodeIsInItsOwnDeclaration(nodeSourceFile: ts.SourceFile, node: ts.Node, symbol: ts.Symbol): boolean {
|
||||||
|
@ -646,6 +690,22 @@ function generateResult(languageService: ts.LanguageService, shakeLevel: ShakeLe
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ts.isExportDeclaration(node)) {
|
||||||
|
if (node.exportClause && node.moduleSpecifier && ts.isNamedExports(node.exportClause)) {
|
||||||
|
let survivingExports: string[] = [];
|
||||||
|
for (const exportSpecifier of node.exportClause.elements) {
|
||||||
|
if (getColor(exportSpecifier) === NodeColor.Black) {
|
||||||
|
survivingExports.push(exportSpecifier.getFullText(sourceFile));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const leadingTriviaWidth = node.getLeadingTriviaWidth();
|
||||||
|
const leadingTrivia = sourceFile.text.substr(node.pos, leadingTriviaWidth);
|
||||||
|
if (survivingExports.length > 0) {
|
||||||
|
return write(`${leadingTrivia}export {${survivingExports.join(',')} } from${node.moduleSpecifier.getFullText(sourceFile)};`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (shakeLevel === ShakeLevel.ClassMembers && (ts.isClassDeclaration(node) || ts.isInterfaceDeclaration(node)) && nodeOrChildIsBlack(node)) {
|
if (shakeLevel === ShakeLevel.ClassMembers && (ts.isClassDeclaration(node) || ts.isInterfaceDeclaration(node)) && nodeOrChildIsBlack(node)) {
|
||||||
let toWrite = node.getFullText();
|
let toWrite = node.getFullText();
|
||||||
for (let i = node.members.length - 1; i >= 0; i--) {
|
for (let i = node.members.length - 1; i >= 0; i--) {
|
||||||
|
@ -708,7 +768,7 @@ function getRealNodeSymbol(checker: ts.TypeChecker, node: ts.Node): [ts.Symbol |
|
||||||
// (2) when the aliased symbol is originating from an import.
|
// (2) when the aliased symbol is originating from an import.
|
||||||
//
|
//
|
||||||
function shouldSkipAlias(node: ts.Node, declaration: ts.Node): boolean {
|
function shouldSkipAlias(node: ts.Node, declaration: ts.Node): boolean {
|
||||||
if (node.kind !== ts.SyntaxKind.Identifier) {
|
if (!ts.isShorthandPropertyAssignment(node) && node.kind !== ts.SyntaxKind.Identifier) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (node.parent === declaration) {
|
if (node.parent === declaration) {
|
||||||
|
@ -733,7 +793,12 @@ function getRealNodeSymbol(checker: ts.TypeChecker, node: ts.Node): [ts.Symbol |
|
||||||
|
|
||||||
const { parent } = node;
|
const { parent } = node;
|
||||||
|
|
||||||
let symbol = checker.getSymbolAtLocation(node);
|
let symbol = (
|
||||||
|
ts.isShorthandPropertyAssignment(node)
|
||||||
|
? checker.getShorthandAssignmentValueSymbol(node)
|
||||||
|
: checker.getSymbolAtLocation(node)
|
||||||
|
);
|
||||||
|
|
||||||
let importNode: ts.Declaration | null = null;
|
let importNode: ts.Declaration | null = null;
|
||||||
// If this is an alias, and the request came at the declaration location
|
// If this is an alias, and the request came at the declaration location
|
||||||
// get the aliased symbol instead. This allows for goto def on an import e.g.
|
// get the aliased symbol instead. This allows for goto def on an import e.g.
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.streamToPromise = exports.versionStringToNumber = exports.filter = exports.rebase = exports.getVersion = exports.ensureDir = exports.rreddir = exports.rimraf = exports.stripSourceMappingURL = exports.loadSourcemaps = exports.cleanNodeModules = exports.skipDirectories = exports.toFileUri = exports.setExecutableBit = exports.fixWin32DirectoryPermissions = exports.incremental = void 0;
|
||||||
const es = require("event-stream");
|
const es = require("event-stream");
|
||||||
const debounce = require("debounce");
|
const debounce = require("debounce");
|
||||||
const _filter = require("gulp-filter");
|
const _filter = require("gulp-filter");
|
||||||
|
|
|
@ -25,7 +25,6 @@ function watch(root) {
|
||||||
var child = cp.spawn(watcherPath, [root]);
|
var child = cp.spawn(watcherPath, [root]);
|
||||||
|
|
||||||
child.stdout.on('data', function (data) {
|
child.stdout.on('data', function (data) {
|
||||||
// @ts-ignore
|
|
||||||
var lines = data.toString('utf8').split('\n');
|
var lines = data.toString('utf8').split('\n');
|
||||||
for (var i = 0; i < lines.length; i++) {
|
for (var i = 0; i < lines.length; i++) {
|
||||||
var line = lines[i].trim();
|
var line = lines[i].trim();
|
||||||
|
@ -47,7 +46,6 @@ function watch(root) {
|
||||||
path: changePathFull,
|
path: changePathFull,
|
||||||
base: root
|
base: root
|
||||||
});
|
});
|
||||||
//@ts-ignore
|
|
||||||
file.event = toChangeType(changeType);
|
file.event = toChangeType(changeType);
|
||||||
result.emit('data', file);
|
result.emit('data', file);
|
||||||
}
|
}
|
||||||
|
|
|
@ -230,9 +230,9 @@ for-own@^0.1.4:
|
||||||
for-in "^1.0.1"
|
for-in "^1.0.1"
|
||||||
|
|
||||||
fsevents@~2.1.1:
|
fsevents@~2.1.1:
|
||||||
version "2.1.1"
|
version "2.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.1.tgz#74c64e21df71721845d0c44fe54b7f56b82995a9"
|
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805"
|
||||||
integrity sha512-4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw==
|
integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==
|
||||||
|
|
||||||
glob-base@^0.3.0:
|
glob-base@^0.3.0:
|
||||||
version "0.3.0"
|
version "0.3.0"
|
||||||
|
@ -258,9 +258,9 @@ glob-parent@^3.0.1:
|
||||||
path-dirname "^1.0.0"
|
path-dirname "^1.0.0"
|
||||||
|
|
||||||
glob-parent@~5.1.0:
|
glob-parent@~5.1.0:
|
||||||
version "5.1.0"
|
version "5.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2"
|
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
|
||||||
integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==
|
integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
is-glob "^4.0.1"
|
is-glob "^4.0.1"
|
||||||
|
|
||||||
|
@ -405,9 +405,9 @@ kind-of@^3.0.2:
|
||||||
is-buffer "^1.1.5"
|
is-buffer "^1.1.5"
|
||||||
|
|
||||||
kind-of@^6.0.0:
|
kind-of@^6.0.0:
|
||||||
version "6.0.2"
|
version "6.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
|
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
|
||||||
integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
|
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
|
||||||
|
|
||||||
math-random@^1.0.1:
|
math-random@^1.0.1:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
|
@ -479,9 +479,9 @@ path-is-absolute@^1.0.1:
|
||||||
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
|
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
|
||||||
|
|
||||||
picomatch@^2.0.4:
|
picomatch@^2.0.4:
|
||||||
version "2.1.0"
|
version "2.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.1.0.tgz#0fd042f568d08b1ad9ff2d3ec0f0bfb3cb80e177"
|
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
|
||||||
integrity sha512-uhnEDzAbrcJ8R3g2fANnSuXZMBtkpSjxTTgn2LeSiQlfmq72enQJWdQllXW24MBLYnA1SBD2vfvx2o0Zw3Ielw==
|
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
|
||||||
|
|
||||||
pify@^2.3.0:
|
pify@^2.3.0:
|
||||||
version "2.3.0"
|
version "2.3.0"
|
||||||
|
@ -530,9 +530,9 @@ randomatic@^3.0.0:
|
||||||
math-random "^1.0.1"
|
math-random "^1.0.1"
|
||||||
|
|
||||||
readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@^2.3.5:
|
readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@^2.3.5:
|
||||||
version "2.3.6"
|
version "2.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
|
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
|
||||||
integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
|
integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
|
||||||
dependencies:
|
dependencies:
|
||||||
core-util-is "~1.0.0"
|
core-util-is "~1.0.0"
|
||||||
inherits "~2.0.3"
|
inherits "~2.0.3"
|
||||||
|
|
|
@ -33,32 +33,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
END OF nodejs path library NOTICES AND INFORMATION
|
END OF nodejs path library NOTICES AND INFORMATION
|
||||||
|
|
||||||
|
|
||||||
%% promise-polyfill version 8.1.0 (https://github.com/taylorhakes/promise-polyfill)
|
|
||||||
=========================================
|
|
||||||
Copyright (c) 2014 Taylor Hakes
|
|
||||||
Copyright (c) 2014 Forbes Lindesay
|
|
||||||
|
|
||||||
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.
|
|
||||||
=========================================
|
|
||||||
END OF winjs NOTICES AND INFORMATION
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%% string_scorer version 0.1.20 (https://github.com/joshaven/string_score)
|
%% string_scorer version 0.1.20 (https://github.com/joshaven/string_score)
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.execute = exports.run3 = exports.DeclarationResolver = exports.FSProvider = exports.RECIPE_PATH = void 0;
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const ts = require("typescript");
|
const ts = require("typescript");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
|
@ -135,11 +136,12 @@ function getMassagedTopLevelDeclarationText(sourceFile, declaration, importName,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
const memberName = member.name.text;
|
const memberName = member.name.text;
|
||||||
|
const memberAccess = (memberName.indexOf('.') >= 0 ? `['${memberName}']` : `.${memberName}`);
|
||||||
if (isStatic(member)) {
|
if (isStatic(member)) {
|
||||||
usage.push(`a = ${staticTypeName}.${memberName};`);
|
usage.push(`a = ${staticTypeName}${memberAccess};`);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
usage.push(`a = (<${instanceTypeName}>b).${memberName};`);
|
usage.push(`a = (<${instanceTypeName}>b)${memberAccess};`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,10 +167,11 @@ function getMassagedTopLevelDeclarationText(sourceFile: ts.SourceFile, declarati
|
||||||
result = result.replace(memberText, '');
|
result = result.replace(memberText, '');
|
||||||
} else {
|
} else {
|
||||||
const memberName = (<ts.Identifier | ts.StringLiteral>member.name).text;
|
const memberName = (<ts.Identifier | ts.StringLiteral>member.name).text;
|
||||||
|
const memberAccess = (memberName.indexOf('.') >= 0 ? `['${memberName}']` : `.${memberName}`);
|
||||||
if (isStatic(member)) {
|
if (isStatic(member)) {
|
||||||
usage.push(`a = ${staticTypeName}.${memberName};`);
|
usage.push(`a = ${staticTypeName}${memberAccess};`);
|
||||||
} else {
|
} else {
|
||||||
usage.push(`a = (<${instanceTypeName}>b).${memberName};`);
|
usage.push(`a = (<${instanceTypeName}>b)${memberAccess};`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|
|
@ -3,16 +3,19 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
import * as _ from 'vs/base/parts/tree/browser/tree';
|
// Entry file for webpack bunlding.
|
||||||
|
|
||||||
export function isEqualOrParent(tree: _.ITree, element: any, candidateParent: any): boolean {
|
import * as monaco from 'monaco-editor-core';
|
||||||
const nav = tree.getNavigator(element);
|
|
||||||
|
|
||||||
do {
|
self.MonacoEnvironment = {
|
||||||
if (element === candidateParent) {
|
getWorkerUrl: function (moduleId, label) {
|
||||||
return true;
|
return './editor.worker.bundle.js';
|
||||||
}
|
}
|
||||||
} while (element = nav.parent());
|
};
|
||||||
|
|
||||||
return false;
|
monaco.editor.create(document.getElementById('container'), {
|
||||||
}
|
value: [
|
||||||
|
'var hello = "hello world";'
|
||||||
|
].join('\n'),
|
||||||
|
language: 'javascript'
|
||||||
|
});
|
44
build/monaco/monaco.webpack.config.js
Normal file
44
build/monaco/monaco.webpack.config.js
Normal file
|
@ -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.
|
||||||
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
mode: 'production',
|
||||||
|
entry: {
|
||||||
|
'core': './build/monaco/esm.core.js',
|
||||||
|
'editor.worker': './out-monaco-editor-core/esm/vs/editor/editor.worker.js'
|
||||||
|
},
|
||||||
|
output: {
|
||||||
|
globalObject: 'self',
|
||||||
|
filename: '[name].bundle.js',
|
||||||
|
path: path.resolve(__dirname, 'dist')
|
||||||
|
},
|
||||||
|
module: {
|
||||||
|
rules: [{
|
||||||
|
test: /\.css$/,
|
||||||
|
use: ['style-loader', 'css-loader']
|
||||||
|
}, {
|
||||||
|
test: /\.ttf$/,
|
||||||
|
use: ['file-loader']
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
resolve: {
|
||||||
|
alias: {
|
||||||
|
'monaco-editor-core': path.resolve(__dirname, '../../out-monaco-editor-core/esm/vs/editor/editor.main.js'),
|
||||||
|
}
|
||||||
|
},
|
||||||
|
stats: {
|
||||||
|
all: false,
|
||||||
|
modules: true,
|
||||||
|
maxModules: 0,
|
||||||
|
errors: true,
|
||||||
|
warnings: true,
|
||||||
|
// our additional options
|
||||||
|
moduleTrace: true,
|
||||||
|
errorDetails: true,
|
||||||
|
chunks: true
|
||||||
|
}
|
||||||
|
};
|
|
@ -13,7 +13,7 @@ const yarn = process.platform === 'win32' ? 'yarn.cmd' : 'yarn';
|
||||||
* @param {*} [opts]
|
* @param {*} [opts]
|
||||||
*/
|
*/
|
||||||
function yarnInstall(location, opts) {
|
function yarnInstall(location, opts) {
|
||||||
opts = opts || {};
|
opts = opts || { env: process.env };
|
||||||
opts.cwd = location;
|
opts.cwd = location;
|
||||||
opts.stdio = 'inherit';
|
opts.stdio = 'inherit';
|
||||||
|
|
||||||
|
@ -52,8 +52,6 @@ extensions.forEach(extension => yarnInstall(`extensions/${extension}`));
|
||||||
function yarnInstallBuildDependencies() {
|
function yarnInstallBuildDependencies() {
|
||||||
// make sure we install the deps of build/lib/watch for the system installed
|
// make sure we install the deps of build/lib/watch for the system installed
|
||||||
// node, since that is the driver of gulp
|
// node, since that is the driver of gulp
|
||||||
//@ts-ignore
|
|
||||||
const env = Object.assign({}, process.env);
|
|
||||||
const watchPath = path.join(path.dirname(__dirname), 'lib', 'watch');
|
const watchPath = path.join(path.dirname(__dirname), 'lib', 'watch');
|
||||||
const yarnrcPath = path.join(watchPath, '.yarnrc');
|
const yarnrcPath = path.join(watchPath, '.yarnrc');
|
||||||
|
|
||||||
|
@ -66,7 +64,7 @@ target "${target}"
|
||||||
runtime "${runtime}"`;
|
runtime "${runtime}"`;
|
||||||
|
|
||||||
fs.writeFileSync(yarnrcPath, yarnrc, 'utf8');
|
fs.writeFileSync(yarnrcPath, yarnrc, 'utf8');
|
||||||
yarnInstall(watchPath, { env });
|
yarnInstall(watchPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
yarnInstall(`build`); // node modules required for build
|
yarnInstall(`build`); // node modules required for build
|
||||||
|
|
|
@ -23,7 +23,7 @@ if (majorYarnVersion < 1 || minorYarnVersion < 10) {
|
||||||
err = true;
|
err = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!/yarn\.js$|yarnpkg$/.test(process.env['npm_execpath'])) {
|
if (!/yarn[\w-.]*\.js$|yarnpkg$/.test(process.env['npm_execpath'])) {
|
||||||
console.error('\033[1;31m*** Please use yarn to install dependencies.\033[0;0m');
|
console.error('\033[1;31m*** Please use yarn to install dependencies.\033[0;0m');
|
||||||
err = true;
|
err = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,10 +40,10 @@
|
||||||
"iconv-lite": "0.4.23",
|
"iconv-lite": "0.4.23",
|
||||||
"mime": "^1.3.4",
|
"mime": "^1.3.4",
|
||||||
"minimatch": "3.0.4",
|
"minimatch": "3.0.4",
|
||||||
"minimist": "^1.2.0",
|
"minimist": "^1.2.3",
|
||||||
"request": "^2.85.0",
|
"request": "^2.85.0",
|
||||||
"terser": "4.3.8",
|
"terser": "4.3.8",
|
||||||
"typescript": "^3.8.1-rc",
|
"typescript": "^3.9.0-dev.20200327",
|
||||||
"vsce": "1.48.0",
|
"vsce": "1.48.0",
|
||||||
"vscode-telemetry-extractor": "^1.5.4",
|
"vscode-telemetry-extractor": "^1.5.4",
|
||||||
"xml2js": "^0.4.17"
|
"xml2js": "^0.4.17"
|
||||||
|
|
|
@ -1780,10 +1780,10 @@ minimatch@3.0.4, minimatch@^3.0.3, minimatch@^3.0.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion "^1.1.7"
|
brace-expansion "^1.1.7"
|
||||||
|
|
||||||
minimist@^1.1.0, minimist@^1.2.0:
|
minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.3:
|
||||||
version "1.2.0"
|
version "1.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.3.tgz#3db5c0765545ab8637be71f333a104a965a9ca3f"
|
||||||
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
|
integrity sha512-+bMdgqjMN/Z77a6NlY/I3U5LlRDbnmaAk6lDveAPKwSpcPM4tKAuYsvYF8xjhOPXhOYGe/73vVLVez5PW+jqhw==
|
||||||
|
|
||||||
minimist@~0.0.1:
|
minimist@~0.0.1:
|
||||||
version "0.0.10"
|
version "0.0.10"
|
||||||
|
@ -2458,10 +2458,10 @@ typescript@^3.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977"
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977"
|
||||||
integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==
|
integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==
|
||||||
|
|
||||||
typescript@^3.8.1-rc:
|
typescript@^3.9.0-dev.20200327:
|
||||||
version "3.8.1-rc"
|
version "3.9.0-dev.20200327"
|
||||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.1-rc.tgz#f94333c14da70927ccd887be2e91be652a9a09f6"
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.0-dev.20200327.tgz#52179aae816587f772a0526e91143760f2bee42f"
|
||||||
integrity sha512-aOIe066DyZn2uYIiND6fXMUUJ70nxwu/lKhA92QuQzXyC86fr0ywo1qvO8l2m0EnDcfjprYPuFRgNgDj7U2GlQ==
|
integrity sha512-/TWD/zPvhAcN2Toqx2NBQ+oDVGVj4iqupjWcUAwL45TfcODeHpzszneABR1b/EjHbtUObtLH40vy5Z6rdVvKzg==
|
||||||
|
|
||||||
typical@^4.0.0:
|
typical@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
|
|
|
@ -81,5 +81,93 @@
|
||||||
"prependLicenseText": [
|
"prependLicenseText": [
|
||||||
"Copyright (c) Microsoft Corporation. All rights reserved."
|
"Copyright (c) Microsoft Corporation. All rights reserved."
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// Reason: The license at https://github.com/rbuckton/reflect-metadata/blob/master/LICENSE
|
||||||
|
// does not include a clear Copyright statement (it's in https://github.com/rbuckton/reflect-metadata/blob/master/CopyrightNotice.txt).
|
||||||
|
"name": "reflect-metadata",
|
||||||
|
"prependLicenseText": [
|
||||||
|
"Copyright (c) Microsoft Corporation. All rights reserved."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// Reason: The license at https://github.com/reem/rust-unreachable/blob/master/LICENSE-MIT
|
||||||
|
// cannot be found by the OSS tool automatically.
|
||||||
|
"name": "reem/rust-unreachable",
|
||||||
|
"fullLicenseText": [
|
||||||
|
"Copyright (c) 2015 The rust-unreachable Developers",
|
||||||
|
"",
|
||||||
|
"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."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// Reason: The license at https://github.com/reem/rust-void/blob/master/LICENSE-MIT
|
||||||
|
// cannot be found by the OSS tool automatically.
|
||||||
|
"name": "reem/rust-void",
|
||||||
|
"fullLicenseText": [
|
||||||
|
"Copyright (c) 2015 The rust-void Developers",
|
||||||
|
"",
|
||||||
|
"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."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// Reason: The license at https://github.com/mrhooray/crc-rs/blob/master/LICENSE-MIT
|
||||||
|
// cannot be found by the OSS tool automatically.
|
||||||
|
"name": "mrhooray/crc-rs",
|
||||||
|
"fullLicenseText": [
|
||||||
|
"MIT License",
|
||||||
|
"",
|
||||||
|
"Copyright (c) 2017 crc-rs Developers",
|
||||||
|
"",
|
||||||
|
"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."
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -60,12 +60,12 @@
|
||||||
"git": {
|
"git": {
|
||||||
"name": "electron",
|
"name": "electron",
|
||||||
"repositoryUrl": "https://github.com/electron/electron",
|
"repositoryUrl": "https://github.com/electron/electron",
|
||||||
"commitHash": "d17dfabfcba7bd0bc994b8dac5f5d2000bef572c"
|
"commitHash": "456c9f09a28ef59c82e43fe0602eddddeb211c77"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"isOnlyProductionDependency": true,
|
"isOnlyProductionDependency": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "7.1.11"
|
"version": "7.2.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"component": {
|
"component": {
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
}],
|
}],
|
||||||
"snippets": [{
|
"snippets": [{
|
||||||
"language": "bat",
|
"language": "bat",
|
||||||
"path": "./snippets/batchfile.snippets.json"
|
"path": "./snippets/batchfile.code-snippets"
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -28,7 +28,7 @@
|
||||||
],
|
],
|
||||||
"snippets": [{
|
"snippets": [{
|
||||||
"language": "coffeescript",
|
"language": "coffeescript",
|
||||||
"path": "./snippets/coffeescript.snippets.json"
|
"path": "./snippets/coffeescript.code-snippets"
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -18,8 +18,8 @@
|
||||||
"watch": "gulp watch-extension:configuration-editing"
|
"watch": "gulp watch-extension:configuration-editing"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"jsonc-parser": "^2.1.1",
|
"jsonc-parser": "^2.2.1",
|
||||||
"vscode-nls": "^4.0.0"
|
"vscode-nls": "^4.1.1"
|
||||||
},
|
},
|
||||||
"contributes": {
|
"contributes": {
|
||||||
"languages": [
|
"languages": [
|
||||||
|
@ -96,6 +96,10 @@
|
||||||
"fileMatch": "%APP_SETTINGS_HOME%/snippets/*.json",
|
"fileMatch": "%APP_SETTINGS_HOME%/snippets/*.json",
|
||||||
"url": "vscode://schemas/snippets"
|
"url": "vscode://schemas/snippets"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"fileMatch": "%APP_SETTINGS_HOME%/sync/snippets/preview/*.json",
|
||||||
|
"url": "vscode://schemas/snippets"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"fileMatch": "**/*.code-snippets",
|
"fileMatch": "**/*.code-snippets",
|
||||||
"url": "vscode://schemas/global-snippets"
|
"url": "vscode://schemas/global-snippets"
|
||||||
|
|
|
@ -48,6 +48,16 @@
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "The user VS Code Server will be started with. The default is the same user as the container."
|
"description": "The user VS Code Server will be started with. The default is the same user as the container."
|
||||||
},
|
},
|
||||||
|
"initializeCommand": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"array"
|
||||||
|
],
|
||||||
|
"description": "A command to run locally before anything else. If this is a single string, it will be run in a shell. If this is an array of strings, it will be run as a single command without shell.",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"postCreateCommand": {
|
"postCreateCommand": {
|
||||||
"type": [
|
"type": [
|
||||||
"string",
|
"string",
|
||||||
|
@ -132,7 +142,44 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dockerFileContainer": {
|
"dockerfileContainer": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"build": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "Docker build-related options.",
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"dockerfile": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The location of the Dockerfile that defines the contents of the container. The path is relative to the folder containing the `devcontainer.json` file."
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The location of the context folder for building the Docker image. The path is relative to the folder containing the `devcontainer.json` file."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"dockerfile"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/definitions/buildOptions"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"build"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"dockerFile": {
|
"dockerFile": {
|
||||||
|
@ -148,6 +195,37 @@
|
||||||
"dockerFile"
|
"dockerFile"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"build": {
|
||||||
|
"description": "Docker build-related options.",
|
||||||
|
"$ref": "#/definitions/buildOptions"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"buildOptions": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"target": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Target stage in a multi-stage build."
|
||||||
|
},
|
||||||
|
"args": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": [
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"description": "Build arguments."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"imageContainer": {
|
"imageContainer": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -212,7 +290,7 @@
|
||||||
{
|
{
|
||||||
"oneOf": [
|
"oneOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/dockerFileContainer"
|
"$ref": "#/definitions/dockerfileContainer"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/imageContainer"
|
"$ref": "#/definitions/imageContainer"
|
||||||
|
|
|
@ -7,6 +7,7 @@ import { getLocation, parse, visit } from 'jsonc-parser';
|
||||||
import * as vscode from 'vscode';
|
import * as vscode from 'vscode';
|
||||||
import * as nls from 'vscode-nls';
|
import * as nls from 'vscode-nls';
|
||||||
import { SettingsDocument } from './settingsDocumentHelper';
|
import { SettingsDocument } from './settingsDocumentHelper';
|
||||||
|
import { provideInstalledExtensionProposals } from './extensionsProposals';
|
||||||
const localize = nls.loadMessageBundle();
|
const localize = nls.loadMessageBundle();
|
||||||
|
|
||||||
export function activate(context: vscode.ExtensionContext): void {
|
export function activate(context: vscode.ExtensionContext): void {
|
||||||
|
@ -80,7 +81,7 @@ function registerExtensionsCompletionsInExtensionsDocument(): vscode.Disposable
|
||||||
const range = document.getWordRangeAtPosition(position) || new vscode.Range(position, position);
|
const range = document.getWordRangeAtPosition(position) || new vscode.Range(position, position);
|
||||||
if (location.path[0] === 'recommendations') {
|
if (location.path[0] === 'recommendations') {
|
||||||
const extensionsContent = <IExtensionsContent>parse(document.getText());
|
const extensionsContent = <IExtensionsContent>parse(document.getText());
|
||||||
return provideInstalledExtensionProposals(extensionsContent, range);
|
return provideInstalledExtensionProposals(extensionsContent && extensionsContent.recommendations || [], range, false);
|
||||||
}
|
}
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
@ -94,41 +95,13 @@ function registerExtensionsCompletionsInWorkspaceConfigurationDocument(): vscode
|
||||||
const range = document.getWordRangeAtPosition(position) || new vscode.Range(position, position);
|
const range = document.getWordRangeAtPosition(position) || new vscode.Range(position, position);
|
||||||
if (location.path[0] === 'extensions' && location.path[1] === 'recommendations') {
|
if (location.path[0] === 'extensions' && location.path[1] === 'recommendations') {
|
||||||
const extensionsContent = <IExtensionsContent>parse(document.getText())['extensions'];
|
const extensionsContent = <IExtensionsContent>parse(document.getText())['extensions'];
|
||||||
return provideInstalledExtensionProposals(extensionsContent, range);
|
return provideInstalledExtensionProposals(extensionsContent && extensionsContent.recommendations || [], range, false);
|
||||||
}
|
}
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function provideInstalledExtensionProposals(extensionsContent: IExtensionsContent, range: vscode.Range): vscode.ProviderResult<vscode.CompletionItem[] | vscode.CompletionList> {
|
|
||||||
const alreadyEnteredExtensions = extensionsContent && extensionsContent.recommendations || [];
|
|
||||||
if (Array.isArray(alreadyEnteredExtensions)) {
|
|
||||||
const knownExtensionProposals = vscode.extensions.all.filter(e =>
|
|
||||||
!(e.id.startsWith('vscode.')
|
|
||||||
|| e.id === 'Microsoft.vscode-markdown'
|
|
||||||
|| alreadyEnteredExtensions.indexOf(e.id) > -1));
|
|
||||||
if (knownExtensionProposals.length) {
|
|
||||||
return knownExtensionProposals.map(e => {
|
|
||||||
const item = new vscode.CompletionItem(e.id);
|
|
||||||
const insertText = `"${e.id}"`;
|
|
||||||
item.kind = vscode.CompletionItemKind.Value;
|
|
||||||
item.insertText = insertText;
|
|
||||||
item.range = range;
|
|
||||||
item.filterText = insertText;
|
|
||||||
return item;
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
const example = new vscode.CompletionItem(localize('exampleExtension', "Example"));
|
|
||||||
example.insertText = '"vscode.csharp"';
|
|
||||||
example.kind = vscode.CompletionItemKind.Value;
|
|
||||||
example.range = range;
|
|
||||||
return [example];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
vscode.languages.registerDocumentSymbolProvider({ pattern: '**/launch.json', language: 'jsonc' }, {
|
vscode.languages.registerDocumentSymbolProvider({ pattern: '**/launch.json', language: 'jsonc' }, {
|
||||||
provideDocumentSymbols(document: vscode.TextDocument, _token: vscode.CancellationToken): vscode.ProviderResult<vscode.SymbolInformation[]> {
|
provideDocumentSymbols(document: vscode.TextDocument, _token: vscode.CancellationToken): vscode.ProviderResult<vscode.SymbolInformation[]> {
|
||||||
const result: vscode.SymbolInformation[] = [];
|
const result: vscode.SymbolInformation[] = [];
|
||||||
|
|
35
extensions/configuration-editing/src/extensionsProposals.ts
Normal file
35
extensions/configuration-editing/src/extensionsProposals.ts
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
/*---------------------------------------------------------------------------------------------
|
||||||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
import * as vscode from 'vscode';
|
||||||
|
import * as nls from 'vscode-nls';
|
||||||
|
const localize = nls.loadMessageBundle();
|
||||||
|
|
||||||
|
|
||||||
|
export function provideInstalledExtensionProposals(existing: string[], range: vscode.Range, includeBuiltinExtensions: boolean): vscode.ProviderResult<vscode.CompletionItem[] | vscode.CompletionList> {
|
||||||
|
if (Array.isArray(existing)) {
|
||||||
|
const extensions = includeBuiltinExtensions ? vscode.extensions.all : vscode.extensions.all.filter(e => !(e.id.startsWith('vscode.') || e.id === 'Microsoft.vscode-markdown'));
|
||||||
|
const knownExtensionProposals = extensions.filter(e => existing.indexOf(e.id) === -1);
|
||||||
|
if (knownExtensionProposals.length) {
|
||||||
|
return knownExtensionProposals.map(e => {
|
||||||
|
const item = new vscode.CompletionItem(e.id);
|
||||||
|
const insertText = `"${e.id}"`;
|
||||||
|
item.kind = vscode.CompletionItemKind.Value;
|
||||||
|
item.insertText = insertText;
|
||||||
|
item.range = range;
|
||||||
|
item.filterText = insertText;
|
||||||
|
return item;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
const example = new vscode.CompletionItem(localize('exampleExtension', "Example"));
|
||||||
|
example.insertText = '"vscode.csharp"';
|
||||||
|
example.kind = vscode.CompletionItemKind.Value;
|
||||||
|
example.range = range;
|
||||||
|
return [example];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
|
@ -4,8 +4,9 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
import * as vscode from 'vscode';
|
import * as vscode from 'vscode';
|
||||||
import { getLocation, Location } from 'jsonc-parser';
|
import { getLocation, Location, parse } from 'jsonc-parser';
|
||||||
import * as nls from 'vscode-nls';
|
import * as nls from 'vscode-nls';
|
||||||
|
import { provideInstalledExtensionProposals } from './extensionsProposals';
|
||||||
|
|
||||||
const localize = nls.loadMessageBundle();
|
const localize = nls.loadMessageBundle();
|
||||||
|
|
||||||
|
@ -13,7 +14,7 @@ export class SettingsDocument {
|
||||||
|
|
||||||
constructor(private document: vscode.TextDocument) { }
|
constructor(private document: vscode.TextDocument) { }
|
||||||
|
|
||||||
public provideCompletionItems(position: vscode.Position, _token: vscode.CancellationToken): vscode.ProviderResult<vscode.CompletionItem[]> {
|
public provideCompletionItems(position: vscode.Position, _token: vscode.CancellationToken): vscode.ProviderResult<vscode.CompletionItem[] | vscode.CompletionList> {
|
||||||
const location = getLocation(this.document.getText(), this.document.offsetAt(position));
|
const location = getLocation(this.document.getText(), this.document.offsetAt(position));
|
||||||
const range = this.document.getWordRangeAtPosition(position) || new vscode.Range(position, position);
|
const range = this.document.getWordRangeAtPosition(position) || new vscode.Range(position, position);
|
||||||
|
|
||||||
|
@ -41,6 +42,15 @@ export class SettingsDocument {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// sync.ignoredExtensions
|
||||||
|
if (location.path[0] === 'sync.ignoredExtensions') {
|
||||||
|
let ignoredExtensions = [];
|
||||||
|
try {
|
||||||
|
ignoredExtensions = parse(this.document.getText())['sync.ignoredExtensions'];
|
||||||
|
} catch (e) {/* ignore error */ }
|
||||||
|
return provideInstalledExtensionProposals(ignoredExtensions, range, true);
|
||||||
|
}
|
||||||
|
|
||||||
return this.provideLanguageOverridesCompletionItems(location, position);
|
return this.provideLanguageOverridesCompletionItems(location, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,12 +7,12 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.7.tgz#57682a9771a3f7b09c2497f28129a0462966524a"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.7.tgz#57682a9771a3f7b09c2497f28129a0462966524a"
|
||||||
integrity sha512-JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA==
|
integrity sha512-JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA==
|
||||||
|
|
||||||
jsonc-parser@^2.1.1:
|
jsonc-parser@^2.2.1:
|
||||||
version "2.1.1"
|
version "2.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.1.1.tgz#83dc3d7a6e7186346b889b1280eefa04446c6d3e"
|
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.2.1.tgz#db73cd59d78cce28723199466b2a03d1be1df2bc"
|
||||||
integrity sha512-VC0CjnWJylKB1iov4u76/W/5Ef0ydDkjtYWxoZ9t3HdWlSnZQwZL5MgFikaB/EtQ4RmMEw3tmQzuYnZA2/Ja1g==
|
integrity sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==
|
||||||
|
|
||||||
vscode-nls@^4.0.0:
|
vscode-nls@^4.1.1:
|
||||||
version "4.0.0"
|
version "4.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-4.0.0.tgz#4001c8a6caba5cedb23a9c5ce1090395c0e44002"
|
resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-4.1.1.tgz#f9916b64e4947b20322defb1e676a495861f133c"
|
||||||
integrity sha512-qCfdzcH+0LgQnBpZA53bA32kzp9rpq/f66Som577ObeuDlFIrtbEJ+A/+CCxjIh4G8dpJYNCKIsxpRAHIfsbNw==
|
integrity sha512-4R+2UoUUU/LdnMnFjePxfLqNhBS8lrAFyX7pjb2ud/lqDkrUavFUTcG7wR0HBZFakae0Q6KLBFjMS6W93F403A==
|
||||||
|
|
|
@ -6,11 +6,11 @@
|
||||||
"git": {
|
"git": {
|
||||||
"name": "jeff-hykin/cpp-textmate-grammar",
|
"name": "jeff-hykin/cpp-textmate-grammar",
|
||||||
"repositoryUrl": "https://github.com/jeff-hykin/cpp-textmate-grammar",
|
"repositoryUrl": "https://github.com/jeff-hykin/cpp-textmate-grammar",
|
||||||
"commitHash": "5b6f67859e895da83dc242b849480ee04ce7ce38"
|
"commitHash": "666808cab3907fc91ed4d3901060ee6b045cca58"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "1.14.20",
|
"version": "1.14.15",
|
||||||
"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."
|
"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."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -75,11 +75,11 @@
|
||||||
"snippets": [
|
"snippets": [
|
||||||
{
|
{
|
||||||
"language": "c",
|
"language": "c",
|
||||||
"path": "./snippets/c.json"
|
"path": "./snippets/c.code-snippets"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"language": "cpp",
|
"language": "cpp",
|
||||||
"path": "./snippets/cpp.json"
|
"path": "./snippets/cpp.code-snippets"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
"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."
|
"Once accepted there, we are happy to receive an update request."
|
||||||
],
|
],
|
||||||
"version": "https://github.com/jeff-hykin/cpp-textmate-grammar/commit/85b9008b406cc9d3b1c9e779e94cc071116c8426",
|
"version": "https://github.com/jeff-hykin/cpp-textmate-grammar/commit/72b309aabb63bf14a3cdf0280149121db005d616",
|
||||||
"name": "C",
|
"name": "C",
|
||||||
"scopeName": "source.c",
|
"scopeName": "source.c",
|
||||||
"patterns": [
|
"patterns": [
|
||||||
|
@ -464,7 +464,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"backslash_escapes": {
|
"backslash_escapes": {
|
||||||
"match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
|
"match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3]\\d{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
|
||||||
"name": "constant.character.escape.c"
|
"name": "constant.character.escape.c"
|
||||||
},
|
},
|
||||||
"block": {
|
"block": {
|
||||||
|
@ -690,20 +690,12 @@
|
||||||
"name": "storage.type.class.doxygen.c"
|
"name": "storage.type.class.doxygen.c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)",
|
"match": "((?<=[\\s*!\\/])[\\\\@]param)\\s+(\\b\\w+\\b)",
|
||||||
"captures": {
|
"captures": {
|
||||||
"1": {
|
"1": {
|
||||||
"name": "storage.type.class.doxygen.c"
|
"name": "storage.type.class.doxygen.c"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"match": "in|out",
|
|
||||||
"name": "keyword.other.parameter.direction.$0.c"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"3": {
|
|
||||||
"name": "variable.parameter.c"
|
"name": "variable.parameter.c"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -776,20 +768,12 @@
|
||||||
"name": "storage.type.class.doxygen.c"
|
"name": "storage.type.class.doxygen.c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)",
|
"match": "((?<=[\\s*!\\/])[\\\\@]param)\\s+(\\b\\w+\\b)",
|
||||||
"captures": {
|
"captures": {
|
||||||
"1": {
|
"1": {
|
||||||
"name": "storage.type.class.doxygen.c"
|
"name": "storage.type.class.doxygen.c"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"match": "in|out",
|
|
||||||
"name": "keyword.other.parameter.direction.$0.c"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"3": {
|
|
||||||
"name": "variable.parameter.c"
|
"name": "variable.parameter.c"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -875,20 +859,12 @@
|
||||||
"name": "storage.type.class.doxygen.c"
|
"name": "storage.type.class.doxygen.c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)",
|
"match": "((?<=[\\s*!\\/])[\\\\@]param)\\s+(\\b\\w+\\b)",
|
||||||
"captures": {
|
"captures": {
|
||||||
"1": {
|
"1": {
|
||||||
"name": "storage.type.class.doxygen.c"
|
"name": "storage.type.class.doxygen.c"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"match": "in|out",
|
|
||||||
"name": "keyword.other.parameter.direction.$0.c"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"3": {
|
|
||||||
"name": "variable.parameter.c"
|
"name": "variable.parameter.c"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2898,83 +2874,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "meta.asm.c",
|
"name": "meta.asm.c",
|
||||||
"begin": "(\\b(?:__asm__|asm)\\b)\\s*((?:volatile)?)",
|
"begin": "(\\b(?:__asm__|asm)\\b)\\s*((?:volatile)?)\\s*(\\()",
|
||||||
"beginCaptures": {
|
"beginCaptures": {
|
||||||
"1": {
|
"1": {
|
||||||
"name": "storage.type.asm.c"
|
"name": "storage.type.asm.c"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"name": "storage.modifier.c"
|
"name": "storage.modifier.c"
|
||||||
}
|
|
||||||
},
|
|
||||||
"end": "(?!\\G)",
|
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"match": "(?:^)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?:\\n|$)",
|
|
||||||
"captures": {
|
|
||||||
"1": {
|
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"include": "#inline_comment"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"name": "comment.block.c punctuation.definition.comment.begin.c"
|
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"name": "comment.block.c"
|
|
||||||
},
|
|
||||||
"4": {
|
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"match": "\\*\\/",
|
|
||||||
"name": "comment.block.c punctuation.definition.comment.end.c"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"match": "\\*",
|
|
||||||
"name": "comment.block.c"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"include": "#comments_context"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"include": "#comments"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"begin": "(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\()",
|
|
||||||
"beginCaptures": {
|
|
||||||
"1": {
|
|
||||||
"name": "punctuation.section.parens.begin.bracket.round.assembly.c"
|
"name": "punctuation.section.parens.begin.bracket.round.assembly.c"
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"include": "#inline_comment"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"3": {
|
|
||||||
"name": "comment.block.c punctuation.definition.comment.begin.c"
|
|
||||||
},
|
|
||||||
"4": {
|
|
||||||
"name": "comment.block.c"
|
|
||||||
},
|
|
||||||
"5": {
|
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"match": "\\*\\/",
|
|
||||||
"name": "comment.block.c punctuation.definition.comment.end.c"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"match": "\\*",
|
|
||||||
"name": "comment.block.c"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"end": "(\\))",
|
"end": "(\\))",
|
||||||
|
@ -3020,6 +2929,9 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"include": "#string_escaped_char"
|
"include": "#string_escaped_char"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"match": "(?=not)possible"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -3042,64 +2954,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"match": "\\[((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))([a-zA-Z_]\\w*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\]",
|
|
||||||
"captures": {
|
|
||||||
"1": {
|
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"include": "#inline_comment"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"name": "comment.block.c punctuation.definition.comment.begin.c"
|
|
||||||
},
|
|
||||||
"3": {
|
|
||||||
"name": "comment.block.c"
|
|
||||||
},
|
|
||||||
"4": {
|
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"match": "\\*\\/",
|
|
||||||
"name": "comment.block.c punctuation.definition.comment.end.c"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"match": "\\*",
|
|
||||||
"name": "comment.block.c"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"5": {
|
|
||||||
"name": "variable.other.asm.label.c"
|
|
||||||
},
|
|
||||||
"6": {
|
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"include": "#inline_comment"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"7": {
|
|
||||||
"name": "comment.block.c punctuation.definition.comment.begin.c"
|
|
||||||
},
|
|
||||||
"8": {
|
|
||||||
"name": "comment.block.c"
|
|
||||||
},
|
|
||||||
"9": {
|
|
||||||
"patterns": [
|
|
||||||
{
|
|
||||||
"match": "\\*\\/",
|
|
||||||
"name": "comment.block.c punctuation.definition.comment.end.c"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"match": "\\*",
|
|
||||||
"name": "comment.block.c"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"match": ":",
|
"match": ":",
|
||||||
"name": "punctuation.separator.delimiter.colon.assembly.c"
|
"name": "punctuation.separator.delimiter.colon.assembly.c"
|
||||||
|
@ -3113,8 +2967,6 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"string_escaped_char": {
|
"string_escaped_char": {
|
||||||
"patterns": [
|
"patterns": [
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
3
extensions/cpp/test/colorize-fixtures/test-92369.cpp
Normal file
3
extensions/cpp/test/colorize-fixtures/test-92369.cpp
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
std::tuple_element<0, std::pair<pugi::xml_node, std::map<std::basic_string<char>, pugi::xml_node, std::less<std::basic_string<char> >, std::allocator<std::pair<const std::basic_string<char>, pugi::xml_node> > > > >::type dnode
|
||||||
|
|
||||||
|
std::_Rb_tree_iterator<std::pair<const long, std::pair<pugi::xml_node, std::map<std::basic_string<char>, pugi::xml_node, std::less<std::basic_string<char> >, std::allocator<std::pair<const std::basic_string<char>, pugi::xml_node> > > > > > dnode_it = dnodes_.find(uid.position)
|
|
@ -331,7 +331,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": " ",
|
"c": " ",
|
||||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.namespace.cpp meta.body.namespace.cpp meta.block.struct.cpp meta.head.struct.cpp",
|
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.namespace.cpp meta.body.namespace.cpp meta.block.struct.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "meta.preprocessor: #569CD6",
|
"dark_plus": "meta.preprocessor: #569CD6",
|
||||||
"light_plus": "meta.preprocessor: #0000FF",
|
"light_plus": "meta.preprocessor: #0000FF",
|
||||||
|
@ -342,7 +342,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "public",
|
"c": "public",
|
||||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.namespace.cpp meta.body.namespace.cpp meta.block.struct.cpp meta.head.struct.cpp storage.type.modifier.access.public.cpp",
|
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.namespace.cpp meta.body.namespace.cpp meta.block.struct.cpp storage.type.modifier.access.public.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "storage.type: #569CD6",
|
"dark_plus": "storage.type: #569CD6",
|
||||||
"light_plus": "storage.type: #0000FF",
|
"light_plus": "storage.type: #0000FF",
|
||||||
|
@ -353,7 +353,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": " ",
|
"c": " ",
|
||||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.namespace.cpp meta.body.namespace.cpp meta.block.struct.cpp meta.head.struct.cpp",
|
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.namespace.cpp meta.body.namespace.cpp meta.block.struct.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "meta.preprocessor: #569CD6",
|
"dark_plus": "meta.preprocessor: #569CD6",
|
||||||
"light_plus": "meta.preprocessor: #0000FF",
|
"light_plus": "meta.preprocessor: #0000FF",
|
||||||
|
@ -364,7 +364,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "base",
|
"c": "base",
|
||||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.namespace.cpp meta.body.namespace.cpp meta.block.struct.cpp meta.head.struct.cpp meta.qualified_type.cpp entity.name.type.cpp",
|
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.namespace.cpp meta.body.namespace.cpp meta.block.struct.cpp meta.qualified_type.cpp entity.name.type.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "entity.name.type: #4EC9B0",
|
"dark_plus": "entity.name.type: #4EC9B0",
|
||||||
"light_plus": "entity.name.type: #267F99",
|
"light_plus": "entity.name.type: #267F99",
|
||||||
|
@ -375,7 +375,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": " ",
|
"c": " ",
|
||||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.namespace.cpp meta.body.namespace.cpp meta.block.struct.cpp meta.head.struct.cpp",
|
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.namespace.cpp meta.body.namespace.cpp meta.block.struct.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "meta.preprocessor: #569CD6",
|
"dark_plus": "meta.preprocessor: #569CD6",
|
||||||
"light_plus": "meta.preprocessor: #0000FF",
|
"light_plus": "meta.preprocessor: #0000FF",
|
||||||
|
@ -386,7 +386,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "\\",
|
"c": "\\",
|
||||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.namespace.cpp meta.body.namespace.cpp meta.block.struct.cpp meta.head.struct.cpp constant.character.escape.line-continuation.cpp",
|
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.namespace.cpp meta.body.namespace.cpp meta.block.struct.cpp constant.character.escape.line-continuation.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "constant.character.escape: #D7BA7D",
|
"dark_plus": "constant.character.escape: #D7BA7D",
|
||||||
"light_plus": "constant.character.escape: #FF0000",
|
"light_plus": "constant.character.escape: #FF0000",
|
||||||
|
|
|
@ -375,7 +375,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "1",
|
"c": "1",
|
||||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp meta.parameter.initialization constant.numeric.decimal.cpp",
|
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp meta.parameter.initialization.cpp constant.numeric.decimal.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "constant.numeric: #B5CEA8",
|
"dark_plus": "constant.numeric: #B5CEA8",
|
||||||
"light_plus": "constant.numeric: #098658",
|
"light_plus": "constant.numeric: #098658",
|
||||||
|
@ -474,7 +474,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "3",
|
"c": "3",
|
||||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp meta.parameter.initialization constant.numeric.decimal.cpp",
|
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp meta.parameter.initialization.cpp constant.numeric.decimal.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "constant.numeric: #B5CEA8",
|
"dark_plus": "constant.numeric: #B5CEA8",
|
||||||
"light_plus": "constant.numeric: #098658",
|
"light_plus": "constant.numeric: #098658",
|
||||||
|
|
1927
extensions/cpp/test/colorize-results/test-92369_cpp.json
Normal file
1927
extensions/cpp/test/colorize-results/test-92369_cpp.json
Normal file
File diff suppressed because it is too large
Load diff
|
@ -122,7 +122,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "%d",
|
"c": "%d",
|
||||||
"t": "source.cpp string.quoted.double.cpp constant.other.placeholder",
|
"t": "source.cpp string.quoted.double.cpp constant.other.placeholder.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "string: #CE9178",
|
"dark_plus": "string: #CE9178",
|
||||||
"light_plus": "string: #A31515",
|
"light_plus": "string: #A31515",
|
||||||
|
@ -430,7 +430,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "%d",
|
"c": "%d",
|
||||||
"t": "source.cpp string.quoted.double.cpp constant.other.placeholder",
|
"t": "source.cpp string.quoted.double.cpp constant.other.placeholder.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "string: #CE9178",
|
"dark_plus": "string: #CE9178",
|
||||||
"light_plus": "string: #A31515",
|
"light_plus": "string: #A31515",
|
||||||
|
@ -474,7 +474,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "user_candidate",
|
"c": "user_candidate",
|
||||||
"t": "source.cpp meta.bracket.square.access variable.other.object",
|
"t": "source.cpp meta.bracket.square.access.cpp variable.other.object.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "variable: #9CDCFE",
|
"dark_plus": "variable: #9CDCFE",
|
||||||
"light_plus": "variable: #001080",
|
"light_plus": "variable: #001080",
|
||||||
|
@ -485,7 +485,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "[",
|
"c": "[",
|
||||||
"t": "source.cpp meta.bracket.square.access punctuation.definition.begin.bracket.square",
|
"t": "source.cpp meta.bracket.square.access.cpp punctuation.definition.begin.bracket.square.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "default: #D4D4D4",
|
"dark_plus": "default: #D4D4D4",
|
||||||
"light_plus": "default: #000000",
|
"light_plus": "default: #000000",
|
||||||
|
@ -496,7 +496,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "i",
|
"c": "i",
|
||||||
"t": "source.cpp meta.bracket.square.access",
|
"t": "source.cpp meta.bracket.square.access.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "default: #D4D4D4",
|
"dark_plus": "default: #D4D4D4",
|
||||||
"light_plus": "default: #000000",
|
"light_plus": "default: #000000",
|
||||||
|
@ -507,7 +507,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "]",
|
"c": "]",
|
||||||
"t": "source.cpp meta.bracket.square.access punctuation.definition.end.bracket.square",
|
"t": "source.cpp meta.bracket.square.access.cpp punctuation.definition.end.bracket.square.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "default: #D4D4D4",
|
"dark_plus": "default: #D4D4D4",
|
||||||
"light_plus": "default: #000000",
|
"light_plus": "default: #000000",
|
||||||
|
@ -727,7 +727,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "O",
|
"c": "O",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp entity.name.type.parameter.cpp",
|
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp entity.name.type.parameter.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "entity.name.type: #4EC9B0",
|
"dark_plus": "entity.name.type: #4EC9B0",
|
||||||
"light_plus": "entity.name.type: #267F99",
|
"light_plus": "entity.name.type: #267F99",
|
||||||
|
@ -738,7 +738,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": " ",
|
"c": " ",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp",
|
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "default: #D4D4D4",
|
"dark_plus": "default: #D4D4D4",
|
||||||
"light_plus": "default: #000000",
|
"light_plus": "default: #000000",
|
||||||
|
@ -749,7 +749,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "obj",
|
"c": "obj",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp variable.parameter.cpp",
|
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp variable.parameter.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "variable: #9CDCFE",
|
"dark_plus": "variable: #9CDCFE",
|
||||||
"light_plus": "variable: #001080",
|
"light_plus": "variable: #001080",
|
||||||
|
@ -1464,7 +1464,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "%s",
|
"c": "%s",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.body.function.definition.cpp string.quoted.double.cpp constant.other.placeholder",
|
"t": "source.cpp meta.function.definition.cpp meta.body.function.definition.cpp string.quoted.double.cpp constant.other.placeholder.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "string: #CE9178",
|
"dark_plus": "string: #CE9178",
|
||||||
"light_plus": "string: #A31515",
|
"light_plus": "string: #A31515",
|
||||||
|
@ -1486,7 +1486,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "%s",
|
"c": "%s",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.body.function.definition.cpp string.quoted.double.cpp constant.other.placeholder",
|
"t": "source.cpp meta.function.definition.cpp meta.body.function.definition.cpp string.quoted.double.cpp constant.other.placeholder.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "string: #CE9178",
|
"dark_plus": "string: #CE9178",
|
||||||
"light_plus": "string: #A31515",
|
"light_plus": "string: #A31515",
|
||||||
|
@ -1805,7 +1805,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "movw $0x38, %ax; ltr %ax",
|
"c": "movw $0x38, %ax; ltr %ax",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.body.function.definition.cpp meta.asm.cpp string.quoted.double.cpp meta.embedded.assembly",
|
"t": "source.cpp meta.function.definition.cpp meta.body.function.definition.cpp meta.asm.cpp string.quoted.double.cpp meta.embedded.assembly.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "meta.embedded.assembly: #CE9178",
|
"dark_plus": "meta.embedded.assembly: #CE9178",
|
||||||
"light_plus": "meta.embedded.assembly: #A31515",
|
"light_plus": "meta.embedded.assembly: #A31515",
|
||||||
|
|
|
@ -485,7 +485,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "int",
|
"c": "int",
|
||||||
"t": "source.cpp meta.block.class.cpp meta.body.class.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
"t": "source.cpp meta.block.class.cpp meta.body.class.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "storage.type: #569CD6",
|
"dark_plus": "storage.type: #569CD6",
|
||||||
"light_plus": "storage.type: #0000FF",
|
"light_plus": "storage.type: #0000FF",
|
||||||
|
@ -496,7 +496,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": ",",
|
"c": ",",
|
||||||
"t": "source.cpp meta.block.class.cpp meta.body.class.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp punctuation.separator.delimiter.comma.cpp",
|
"t": "source.cpp meta.block.class.cpp meta.body.class.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp punctuation.separator.delimiter.comma.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "default: #D4D4D4",
|
"dark_plus": "default: #D4D4D4",
|
||||||
"light_plus": "default: #000000",
|
"light_plus": "default: #000000",
|
||||||
|
@ -507,7 +507,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "int",
|
"c": "int",
|
||||||
"t": "source.cpp meta.block.class.cpp meta.body.class.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
"t": "source.cpp meta.block.class.cpp meta.body.class.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "storage.type: #569CD6",
|
"dark_plus": "storage.type: #569CD6",
|
||||||
"light_plus": "storage.type: #0000FF",
|
"light_plus": "storage.type: #0000FF",
|
||||||
|
@ -793,7 +793,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "int",
|
"c": "int",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "storage.type: #569CD6",
|
"dark_plus": "storage.type: #569CD6",
|
||||||
"light_plus": "storage.type: #0000FF",
|
"light_plus": "storage.type: #0000FF",
|
||||||
|
@ -804,7 +804,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": " ",
|
"c": " ",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp",
|
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "default: #D4D4D4",
|
"dark_plus": "default: #D4D4D4",
|
||||||
"light_plus": "default: #000000",
|
"light_plus": "default: #000000",
|
||||||
|
@ -815,7 +815,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "x",
|
"c": "x",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp variable.parameter.cpp",
|
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp variable.parameter.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "variable: #9CDCFE",
|
"dark_plus": "variable: #9CDCFE",
|
||||||
"light_plus": "variable: #001080",
|
"light_plus": "variable: #001080",
|
||||||
|
@ -826,7 +826,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": ",",
|
"c": ",",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp punctuation.separator.delimiter.comma.cpp",
|
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp punctuation.separator.delimiter.comma.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "default: #D4D4D4",
|
"dark_plus": "default: #D4D4D4",
|
||||||
"light_plus": "default: #000000",
|
"light_plus": "default: #000000",
|
||||||
|
@ -837,7 +837,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": " ",
|
"c": " ",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp",
|
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "default: #D4D4D4",
|
"dark_plus": "default: #D4D4D4",
|
||||||
"light_plus": "default: #000000",
|
"light_plus": "default: #000000",
|
||||||
|
@ -848,7 +848,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "int",
|
"c": "int",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "storage.type: #569CD6",
|
"dark_plus": "storage.type: #569CD6",
|
||||||
"light_plus": "storage.type: #0000FF",
|
"light_plus": "storage.type: #0000FF",
|
||||||
|
@ -859,7 +859,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": " ",
|
"c": " ",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp",
|
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "default: #D4D4D4",
|
"dark_plus": "default: #D4D4D4",
|
||||||
"light_plus": "default: #000000",
|
"light_plus": "default: #000000",
|
||||||
|
@ -870,7 +870,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "y",
|
"c": "y",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters meta.parameter.cpp variable.parameter.cpp",
|
"t": "source.cpp meta.function.definition.cpp meta.head.function.definition.cpp meta.function.definition.parameters.cpp meta.parameter.cpp variable.parameter.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "variable: #9CDCFE",
|
"dark_plus": "variable: #9CDCFE",
|
||||||
"light_plus": "variable: #001080",
|
"light_plus": "variable: #001080",
|
||||||
|
@ -1123,7 +1123,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "long",
|
"c": "long",
|
||||||
"t": "source.cpp meta.function.definition.special.operator-overload.cpp meta.head.function.definition.special.operator-overload.cpp meta.function.definition.parameters.special.operator-overload meta.parameter.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
"t": "source.cpp meta.function.definition.special.operator-overload.cpp meta.head.function.definition.special.operator-overload.cpp meta.function.definition.parameters.special.operator-overload.cpp meta.parameter.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "storage.type: #569CD6",
|
"dark_plus": "storage.type: #569CD6",
|
||||||
"light_plus": "storage.type: #0000FF",
|
"light_plus": "storage.type: #0000FF",
|
||||||
|
@ -1134,7 +1134,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": " ",
|
"c": " ",
|
||||||
"t": "source.cpp meta.function.definition.special.operator-overload.cpp meta.head.function.definition.special.operator-overload.cpp meta.function.definition.parameters.special.operator-overload meta.parameter.cpp",
|
"t": "source.cpp meta.function.definition.special.operator-overload.cpp meta.head.function.definition.special.operator-overload.cpp meta.function.definition.parameters.special.operator-overload.cpp meta.parameter.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "default: #D4D4D4",
|
"dark_plus": "default: #D4D4D4",
|
||||||
"light_plus": "default: #000000",
|
"light_plus": "default: #000000",
|
||||||
|
@ -1145,7 +1145,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "double",
|
"c": "double",
|
||||||
"t": "source.cpp meta.function.definition.special.operator-overload.cpp meta.head.function.definition.special.operator-overload.cpp meta.function.definition.parameters.special.operator-overload meta.parameter.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
"t": "source.cpp meta.function.definition.special.operator-overload.cpp meta.head.function.definition.special.operator-overload.cpp meta.function.definition.parameters.special.operator-overload.cpp meta.parameter.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "storage.type: #569CD6",
|
"dark_plus": "storage.type: #569CD6",
|
||||||
"light_plus": "storage.type: #0000FF",
|
"light_plus": "storage.type: #0000FF",
|
||||||
|
@ -1519,7 +1519,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"c": "movl %a %b",
|
"c": "movl %a %b",
|
||||||
"t": "source.cpp meta.function.definition.cpp meta.body.function.definition.cpp meta.asm.cpp string.quoted.double.cpp meta.embedded.assembly",
|
"t": "source.cpp meta.function.definition.cpp meta.body.function.definition.cpp meta.asm.cpp string.quoted.double.cpp meta.embedded.assembly.cpp",
|
||||||
"r": {
|
"r": {
|
||||||
"dark_plus": "meta.embedded.assembly: #CE9178",
|
"dark_plus": "meta.embedded.assembly: #CE9178",
|
||||||
"light_plus": "meta.embedded.assembly: #A31515",
|
"light_plus": "meta.embedded.assembly: #A31515",
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
],
|
],
|
||||||
"snippets": [{
|
"snippets": [{
|
||||||
"language": "csharp",
|
"language": "csharp",
|
||||||
"path": "./snippets/csharp.json"
|
"path": "./snippets/csharp.code-snippets"
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -806,7 +806,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"vscode-languageclient": "^6.1.0",
|
"vscode-languageclient": "^6.1.1",
|
||||||
"vscode-nls": "^4.1.1"
|
"vscode-nls": "^4.1.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue