mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-29 11:46:02 +01:00
Merge branch 'main' into main
This commit is contained in:
@@ -105,7 +105,7 @@
|
||||
"image-preview": {"assign": ["mjbvz"]},
|
||||
"inlay-hints": {"assign": ["jrieken", "hediet"]},
|
||||
"inline-completions": {"assign": ["hediet"]},
|
||||
"install-update": {"assign": ["joaomoreno"]},
|
||||
"install-update": {"assign": ["joaomoreno"], "accuracy": 0.85},
|
||||
"intellisense-config": {"assign": ["rzhao271"]},
|
||||
"interactive-playground": {"assign": ["chrmarti"]},
|
||||
"interactive-window": {"assign": ["amunger", "rebornix"]},
|
||||
@@ -210,7 +210,7 @@
|
||||
"shared-process": {"assign": []},
|
||||
"simple-file-dialog": {"assign": ["alexr00"]},
|
||||
"smart-select": {"assign": ["jrieken"]},
|
||||
"snap": {"assign": ["joaomoreno"]},
|
||||
"snap": {"assign": ["deepak1556"]},
|
||||
"snippets": {"assign": ["jrieken"]},
|
||||
"splitview-widget": {"assign": ["joaomoreno"]},
|
||||
"ssh": {"assign": ["eleanorjboyd"]},
|
||||
|
||||
Vendored
+1
-1
@@ -7,7 +7,7 @@
|
||||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$repo=repo:microsoft/vscode\n$milestone=milestone:\"February 2023\""
|
||||
"value": "$repo=repo:microsoft/vscode\n$milestone=milestone:\"March 2023\""
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "// list of repos we work in\r\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-unpkg repo:microsoft/vscode-references-view repo:microsoft/vscode-anycode repo:microsoft/vscode-hexeditor repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-livepreview repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remote-repositories-github repo:microsoft/monaco-editor repo:microsoft/vscode-vsce repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-l10n repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-markdown-languageservice\r\n\r\n// current milestone name\r\n$milestone=milestone:\"February 2023\""
|
||||
"value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-unpkg repo:microsoft/vscode-references-view repo:microsoft/vscode-anycode repo:microsoft/vscode-hexeditor repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-livepreview repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remote-repositories-github repo:microsoft/monaco-editor repo:microsoft/vscode-vsce repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-l10n repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-markdown-languageservice\n\n// current milestone name\n$milestone=milestone:\"March 2023\""
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
||||
Vendored
+2
@@ -24,10 +24,12 @@
|
||||
"out-build/**": true,
|
||||
"out-vscode/**": true,
|
||||
"i18n/**": true,
|
||||
"extensions/**/dist/**": true,
|
||||
"extensions/**/out/**": true,
|
||||
"test/smoke/out/**": true,
|
||||
"test/automation/out/**": true,
|
||||
"test/integration/browser/out/**": true,
|
||||
"src/vs/base/test/common/filters.perf.data.js": true,
|
||||
"src/vs/base/test/node/uri.test.data.txt": true,
|
||||
"src/vs/workbench/api/test/browser/extHostDocumentData.test.perf-data.ts": true,
|
||||
"src/vs/editor/test/node/diffing/fixtures/**": true,
|
||||
|
||||
Vendored
+11
-2
@@ -260,9 +260,18 @@
|
||||
// Used for monaco editor playground launch config
|
||||
"label": "Launch Http Server",
|
||||
"type": "shell",
|
||||
"command": "node_modules/.bin/http-server --cors --port 5001 -a 127.0.0.1 -s -c-1",
|
||||
"command": "node_modules/.bin/http-server --cors --port 5001 -a 127.0.0.1 -c-1 -s",
|
||||
"isBackground": true,
|
||||
"problemMatcher": [],
|
||||
"problemMatcher": {
|
||||
"pattern": {
|
||||
"regexp": ""
|
||||
},
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": "never match",
|
||||
"endsPattern": ".*"
|
||||
}
|
||||
},
|
||||
"dependsOn": [
|
||||
"Core - Build"
|
||||
]
|
||||
|
||||
@@ -76,7 +76,7 @@ function darwinBundleDocumentTypes(types, icon) {
|
||||
});
|
||||
}
|
||||
exports.config = {
|
||||
version: product.electronRepository ? '19.1.10' : util.getElectronVersion(),
|
||||
version: product.electronRepository ? '19.1.11' : util.getElectronVersion(),
|
||||
productAppName: product.nameLong,
|
||||
companyName: 'Microsoft Corporation',
|
||||
copyright: 'Copyright (C) 2022 Microsoft. All rights reserved',
|
||||
@@ -193,7 +193,7 @@ function getElectron(arch) {
|
||||
};
|
||||
}
|
||||
async function main(arch = process.arch) {
|
||||
const version = product.electronRepository ? '19.1.10' : util.getElectronVersion();
|
||||
const version = product.electronRepository ? '19.1.11' : util.getElectronVersion();
|
||||
const electronPath = path.join(root, '.build', 'electron');
|
||||
const versionFile = path.join(electronPath, 'version');
|
||||
const isUpToDate = fs.existsSync(versionFile) && fs.readFileSync(versionFile, 'utf8') === `${version}`;
|
||||
|
||||
@@ -91,7 +91,7 @@ function darwinBundleDocumentTypes(types: { [name: string]: string | string[] },
|
||||
}
|
||||
|
||||
export const config = {
|
||||
version: product.electronRepository ? '19.1.10' : util.getElectronVersion(),
|
||||
version: product.electronRepository ? '19.1.11' : util.getElectronVersion(),
|
||||
productAppName: product.nameLong,
|
||||
companyName: 'Microsoft Corporation',
|
||||
copyright: 'Copyright (C) 2022 Microsoft. All rights reserved',
|
||||
@@ -212,7 +212,7 @@ function getElectron(arch: string): () => NodeJS.ReadWriteStream {
|
||||
}
|
||||
|
||||
async function main(arch = process.arch): Promise<void> {
|
||||
const version = product.electronRepository ? '19.1.10' : util.getElectronVersion();
|
||||
const version = product.electronRepository ? '19.1.11' : util.getElectronVersion();
|
||||
const electronPath = path.join(root, '.build', 'electron');
|
||||
const versionFile = path.join(electronPath, 'version');
|
||||
const isUpToDate = fs.existsSync(versionFile) && fs.readFileSync(versionFile, 'utf8') === `${version}`;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -68,7 +68,9 @@ const NATIVE_TYPES = [
|
||||
'INativeEnvironmentService',
|
||||
'AbstractNativeEnvironmentService',
|
||||
'INativeWindowConfiguration',
|
||||
'ICommonNativeHostService'
|
||||
'ICommonNativeHostService',
|
||||
'INativeHostService',
|
||||
'IMainProcessService'
|
||||
];
|
||||
|
||||
const RULES: IRule[] = [
|
||||
|
||||
@@ -6,4 +6,4 @@ AddToPath=Agregar a PATH (disponible despu
|
||||
RunAfter=Ejecutar %1 después de la instalación
|
||||
Other=Otros:
|
||||
SourceFile=Archivo de origen %1
|
||||
OpenWithCodeContextMenu=Abrir &con %1
|
||||
OpenWithCodeContextMenu=Abrir &con %1
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@
|
||||
"git": {
|
||||
"name": "chromium",
|
||||
"repositoryUrl": "https://chromium.googlesource.com/chromium/src",
|
||||
"commitHash": "a8a8309404d39efa9c624d7aee0e27562721e522"
|
||||
"commitHash": "61305fe71c4357662f161ba689fd9a1828d5e4f7"
|
||||
}
|
||||
},
|
||||
"licenseDetail": [
|
||||
@@ -40,7 +40,7 @@
|
||||
"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
],
|
||||
"isOnlyProductionDependency": true,
|
||||
"version": "102.0.5005.194"
|
||||
"version": "102.0.5005.196"
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
"git": {
|
||||
"name": "jeff-hykin/better-cpp-syntax",
|
||||
"repositoryUrl": "https://github.com/jeff-hykin/better-cpp-syntax",
|
||||
"commitHash": "e3f51cca7683d2b2b086f889bff586bf9d85eb1f"
|
||||
"commitHash": "7aef15d9203f0dfeaf075f0673ab3ab382dfb0b1"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"version": "1.17.3",
|
||||
"version": "1.17.4",
|
||||
"description": "The original JSON grammars were derived from https://github.com/atom/language-c which was originally converted from the C TextMate bundle https://github.com/textmate/c.tmbundle."
|
||||
},
|
||||
{
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -994,7 +994,7 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"vscode-languageclient": "^8.1.0-next.2",
|
||||
"vscode-languageclient": "^8.1.0",
|
||||
"vscode-uri": "^3.0.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
"browser": "./dist/browser/cssServerMain",
|
||||
"dependencies": {
|
||||
"@vscode/l10n": "^0.0.11",
|
||||
"vscode-css-languageservice": "^6.2.3",
|
||||
"vscode-languageserver": "^8.1.0-next.6",
|
||||
"vscode-css-languageservice": "^6.2.4",
|
||||
"vscode-languageserver": "^8.1.0",
|
||||
"vscode-uri": "^3.0.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -17,50 +17,45 @@
|
||||
resolved "https://registry.yarnpkg.com/@vscode/l10n/-/l10n-0.0.11.tgz#325d7beb2cfb87162bc624d16c4d546de6a73b72"
|
||||
integrity sha512-ukOMWnCg1tCvT7WnDfsUKQOFDQGsyR5tNgRpwmqi+5/vzU3ghdDXzvIM4IOPdSb3OeSsBNvmSL8nxIVOqi2WXA==
|
||||
|
||||
vscode-css-languageservice@^6.2.3:
|
||||
version "6.2.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-6.2.3.tgz#6c1e6104e77f1fb729eeea5cd2f81f3b800d87ff"
|
||||
integrity sha512-EAyhyIVHpEaf+GjtI+tVe7SekdoANfG0aubnspsQwak3Qkimn/97FpAufNyXk636ngW05pjNKAR9zyTCzo6avQ==
|
||||
vscode-css-languageservice@^6.2.4:
|
||||
version "6.2.4"
|
||||
resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-6.2.4.tgz#d03ca783ad922cb903602ca1478f5161e5e5de54"
|
||||
integrity sha512-9UG0s3Ss8rbaaPZL1AkGzdjrGY8F+P+Ne9snsrvD9gxltDGhsn8C2dQpqQewHrMW37OvlqJoI8sUU2AWDb+qNw==
|
||||
dependencies:
|
||||
"@vscode/l10n" "^0.0.11"
|
||||
vscode-languageserver-textdocument "^1.0.8"
|
||||
vscode-languageserver-types "^3.17.2"
|
||||
vscode-languageserver-types "^3.17.3"
|
||||
vscode-uri "^3.0.7"
|
||||
|
||||
vscode-jsonrpc@8.1.0-next.7:
|
||||
version "8.1.0-next.7"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0-next.7.tgz#4ecfada9866f677da9a5915abfceb7b7c90962f6"
|
||||
integrity sha512-UJlY2e4wnI+GkaNYM2TERqrNvTe0XScny7lUA4f+F+z6XI5pDJnHj6udXiGJofT/tX57d8C6fnlfgrCfF6aptQ==
|
||||
vscode-jsonrpc@8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz#cb9989c65e219e18533cc38e767611272d274c94"
|
||||
integrity sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==
|
||||
|
||||
vscode-languageserver-protocol@3.17.3-next.6:
|
||||
version "3.17.3-next.6"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3-next.6.tgz#e43dc5dc0e730e3a4d1cb523cce85cd34b6fc64d"
|
||||
integrity sha512-UCL2DaAOCzGFZKIAJ4wOS9BXVbeARL8GxXTW7ANnAXJg03IytNmOJcmguL6l+ht4CCdKNQbnRSJB4dh8cgDyJw==
|
||||
vscode-languageserver-protocol@3.17.3:
|
||||
version "3.17.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz#6d0d54da093f0c0ee3060b81612cce0f11060d57"
|
||||
integrity sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==
|
||||
dependencies:
|
||||
vscode-jsonrpc "8.1.0-next.7"
|
||||
vscode-languageserver-types "3.17.3-next.3"
|
||||
vscode-jsonrpc "8.1.0"
|
||||
vscode-languageserver-types "3.17.3"
|
||||
|
||||
vscode-languageserver-textdocument@^1.0.8:
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz#9eae94509cbd945ea44bca8dcfe4bb0c15bb3ac0"
|
||||
integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==
|
||||
|
||||
vscode-languageserver-types@3.17.3-next.3:
|
||||
version "3.17.3-next.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3-next.3.tgz#fc909d37d4200126d74583f2114e53ace27a3e04"
|
||||
integrity sha512-R36Wi5sHoVc/PsAva0QGoEgw+LRCXPDKcdjFfgoVwrRdrFOdYUkvp5G4NvrPUsVT2f2qS/bSs6QiRxyjNkcR9A==
|
||||
vscode-languageserver-types@3.17.3, vscode-languageserver-types@^3.17.3:
|
||||
version "3.17.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64"
|
||||
integrity sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==
|
||||
|
||||
vscode-languageserver-types@^3.17.2:
|
||||
version "3.17.2"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz#b2c2e7de405ad3d73a883e91989b850170ffc4f2"
|
||||
integrity sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==
|
||||
|
||||
vscode-languageserver@^8.1.0-next.6:
|
||||
version "8.1.0-next.6"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.1.0-next.6.tgz#32fe5042b92b58b6f2c3c8cba0ddc77153ad47a7"
|
||||
integrity sha512-YSj9fKN0FtVW95RKjcy8UheODK4YosqiZUkEbAgJJ0uMxR1Om1dhD/+QwYUKfJX/u8KLS/qFroMNVFHoPoc2hg==
|
||||
vscode-languageserver@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.1.0.tgz#5024253718915d84576ce6662dd46a791498d827"
|
||||
integrity sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw==
|
||||
dependencies:
|
||||
vscode-languageserver-protocol "3.17.3-next.6"
|
||||
vscode-languageserver-protocol "3.17.3"
|
||||
|
||||
vscode-uri@^3.0.7:
|
||||
version "3.0.7"
|
||||
|
||||
@@ -40,32 +40,32 @@ semver@^7.3.7:
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
vscode-jsonrpc@8.1.0-next.3:
|
||||
version "8.1.0-next.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0-next.3.tgz#964c91a3bfd1949b4c3da7136ba46b48b42991ad"
|
||||
integrity sha512-4eDeAnkWFKFTmT7tUR2wDngNAuwGHvV7yPCzPWGudBWJOoXaPQnwmiQChoj+umH1y2NR+MdBtx49xlZA7FoLRQ==
|
||||
vscode-jsonrpc@8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz#cb9989c65e219e18533cc38e767611272d274c94"
|
||||
integrity sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==
|
||||
|
||||
vscode-languageclient@^8.1.0-next.2:
|
||||
version "8.1.0-next.2"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.1.0-next.2.tgz#12a248299d23e48cb9d316129bf9ba0592caa533"
|
||||
integrity sha512-ZGCQaqXyT7Y4H68zDQ/8XnNzo9tlUxuarJa0hT5EncAC0vmVAxLvhbsz2iSlWx3j6UZUgBM0b6UZtjpzkqr3tQ==
|
||||
vscode-languageclient@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.1.0.tgz#3e67d5d841481ac66ddbdaa55b4118742f6a9f3f"
|
||||
integrity sha512-GL4QdbYUF/XxQlAsvYWZRV3V34kOkpRlvV60/72ghHfsYFnS/v2MANZ9P6sHmxFcZKOse8O+L9G7Czg0NUWing==
|
||||
dependencies:
|
||||
minimatch "^5.1.0"
|
||||
semver "^7.3.7"
|
||||
vscode-languageserver-protocol "3.17.3-next.2"
|
||||
vscode-languageserver-protocol "3.17.3"
|
||||
|
||||
vscode-languageserver-protocol@3.17.3-next.2:
|
||||
version "3.17.3-next.2"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3-next.2.tgz#e906471899b9ed2ae1139f95592e0e5c7580bf0f"
|
||||
integrity sha512-T+vSRHgApc1xCsOUJ/M7UN/tN4aINvc3FYJ6P3vAhvv0i4jZZewFMEonZB76B94TiY6z4eScgaG6m73gTgnyyw==
|
||||
vscode-languageserver-protocol@3.17.3:
|
||||
version "3.17.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz#6d0d54da093f0c0ee3060b81612cce0f11060d57"
|
||||
integrity sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==
|
||||
dependencies:
|
||||
vscode-jsonrpc "8.1.0-next.3"
|
||||
vscode-languageserver-types "3.17.2"
|
||||
vscode-jsonrpc "8.1.0"
|
||||
vscode-languageserver-types "3.17.3"
|
||||
|
||||
vscode-languageserver-types@3.17.2:
|
||||
version "3.17.2"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz#b2c2e7de405ad3d73a883e91989b850170ffc4f2"
|
||||
integrity sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==
|
||||
vscode-languageserver-types@3.17.3:
|
||||
version "3.17.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64"
|
||||
integrity sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==
|
||||
|
||||
vscode-uri@^3.0.7:
|
||||
version "3.0.7"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"git": {
|
||||
"name": "dart-lang/dart-syntax-highlight",
|
||||
"repositoryUrl": "https://github.com/dart-lang/dart-syntax-highlight",
|
||||
"commitHash": "f85ce5cce9ec032422799e19ecf2247499324bc5"
|
||||
"commitHash": "b6324bfae2058bc29bb01af6bd2011c3eb35545d"
|
||||
}
|
||||
},
|
||||
"licenseDetail": [
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/dart-lang/dart-syntax-highlight/commit/f85ce5cce9ec032422799e19ecf2247499324bc5",
|
||||
"version": "https://github.com/dart-lang/dart-syntax-highlight/commit/b6324bfae2058bc29bb01af6bd2011c3eb35545d",
|
||||
"name": "Dart",
|
||||
"scopeName": "source.dart",
|
||||
"patterns": [
|
||||
@@ -259,7 +259,7 @@
|
||||
"function-identifier": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "([_$]*[a-z][a-zA-Z0-9_$]*)(<(?:[a-zA-Z0-9_$<>?]|,\\s*|\\s+extends\\s+)+>)?[!?]?(\\(|\\s+=>)",
|
||||
"match": "([_$]*[a-z][a-zA-Z0-9_$]*)(<(?:[a-zA-Z0-9_$<>?]|,\\s*|\\s+extends\\s+)+>)?[!?]?\\(",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "entity.name.function.dart"
|
||||
@@ -313,7 +313,7 @@
|
||||
},
|
||||
{
|
||||
"name": "keyword.control.dart",
|
||||
"match": "(?<!\\$)\\b(break|case|continue|default|do|else|for|if|in|return|switch|while)\\b(?!\\$)"
|
||||
"match": "(?<!\\$)\\b(break|case|continue|default|do|else|for|if|in|return|switch|while|when)\\b(?!\\$)"
|
||||
},
|
||||
{
|
||||
"name": "keyword.control.dart",
|
||||
@@ -329,7 +329,7 @@
|
||||
},
|
||||
{
|
||||
"name": "keyword.declaration.dart",
|
||||
"match": "(?<!\\$)\\b(abstract|class|enum|extends|extension|external|factory|implements|get(?!\\()|mixin|native|operator|set(?!\\()|typedef|with|covariant)\\b(?!\\$)"
|
||||
"match": "(?<!\\$)\\b(abstract|sealed|base|interface|class|enum|extends|extension|external|factory|implements|get(?!\\()|mixin|native|operator|set(?!\\()|typedef|with|covariant)\\b(?!\\$)"
|
||||
},
|
||||
{
|
||||
"name": "storage.modifier.dart",
|
||||
|
||||
@@ -10,8 +10,9 @@ import { URL } from 'url';
|
||||
import { parseTree, findNodeAtLocation, Node as JsonNode, getNodeValue } from 'jsonc-parser';
|
||||
import * as MarkdownItType from 'markdown-it';
|
||||
|
||||
import { languages, workspace, Disposable, TextDocument, Uri, Diagnostic, Range, DiagnosticSeverity, Position, env, l10n } from 'vscode';
|
||||
import { commands, languages, workspace, Disposable, TextDocument, Uri, Diagnostic, Range, DiagnosticSeverity, Position, env, l10n } from 'vscode';
|
||||
import { INormalizedVersion, normalizeVersion, parseVersion } from './extensionEngineValidation';
|
||||
import { JsonStringScanner } from './jsonReconstruct';
|
||||
|
||||
const product = JSON.parse(fs.readFileSync(path.join(env.appRoot, 'product.json'), { encoding: 'utf-8' }));
|
||||
const allowedBadgeProviders: string[] = (product.extensionAllowedBadgeProviders || []).map((s: string) => s.toLowerCase());
|
||||
@@ -36,6 +37,7 @@ const implicitActivationEvent = l10n.t("This activation event cannot be explicit
|
||||
const redundantImplicitActivationEvent = l10n.t("This activation event can be removed as VS Code generates these automatically from your package.json contribution declarations.");
|
||||
const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75 as VS Code will generate these automatically from your package.json contribution declarations.");
|
||||
const starActivation = l10n.t("Using '*' activation is usually a bad idea as it impacts performance.");
|
||||
const parsingErrorHeader = l10n.t("Error parsing the when-clause:");
|
||||
|
||||
enum Context {
|
||||
ICON,
|
||||
@@ -110,15 +112,17 @@ export class ExtensionLinter {
|
||||
}
|
||||
|
||||
private async lint() {
|
||||
this.lintPackageJson();
|
||||
await this.lintReadme();
|
||||
await Promise.all([
|
||||
this.lintPackageJson(),
|
||||
this.lintReadme()
|
||||
]);
|
||||
}
|
||||
|
||||
private lintPackageJson() {
|
||||
this.packageJsonQ.forEach(document => {
|
||||
private async lintPackageJson() {
|
||||
for (const document of Array.from(this.packageJsonQ)) {
|
||||
this.packageJsonQ.delete(document);
|
||||
if (document.isClosed) {
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
|
||||
const diagnostics: Diagnostic[] = [];
|
||||
@@ -190,16 +194,88 @@ export class ExtensionLinter {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const whenClauseLinting = await this.lintWhenClauses(findNodeAtLocation(tree, ['contributes']), document);
|
||||
diagnostics.push(...whenClauseLinting);
|
||||
}
|
||||
this.diagnosticsCollection.set(document.uri, diagnostics);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/** lints `when` and `enablement` clauses */
|
||||
private async lintWhenClauses(contributesNode: JsonNode | undefined, document: TextDocument): Promise<Diagnostic[]> {
|
||||
if (!contributesNode) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const whenClauses: JsonNode[] = [];
|
||||
|
||||
function findWhens(node: JsonNode | undefined, clauseName: string) {
|
||||
if (node) {
|
||||
switch (node.type) {
|
||||
case 'property':
|
||||
if (node.children && node.children.length === 2) {
|
||||
const key = node.children[0];
|
||||
const value = node.children[1];
|
||||
switch (value.type) {
|
||||
case 'string':
|
||||
if (key.value === clauseName && typeof value.value === 'string' /* careful: `.value` MUST be a string 1) because a when/enablement clause is string; so also, type cast to string below is safe */) {
|
||||
whenClauses.push(value);
|
||||
}
|
||||
case 'object':
|
||||
case 'array':
|
||||
findWhens(value, clauseName);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'object':
|
||||
case 'array':
|
||||
if (node.children) {
|
||||
node.children.forEach(n => findWhens(n, clauseName));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[
|
||||
findNodeAtLocation(contributesNode, ['menus']),
|
||||
findNodeAtLocation(contributesNode, ['views']),
|
||||
findNodeAtLocation(contributesNode, ['viewsWelcome']),
|
||||
findNodeAtLocation(contributesNode, ['keybindings']),
|
||||
].forEach(n => findWhens(n, 'when'));
|
||||
|
||||
findWhens(findNodeAtLocation(contributesNode, ['commands']), 'enablement');
|
||||
|
||||
const parseResults = await commands.executeCommand<{ errorMessage: string; offset: number; length: number }[][]>('_validateWhenClauses', whenClauses.map(w => w.value as string /* we make sure to capture only if `w.value` is string above */));
|
||||
|
||||
const diagnostics: Diagnostic[] = [];
|
||||
for (let i = 0; i < parseResults.length; ++i) {
|
||||
const whenClauseJSONNode = whenClauses[i];
|
||||
|
||||
const jsonStringScanner = new JsonStringScanner(document.getText(), whenClauseJSONNode.offset + 1);
|
||||
|
||||
for (const error of parseResults[i]) {
|
||||
const realOffset = jsonStringScanner.getOffsetInEncoded(error.offset);
|
||||
const realOffsetEnd = jsonStringScanner.getOffsetInEncoded(error.offset + error.length);
|
||||
const start = document.positionAt(realOffset /* +1 to account for the quote (I think) */);
|
||||
const end = document.positionAt(realOffsetEnd);
|
||||
const errMsg = `${parsingErrorHeader}\n\n${error.errorMessage}`;
|
||||
const diagnostic = new Diagnostic(new Range(start, end), errMsg, DiagnosticSeverity.Error);
|
||||
diagnostic.code = {
|
||||
value: 'See docs',
|
||||
target: Uri.parse('https://code.visualstudio.com/api/references/when-clause-contexts'),
|
||||
};
|
||||
diagnostics.push(diagnostic);
|
||||
}
|
||||
}
|
||||
return diagnostics;
|
||||
}
|
||||
|
||||
private async lintReadme() {
|
||||
for (const document of Array.from(this.readmeQ)) {
|
||||
for (const document of this.readmeQ) {
|
||||
this.readmeQ.delete(document);
|
||||
if (document.isClosed) {
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
|
||||
const folder = this.getUriFolder(document.uri);
|
||||
@@ -346,8 +422,8 @@ export class ExtensionLinter {
|
||||
}
|
||||
const file = folder.with({ path: path.posix.join(folder.path, 'package.json') });
|
||||
try {
|
||||
const document = await workspace.openTextDocument(file);
|
||||
return parseTree(document.getText());
|
||||
const fileContents = await workspace.fs.readFile(file); // #174888
|
||||
return parseTree(Buffer.from(fileContents).toString('utf-8'));
|
||||
} catch (err) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,183 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* This class has a very specific purpose:
|
||||
*
|
||||
* It can return convert offset within a decoded JSON string to offset within the encoded JSON string.
|
||||
*/
|
||||
export class JsonStringScanner {
|
||||
private resultChars = 0;
|
||||
private pos = 0;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param text the encoded JSON string
|
||||
* @param pos must not include ", ie must be `stringJSONNode.offset + 1`
|
||||
*/
|
||||
constructor(private readonly text: string, initialPos: number /* offset within `text` */) {
|
||||
this.pos = initialPos;
|
||||
}
|
||||
|
||||
// note that we don't do bound checks here, because we know that the offset is within the string
|
||||
getOffsetInEncoded(offsetDecoded: number) {
|
||||
|
||||
let start = this.pos;
|
||||
|
||||
while (true) {
|
||||
if (this.resultChars > offsetDecoded) {
|
||||
return start;
|
||||
}
|
||||
|
||||
const ch = this.text.charCodeAt(this.pos);
|
||||
|
||||
if (ch === CharacterCodes.backslash) {
|
||||
start = this.pos;
|
||||
this.pos++;
|
||||
|
||||
const ch2 = this.text.charCodeAt(this.pos++);
|
||||
switch (ch2) {
|
||||
case CharacterCodes.doubleQuote:
|
||||
case CharacterCodes.backslash:
|
||||
case CharacterCodes.slash:
|
||||
case CharacterCodes.b:
|
||||
case CharacterCodes.f:
|
||||
case CharacterCodes.n:
|
||||
case CharacterCodes.r:
|
||||
case CharacterCodes.t:
|
||||
this.resultChars += 1;
|
||||
break;
|
||||
case CharacterCodes.u: {
|
||||
const ch3 = this.scanHexDigits(4, true);
|
||||
if (ch3 >= 0) {
|
||||
this.resultChars += String.fromCharCode(ch3).length;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
start = this.pos;
|
||||
this.pos++;
|
||||
this.resultChars++;
|
||||
}
|
||||
}
|
||||
|
||||
scanHexDigits(count: number, exact?: boolean): number {
|
||||
let digits = 0;
|
||||
let value = 0;
|
||||
while (digits < count || !exact) {
|
||||
const ch = this.text.charCodeAt(this.pos);
|
||||
if (ch >= CharacterCodes._0 && ch <= CharacterCodes._9) {
|
||||
value = value * 16 + ch - CharacterCodes._0;
|
||||
}
|
||||
else if (ch >= CharacterCodes.A && ch <= CharacterCodes.F) {
|
||||
value = value * 16 + ch - CharacterCodes.A + 10;
|
||||
}
|
||||
else if (ch >= CharacterCodes.a && ch <= CharacterCodes.f) {
|
||||
value = value * 16 + ch - CharacterCodes.a + 10;
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
this.pos++;
|
||||
digits++;
|
||||
}
|
||||
if (digits < count) {
|
||||
value = -1;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const enum CharacterCodes {
|
||||
lineFeed = 0x0A, // \n
|
||||
carriageReturn = 0x0D, // \r
|
||||
|
||||
space = 0x0020, // " "
|
||||
|
||||
_0 = 0x30,
|
||||
_1 = 0x31,
|
||||
_2 = 0x32,
|
||||
_3 = 0x33,
|
||||
_4 = 0x34,
|
||||
_5 = 0x35,
|
||||
_6 = 0x36,
|
||||
_7 = 0x37,
|
||||
_8 = 0x38,
|
||||
_9 = 0x39,
|
||||
|
||||
a = 0x61,
|
||||
b = 0x62,
|
||||
c = 0x63,
|
||||
d = 0x64,
|
||||
e = 0x65,
|
||||
f = 0x66,
|
||||
g = 0x67,
|
||||
h = 0x68,
|
||||
i = 0x69,
|
||||
j = 0x6A,
|
||||
k = 0x6B,
|
||||
l = 0x6C,
|
||||
m = 0x6D,
|
||||
n = 0x6E,
|
||||
o = 0x6F,
|
||||
p = 0x70,
|
||||
q = 0x71,
|
||||
r = 0x72,
|
||||
s = 0x73,
|
||||
t = 0x74,
|
||||
u = 0x75,
|
||||
v = 0x76,
|
||||
w = 0x77,
|
||||
x = 0x78,
|
||||
y = 0x79,
|
||||
z = 0x7A,
|
||||
|
||||
A = 0x41,
|
||||
B = 0x42,
|
||||
C = 0x43,
|
||||
D = 0x44,
|
||||
E = 0x45,
|
||||
F = 0x46,
|
||||
G = 0x47,
|
||||
H = 0x48,
|
||||
I = 0x49,
|
||||
J = 0x4A,
|
||||
K = 0x4B,
|
||||
L = 0x4C,
|
||||
M = 0x4D,
|
||||
N = 0x4E,
|
||||
O = 0x4F,
|
||||
P = 0x50,
|
||||
Q = 0x51,
|
||||
R = 0x52,
|
||||
S = 0x53,
|
||||
T = 0x54,
|
||||
U = 0x55,
|
||||
V = 0x56,
|
||||
W = 0x57,
|
||||
X = 0x58,
|
||||
Y = 0x59,
|
||||
Z = 0x5a,
|
||||
|
||||
asterisk = 0x2A, // *
|
||||
backslash = 0x5C, // \
|
||||
closeBrace = 0x7D, // }
|
||||
closeBracket = 0x5D, // ]
|
||||
colon = 0x3A, // :
|
||||
comma = 0x2C, // ,
|
||||
dot = 0x2E, // .
|
||||
doubleQuote = 0x22, // "
|
||||
minus = 0x2D, // -
|
||||
openBrace = 0x7B, // {
|
||||
openBracket = 0x5B, // [
|
||||
plus = 0x2B, // +
|
||||
slash = 0x2F, // /
|
||||
|
||||
formFeed = 0x0C, // \f
|
||||
tab = 0x09, // \t
|
||||
}
|
||||
@@ -71,4 +71,4 @@
|
||||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ function getIPCHandlePath(id: string): string {
|
||||
return `\\\\.\\pipe\\vscode-git-${id}-sock`;
|
||||
}
|
||||
|
||||
if (process.env['XDG_RUNTIME_DIR']) {
|
||||
if (process.platform !== 'darwin' && process.env['XDG_RUNTIME_DIR']) {
|
||||
return path.join(process.env['XDG_RUNTIME_DIR'] as string, `vscode-git-${id}.sock`);
|
||||
}
|
||||
|
||||
|
||||
@@ -594,6 +594,13 @@ export class GitHubServer implements IGitHubServer {
|
||||
return;
|
||||
}
|
||||
|
||||
/* __GDPR__
|
||||
"session" : {
|
||||
"owner": "TylerLeonhardt",
|
||||
"isEdu": { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
|
||||
"isManaged": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }
|
||||
}
|
||||
*/
|
||||
this._telemetryReporter.sendTelemetryEvent('session', {
|
||||
isEdu: edu ?? 'unknown',
|
||||
isManaged: managed ?? 'unknown'
|
||||
|
||||
@@ -54,7 +54,8 @@
|
||||
"command": "github.openOnVscodeDev",
|
||||
"when": "github.hasGitHubRepo",
|
||||
"qualifiedName": "Continue Working in vscode.dev",
|
||||
"remoteGroup": "virtualfs_43_file_0_web@0"
|
||||
"category": "Remote Repositories",
|
||||
"remoteGroup": "virtualfs_44_vscode-vfs_2_web@2"
|
||||
}
|
||||
],
|
||||
"menus": {
|
||||
|
||||
@@ -258,8 +258,8 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@vscode/extension-telemetry": "^0.7.4-preview",
|
||||
"vscode-languageclient": "^8.1.0-next.2",
|
||||
"@vscode/extension-telemetry": "^0.7.5",
|
||||
"vscode-languageclient": "^8.1.0",
|
||||
"vscode-uri": "^3.0.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
"main": "./out/node/htmlServerMain",
|
||||
"dependencies": {
|
||||
"@vscode/l10n": "^0.0.11",
|
||||
"vscode-css-languageservice": "^6.2.3",
|
||||
"vscode-css-languageservice": "^6.2.4",
|
||||
"vscode-html-languageservice": "^5.0.4",
|
||||
"vscode-languageserver": "^8.1.0-next.6",
|
||||
"vscode-languageserver": "^8.1.0",
|
||||
"vscode-languageserver-textdocument": "^1.0.8",
|
||||
"vscode-uri": "^3.0.7"
|
||||
},
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
resolved "https://registry.yarnpkg.com/@vscode/l10n/-/l10n-0.0.11.tgz#325d7beb2cfb87162bc624d16c4d546de6a73b72"
|
||||
integrity sha512-ukOMWnCg1tCvT7WnDfsUKQOFDQGsyR5tNgRpwmqi+5/vzU3ghdDXzvIM4IOPdSb3OeSsBNvmSL8nxIVOqi2WXA==
|
||||
|
||||
vscode-css-languageservice@^6.2.3:
|
||||
version "6.2.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-6.2.3.tgz#6c1e6104e77f1fb729eeea5cd2f81f3b800d87ff"
|
||||
integrity sha512-EAyhyIVHpEaf+GjtI+tVe7SekdoANfG0aubnspsQwak3Qkimn/97FpAufNyXk636ngW05pjNKAR9zyTCzo6avQ==
|
||||
vscode-css-languageservice@^6.2.4:
|
||||
version "6.2.4"
|
||||
resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-6.2.4.tgz#d03ca783ad922cb903602ca1478f5161e5e5de54"
|
||||
integrity sha512-9UG0s3Ss8rbaaPZL1AkGzdjrGY8F+P+Ne9snsrvD9gxltDGhsn8C2dQpqQewHrMW37OvlqJoI8sUU2AWDb+qNw==
|
||||
dependencies:
|
||||
"@vscode/l10n" "^0.0.11"
|
||||
vscode-languageserver-textdocument "^1.0.8"
|
||||
vscode-languageserver-types "^3.17.2"
|
||||
vscode-languageserver-types "^3.17.3"
|
||||
vscode-uri "^3.0.7"
|
||||
|
||||
vscode-html-languageservice@^5.0.4:
|
||||
@@ -37,40 +37,40 @@ vscode-html-languageservice@^5.0.4:
|
||||
vscode-languageserver-types "^3.17.2"
|
||||
vscode-uri "^3.0.7"
|
||||
|
||||
vscode-jsonrpc@8.1.0-next.7:
|
||||
version "8.1.0-next.7"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0-next.7.tgz#4ecfada9866f677da9a5915abfceb7b7c90962f6"
|
||||
integrity sha512-UJlY2e4wnI+GkaNYM2TERqrNvTe0XScny7lUA4f+F+z6XI5pDJnHj6udXiGJofT/tX57d8C6fnlfgrCfF6aptQ==
|
||||
vscode-jsonrpc@8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz#cb9989c65e219e18533cc38e767611272d274c94"
|
||||
integrity sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==
|
||||
|
||||
vscode-languageserver-protocol@3.17.3-next.6:
|
||||
version "3.17.3-next.6"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3-next.6.tgz#e43dc5dc0e730e3a4d1cb523cce85cd34b6fc64d"
|
||||
integrity sha512-UCL2DaAOCzGFZKIAJ4wOS9BXVbeARL8GxXTW7ANnAXJg03IytNmOJcmguL6l+ht4CCdKNQbnRSJB4dh8cgDyJw==
|
||||
vscode-languageserver-protocol@3.17.3:
|
||||
version "3.17.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz#6d0d54da093f0c0ee3060b81612cce0f11060d57"
|
||||
integrity sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==
|
||||
dependencies:
|
||||
vscode-jsonrpc "8.1.0-next.7"
|
||||
vscode-languageserver-types "3.17.3-next.3"
|
||||
vscode-jsonrpc "8.1.0"
|
||||
vscode-languageserver-types "3.17.3"
|
||||
|
||||
vscode-languageserver-textdocument@^1.0.8:
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz#9eae94509cbd945ea44bca8dcfe4bb0c15bb3ac0"
|
||||
integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==
|
||||
|
||||
vscode-languageserver-types@3.17.3-next.3:
|
||||
version "3.17.3-next.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3-next.3.tgz#fc909d37d4200126d74583f2114e53ace27a3e04"
|
||||
integrity sha512-R36Wi5sHoVc/PsAva0QGoEgw+LRCXPDKcdjFfgoVwrRdrFOdYUkvp5G4NvrPUsVT2f2qS/bSs6QiRxyjNkcR9A==
|
||||
vscode-languageserver-types@3.17.3, vscode-languageserver-types@^3.17.3:
|
||||
version "3.17.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64"
|
||||
integrity sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==
|
||||
|
||||
vscode-languageserver-types@^3.17.2:
|
||||
version "3.17.2"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz#b2c2e7de405ad3d73a883e91989b850170ffc4f2"
|
||||
integrity sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==
|
||||
|
||||
vscode-languageserver@^8.1.0-next.6:
|
||||
version "8.1.0-next.6"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.1.0-next.6.tgz#32fe5042b92b58b6f2c3c8cba0ddc77153ad47a7"
|
||||
integrity sha512-YSj9fKN0FtVW95RKjcy8UheODK4YosqiZUkEbAgJJ0uMxR1Om1dhD/+QwYUKfJX/u8KLS/qFroMNVFHoPoc2hg==
|
||||
vscode-languageserver@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.1.0.tgz#5024253718915d84576ce6662dd46a791498d827"
|
||||
integrity sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw==
|
||||
dependencies:
|
||||
vscode-languageserver-protocol "3.17.3-next.6"
|
||||
vscode-languageserver-protocol "3.17.3"
|
||||
|
||||
vscode-uri@^3.0.7:
|
||||
version "3.0.7"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
dependencies:
|
||||
tslib "^2.2.0"
|
||||
|
||||
"@azure/core-auth@^1.3.0":
|
||||
"@azure/core-auth@^1.4.0":
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.4.0.tgz#6fa9661c1705857820dbc216df5ba5665ac36a9e"
|
||||
integrity sha512-HFrcTgmuSuukRf/EdPmqBrc5l6Q5Uu+2TbuhaKbgaCpP2TfAeiNaQPAadxO+CYBRHGUzIDteMAjFspFLDLnKVQ==
|
||||
@@ -17,36 +17,30 @@
|
||||
"@azure/abort-controller" "^1.0.0"
|
||||
tslib "^2.2.0"
|
||||
|
||||
"@azure/core-http@^2.2.3":
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@azure/core-http/-/core-http-2.3.0.tgz#fb96de9a96923c186de15127472cb8e177f7158f"
|
||||
integrity sha512-Gikj2QO9W41rw7yiKWi2Q2OcVcukt+ux7ZZeFy4ilC/0b1Wcr0rjseZh9bqJ3NI9+h78Hix34ZjEg316iHjbTA==
|
||||
"@azure/core-rest-pipeline@^1.10.0":
|
||||
version "1.10.1"
|
||||
resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz#348290847ca31b9eecf9cf5de7519aaccdd30968"
|
||||
integrity sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==
|
||||
dependencies:
|
||||
"@azure/abort-controller" "^1.0.0"
|
||||
"@azure/core-auth" "^1.3.0"
|
||||
"@azure/core-tracing" "1.0.0-preview.13"
|
||||
"@azure/core-util" "^1.1.1"
|
||||
"@azure/core-auth" "^1.4.0"
|
||||
"@azure/core-tracing" "^1.0.1"
|
||||
"@azure/core-util" "^1.0.0"
|
||||
"@azure/logger" "^1.0.0"
|
||||
"@types/node-fetch" "^2.5.0"
|
||||
"@types/tunnel" "^0.0.3"
|
||||
form-data "^4.0.0"
|
||||
node-fetch "^2.6.7"
|
||||
process "^0.11.10"
|
||||
tough-cookie "^4.0.0"
|
||||
http-proxy-agent "^5.0.0"
|
||||
https-proxy-agent "^5.0.0"
|
||||
tslib "^2.2.0"
|
||||
tunnel "^0.0.6"
|
||||
uuid "^8.3.0"
|
||||
xml2js "^0.4.19"
|
||||
|
||||
"@azure/core-tracing@1.0.0-preview.13":
|
||||
version "1.0.0-preview.13"
|
||||
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz#55883d40ae2042f6f1e12b17dd0c0d34c536d644"
|
||||
integrity sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==
|
||||
"@azure/core-tracing@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
|
||||
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
|
||||
dependencies:
|
||||
"@opentelemetry/api" "^1.0.1"
|
||||
tslib "^2.2.0"
|
||||
|
||||
"@azure/core-util@^1.1.1":
|
||||
"@azure/core-util@^1.0.0":
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
|
||||
integrity sha512-A4TBYVQCtHOigFb2ETiiKFDocBoI1Zk2Ui1KpI42aJSIDexF7DHQFpnjonltXAIU/ceH+1fsZAWWgvX6/AKzog==
|
||||
@@ -132,7 +126,7 @@
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.7.tgz#ede48dd3f85af14ee369c805e5ed5b84222b9fe2"
|
||||
integrity sha512-SK3D3aVt+5vOOccKPnGaJWB5gQ8FuKfjboUJHedMP7gu54HqSCXX5iFXhktGD8nfJb0Go30eDvs/UDoTnR2kOA==
|
||||
|
||||
"@opentelemetry/api@^1.0.1", "@opentelemetry/api@^1.0.4":
|
||||
"@opentelemetry/api@^1.0.4":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686"
|
||||
integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==
|
||||
@@ -166,47 +160,40 @@
|
||||
resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz#af80a1ef7cf110ea3a68242acd95648991bcd763"
|
||||
integrity sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==
|
||||
|
||||
"@types/node-fetch@^2.5.0":
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da"
|
||||
integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
form-data "^3.0.0"
|
||||
|
||||
"@types/node@*":
|
||||
version "18.11.9"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4"
|
||||
integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==
|
||||
"@tootallnate/once@2":
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
|
||||
integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
|
||||
|
||||
"@types/node@16.x":
|
||||
version "16.11.6"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz#6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae"
|
||||
integrity sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==
|
||||
|
||||
"@types/tunnel@^0.0.3":
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/tunnel/-/tunnel-0.0.3.tgz#f109e730b072b3136347561fc558c9358bb8c6e9"
|
||||
integrity sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@vscode/extension-telemetry@^0.7.4-preview":
|
||||
version "0.7.4-preview"
|
||||
resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.4-preview.tgz#318d6bc54064e5f443b25dfb42fec724d888c36b"
|
||||
integrity sha512-6OkvjCc+DaC9B26t3hj7vuAxf1ONm/p4LrVvFrapa+jBCKxXXUaV1Asz6+QxYaPfd4Ws/MlnFfCvlgvv3uYRwQ==
|
||||
"@vscode/extension-telemetry@^0.7.5":
|
||||
version "0.7.5"
|
||||
resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
|
||||
integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
|
||||
dependencies:
|
||||
"@microsoft/1ds-core-js" "^3.2.8"
|
||||
"@microsoft/1ds-post-js" "^3.2.8"
|
||||
"@microsoft/applicationinsights-web-basic" "^2.8.9"
|
||||
applicationinsights "2.3.6"
|
||||
applicationinsights "2.4.1"
|
||||
|
||||
applicationinsights@2.3.6:
|
||||
version "2.3.6"
|
||||
resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.3.6.tgz#91277ce44e5f6d2f85336922c05d90f8699c2e70"
|
||||
integrity sha512-ZzXXpZpDRGcy6Pp5V319nDF9/+Ey7jNknEXZyaBajtC5onN0dcBem6ng5jcb3MPH2AjYWRI8XgyNEuzP/6Y5/A==
|
||||
agent-base@6:
|
||||
version "6.0.2"
|
||||
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
|
||||
integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
|
||||
dependencies:
|
||||
"@azure/core-http" "^2.2.3"
|
||||
debug "4"
|
||||
|
||||
applicationinsights@2.4.1:
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
|
||||
integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
|
||||
dependencies:
|
||||
"@azure/core-auth" "^1.4.0"
|
||||
"@azure/core-rest-pipeline" "^1.10.0"
|
||||
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
|
||||
"@opentelemetry/api" "^1.0.4"
|
||||
"@opentelemetry/core" "^1.0.1"
|
||||
@@ -273,6 +260,13 @@ continuation-local-storage@^3.2.1:
|
||||
async-listener "^0.6.0"
|
||||
emitter-listener "^1.1.1"
|
||||
|
||||
debug@4:
|
||||
version "4.3.4"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
delayed-stream@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
|
||||
@@ -297,15 +291,6 @@ emitter-listener@^1.0.1, emitter-listener@^1.1.1:
|
||||
dependencies:
|
||||
shimmer "^1.2.0"
|
||||
|
||||
form-data@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
|
||||
integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
|
||||
dependencies:
|
||||
asynckit "^0.4.0"
|
||||
combined-stream "^1.0.8"
|
||||
mime-types "^2.1.12"
|
||||
|
||||
form-data@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
|
||||
@@ -315,6 +300,23 @@ form-data@^4.0.0:
|
||||
combined-stream "^1.0.8"
|
||||
mime-types "^2.1.12"
|
||||
|
||||
http-proxy-agent@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
|
||||
integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
|
||||
dependencies:
|
||||
"@tootallnate/once" "2"
|
||||
agent-base "6"
|
||||
debug "4"
|
||||
|
||||
https-proxy-agent@^5.0.0:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
|
||||
integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
|
||||
dependencies:
|
||||
agent-base "6"
|
||||
debug "4"
|
||||
|
||||
lru-cache@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
|
||||
@@ -341,42 +343,10 @@ minimatch@^5.1.0:
|
||||
dependencies:
|
||||
brace-expansion "^2.0.1"
|
||||
|
||||
node-fetch@^2.6.7:
|
||||
version "2.6.7"
|
||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
|
||||
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
|
||||
dependencies:
|
||||
whatwg-url "^5.0.0"
|
||||
|
||||
process@^0.11.10:
|
||||
version "0.11.10"
|
||||
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
|
||||
integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
|
||||
|
||||
psl@^1.1.33:
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
|
||||
integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
|
||||
|
||||
punycode@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
|
||||
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
|
||||
|
||||
querystringify@^2.1.1:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
|
||||
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
|
||||
|
||||
requires-port@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
|
||||
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
|
||||
|
||||
sax@>=0.6.0:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
|
||||
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
|
||||
ms@2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
||||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
||||
|
||||
semver@^5.3.0, semver@^5.4.1:
|
||||
version "5.7.1"
|
||||
@@ -400,107 +370,48 @@ stack-chain@^1.3.7:
|
||||
resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
|
||||
integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==
|
||||
|
||||
tough-cookie@^4.0.0:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874"
|
||||
integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==
|
||||
dependencies:
|
||||
psl "^1.1.33"
|
||||
punycode "^2.1.1"
|
||||
universalify "^0.2.0"
|
||||
url-parse "^1.5.3"
|
||||
|
||||
tr46@~0.0.3:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
|
||||
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
|
||||
|
||||
tslib@^2.2.0:
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
|
||||
integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
|
||||
|
||||
tunnel@^0.0.6:
|
||||
version "0.0.6"
|
||||
resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c"
|
||||
integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==
|
||||
|
||||
universalify@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
|
||||
integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
|
||||
|
||||
url-parse@^1.5.3:
|
||||
version "1.5.10"
|
||||
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
|
||||
integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
|
||||
dependencies:
|
||||
querystringify "^2.1.1"
|
||||
requires-port "^1.0.0"
|
||||
|
||||
uuid@^8.3.0:
|
||||
version "8.3.2"
|
||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
|
||||
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
|
||||
|
||||
vscode-jsonrpc@8.1.0-next.3:
|
||||
version "8.1.0-next.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0-next.3.tgz#964c91a3bfd1949b4c3da7136ba46b48b42991ad"
|
||||
integrity sha512-4eDeAnkWFKFTmT7tUR2wDngNAuwGHvV7yPCzPWGudBWJOoXaPQnwmiQChoj+umH1y2NR+MdBtx49xlZA7FoLRQ==
|
||||
vscode-jsonrpc@8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz#cb9989c65e219e18533cc38e767611272d274c94"
|
||||
integrity sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==
|
||||
|
||||
vscode-languageclient@^8.1.0-next.2:
|
||||
version "8.1.0-next.2"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.1.0-next.2.tgz#12a248299d23e48cb9d316129bf9ba0592caa533"
|
||||
integrity sha512-ZGCQaqXyT7Y4H68zDQ/8XnNzo9tlUxuarJa0hT5EncAC0vmVAxLvhbsz2iSlWx3j6UZUgBM0b6UZtjpzkqr3tQ==
|
||||
vscode-languageclient@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.1.0.tgz#3e67d5d841481ac66ddbdaa55b4118742f6a9f3f"
|
||||
integrity sha512-GL4QdbYUF/XxQlAsvYWZRV3V34kOkpRlvV60/72ghHfsYFnS/v2MANZ9P6sHmxFcZKOse8O+L9G7Czg0NUWing==
|
||||
dependencies:
|
||||
minimatch "^5.1.0"
|
||||
semver "^7.3.7"
|
||||
vscode-languageserver-protocol "3.17.3-next.2"
|
||||
vscode-languageserver-protocol "3.17.3"
|
||||
|
||||
vscode-languageserver-protocol@3.17.3-next.2:
|
||||
version "3.17.3-next.2"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3-next.2.tgz#e906471899b9ed2ae1139f95592e0e5c7580bf0f"
|
||||
integrity sha512-T+vSRHgApc1xCsOUJ/M7UN/tN4aINvc3FYJ6P3vAhvv0i4jZZewFMEonZB76B94TiY6z4eScgaG6m73gTgnyyw==
|
||||
vscode-languageserver-protocol@3.17.3:
|
||||
version "3.17.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz#6d0d54da093f0c0ee3060b81612cce0f11060d57"
|
||||
integrity sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==
|
||||
dependencies:
|
||||
vscode-jsonrpc "8.1.0-next.3"
|
||||
vscode-languageserver-types "3.17.2"
|
||||
vscode-jsonrpc "8.1.0"
|
||||
vscode-languageserver-types "3.17.3"
|
||||
|
||||
vscode-languageserver-types@3.17.2:
|
||||
version "3.17.2"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz#b2c2e7de405ad3d73a883e91989b850170ffc4f2"
|
||||
integrity sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==
|
||||
vscode-languageserver-types@3.17.3:
|
||||
version "3.17.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64"
|
||||
integrity sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==
|
||||
|
||||
vscode-uri@^3.0.7:
|
||||
version "3.0.7"
|
||||
resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.7.tgz#6d19fef387ee6b46c479e5fb00870e15e58c1eb8"
|
||||
integrity sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==
|
||||
|
||||
webidl-conversions@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
|
||||
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
|
||||
|
||||
whatwg-url@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
|
||||
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
|
||||
dependencies:
|
||||
tr46 "~0.0.3"
|
||||
webidl-conversions "^3.0.0"
|
||||
|
||||
xml2js@^0.4.19:
|
||||
version "0.4.23"
|
||||
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
|
||||
integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==
|
||||
dependencies:
|
||||
sax ">=0.6.0"
|
||||
xmlbuilder "~11.0.0"
|
||||
|
||||
xmlbuilder@~11.0.0:
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
|
||||
integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
|
||||
|
||||
yallist@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/microsoft/TypeScript-TmLanguage/commit/8e4e371fe8dd57560b16a44474f8cf8ca981e715",
|
||||
"version": "https://github.com/microsoft/TypeScript-TmLanguage/commit/0d73d1117e0a9b1d6635ebbe9aa37d615171b02d",
|
||||
"name": "JavaScript (with React support)",
|
||||
"scopeName": "source.js",
|
||||
"patterns": [
|
||||
@@ -989,6 +989,9 @@
|
||||
},
|
||||
{
|
||||
"include": "#parameter-binding-element"
|
||||
},
|
||||
{
|
||||
"include": "#paren-expression"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1171,7 +1174,7 @@
|
||||
"name": "keyword.operator.assignment.js"
|
||||
}
|
||||
},
|
||||
"end": "(?=[,);}\\]]|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<=\\S)(?<!=)(?=\\s*$)",
|
||||
"end": "(?=[,);}\\]]|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<![\\|\\&\\+\\-\\*\\/])(?<=\\S)(?<!=)(?=\\s*$)",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#expression"
|
||||
@@ -2912,6 +2915,9 @@
|
||||
},
|
||||
{
|
||||
"include": "#punctuation-comma"
|
||||
},
|
||||
{
|
||||
"include": "#decl-block"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3317,7 +3323,7 @@
|
||||
"name": "keyword.control.satisfies.js"
|
||||
}
|
||||
},
|
||||
"end": "(?=^|[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisifies)\\s+)|(\\s+\\<))",
|
||||
"end": "(?=^|[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisfies)\\s+)|(\\s+\\<))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type"
|
||||
@@ -3423,8 +3429,11 @@
|
||||
"name": "keyword.operator.expression.typeof.js"
|
||||
}
|
||||
},
|
||||
"end": "(?=[,);}\\]=>:&|{\\?]|$|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|type|var)\\b))",
|
||||
"end": "(?=[,);}\\]=>:&|{\\?]|(extends\\s+)|$|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|type|var)\\b))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type-arguments"
|
||||
},
|
||||
{
|
||||
"include": "#expression"
|
||||
}
|
||||
@@ -3788,7 +3797,7 @@
|
||||
"name": "keyword.operator.type.annotation.js"
|
||||
}
|
||||
},
|
||||
"end": "(?<![:|&])((?=$|^|[,);\\}\\]]|//)|(?==[^>])|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"end": "(?<![:|&])(?!\\s*[|&]\\s+)((?=^|[,);\\}\\]]|//)|(?==[^>])|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type"
|
||||
@@ -3803,7 +3812,7 @@
|
||||
"name": "keyword.operator.type.annotation.js"
|
||||
}
|
||||
},
|
||||
"end": "(?<![:|&])((?=[,);\\}\\]]|//)|(?==[^>])|(?=^\\s*$)|((?<=\\S)(?=\\s*$))|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"end": "(?<![:|&])((?=[,);\\}\\]]|\\/\\/)|(?==[^>])|(?=^\\s*$)|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type"
|
||||
@@ -4650,20 +4659,20 @@
|
||||
"include": "#template-call"
|
||||
},
|
||||
{
|
||||
"name": "string.template.js",
|
||||
"contentName": "string.template.js",
|
||||
"begin": "([_$[:alpha:]][_$[:alnum:]]*)?(`)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "entity.name.function.tagged-template.js"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.definition.string.template.begin.js"
|
||||
"name": "string.template.js punctuation.definition.string.template.begin.js"
|
||||
}
|
||||
},
|
||||
"end": "`",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.template.end.js"
|
||||
"name": "string.template.js punctuation.definition.string.template.end.js"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
@@ -4680,7 +4689,6 @@
|
||||
"template-call": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "string.template.js",
|
||||
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$[:alpha:]][_$[:alnum:]]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?`)",
|
||||
"end": "(?=`)",
|
||||
"patterns": [
|
||||
@@ -4703,7 +4711,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "string.template.js",
|
||||
"begin": "([_$[:alpha:]][_$[:alnum:]]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)`)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
@@ -4759,20 +4766,20 @@
|
||||
"include": "#template-call"
|
||||
},
|
||||
{
|
||||
"name": "string.template.js",
|
||||
"contentName": "string.template.js",
|
||||
"begin": "([_$[:alpha:]][_$[:alnum:]]*)?(`)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "entity.name.function.tagged-template.js"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.definition.string.template.begin.js"
|
||||
"name": "string.template.js punctuation.definition.string.template.begin.js"
|
||||
}
|
||||
},
|
||||
"end": "`",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.template.end.js"
|
||||
"name": "string.template.js punctuation.definition.string.template.end.js"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/microsoft/TypeScript-TmLanguage/commit/8e4e371fe8dd57560b16a44474f8cf8ca981e715",
|
||||
"version": "https://github.com/microsoft/TypeScript-TmLanguage/commit/0d73d1117e0a9b1d6635ebbe9aa37d615171b02d",
|
||||
"name": "JavaScript (with React support)",
|
||||
"scopeName": "source.js.jsx",
|
||||
"patterns": [
|
||||
@@ -989,6 +989,9 @@
|
||||
},
|
||||
{
|
||||
"include": "#parameter-binding-element"
|
||||
},
|
||||
{
|
||||
"include": "#paren-expression"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1171,7 +1174,7 @@
|
||||
"name": "keyword.operator.assignment.js.jsx"
|
||||
}
|
||||
},
|
||||
"end": "(?=[,);}\\]]|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<=\\S)(?<!=)(?=\\s*$)",
|
||||
"end": "(?=[,);}\\]]|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<![\\|\\&\\+\\-\\*\\/])(?<=\\S)(?<!=)(?=\\s*$)",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#expression"
|
||||
@@ -2912,6 +2915,9 @@
|
||||
},
|
||||
{
|
||||
"include": "#punctuation-comma"
|
||||
},
|
||||
{
|
||||
"include": "#decl-block"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3317,7 +3323,7 @@
|
||||
"name": "keyword.control.satisfies.js.jsx"
|
||||
}
|
||||
},
|
||||
"end": "(?=^|[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisifies)\\s+)|(\\s+\\<))",
|
||||
"end": "(?=^|[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisfies)\\s+)|(\\s+\\<))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type"
|
||||
@@ -3423,8 +3429,11 @@
|
||||
"name": "keyword.operator.expression.typeof.js.jsx"
|
||||
}
|
||||
},
|
||||
"end": "(?=[,);}\\]=>:&|{\\?]|$|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|type|var)\\b))",
|
||||
"end": "(?=[,);}\\]=>:&|{\\?]|(extends\\s+)|$|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|type|var)\\b))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type-arguments"
|
||||
},
|
||||
{
|
||||
"include": "#expression"
|
||||
}
|
||||
@@ -3788,7 +3797,7 @@
|
||||
"name": "keyword.operator.type.annotation.js.jsx"
|
||||
}
|
||||
},
|
||||
"end": "(?<![:|&])((?=$|^|[,);\\}\\]]|//)|(?==[^>])|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"end": "(?<![:|&])(?!\\s*[|&]\\s+)((?=^|[,);\\}\\]]|//)|(?==[^>])|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type"
|
||||
@@ -3803,7 +3812,7 @@
|
||||
"name": "keyword.operator.type.annotation.js.jsx"
|
||||
}
|
||||
},
|
||||
"end": "(?<![:|&])((?=[,);\\}\\]]|//)|(?==[^>])|(?=^\\s*$)|((?<=\\S)(?=\\s*$))|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"end": "(?<![:|&])((?=[,);\\}\\]]|\\/\\/)|(?==[^>])|(?=^\\s*$)|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type"
|
||||
@@ -4650,20 +4659,20 @@
|
||||
"include": "#template-call"
|
||||
},
|
||||
{
|
||||
"name": "string.template.js.jsx",
|
||||
"contentName": "string.template.js.jsx",
|
||||
"begin": "([_$[:alpha:]][_$[:alnum:]]*)?(`)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "entity.name.function.tagged-template.js.jsx"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.definition.string.template.begin.js.jsx"
|
||||
"name": "string.template.js.jsx punctuation.definition.string.template.begin.js.jsx"
|
||||
}
|
||||
},
|
||||
"end": "`",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.template.end.js.jsx"
|
||||
"name": "string.template.js.jsx punctuation.definition.string.template.end.js.jsx"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
@@ -4680,7 +4689,6 @@
|
||||
"template-call": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "string.template.js.jsx",
|
||||
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$[:alpha:]][_$[:alnum:]]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?`)",
|
||||
"end": "(?=`)",
|
||||
"patterns": [
|
||||
@@ -4703,7 +4711,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "string.template.js.jsx",
|
||||
"begin": "([_$[:alpha:]][_$[:alnum:]]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)`)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
@@ -4759,20 +4766,20 @@
|
||||
"include": "#template-call"
|
||||
},
|
||||
{
|
||||
"name": "string.template.js.jsx",
|
||||
"contentName": "string.template.js.jsx",
|
||||
"begin": "([_$[:alpha:]][_$[:alnum:]]*)?(`)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "entity.name.function.tagged-template.js.jsx"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.definition.string.template.begin.js.jsx"
|
||||
"name": "string.template.js.jsx punctuation.definition.string.template.begin.js.jsx"
|
||||
}
|
||||
},
|
||||
"end": "`",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.template.end.js.jsx"
|
||||
"name": "string.template.js.jsx punctuation.definition.string.template.end.js.jsx"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
|
||||
@@ -45,7 +45,7 @@ interface DocumentSortingParams {
|
||||
*/
|
||||
readonly uri: string;
|
||||
/**
|
||||
* The format options
|
||||
* The sort options
|
||||
*/
|
||||
readonly options: SortOptions;
|
||||
}
|
||||
@@ -545,40 +545,48 @@ function getSettings(): Settings {
|
||||
}
|
||||
};
|
||||
|
||||
const collectSchemaSettings = (schemaSettings: JSONSchemaSettings[], folderUri?: Uri) => {
|
||||
for (const setting of schemaSettings) {
|
||||
const url = getSchemaId(setting, folderUri);
|
||||
if (url) {
|
||||
const schemaSetting: JSONSchemaSettings = { url, fileMatch: setting.fileMatch, folderUri: folderUri?.toString(false), schema: setting.schema };
|
||||
schemas.push(schemaSetting);
|
||||
const collectSchemaSettings = (schemaSettings: JSONSchemaSettings[] | undefined, folderUri: Uri | undefined = undefined, settingsLocation = folderUri) => {
|
||||
if (schemaSettings) {
|
||||
for (const setting of schemaSettings) {
|
||||
const url = getSchemaId(setting, settingsLocation);
|
||||
if (url) {
|
||||
const schemaSetting: JSONSchemaSettings = { url, fileMatch: setting.fileMatch, folderUri: folderUri?.toString(false), schema: setting.schema };
|
||||
schemas.push(schemaSetting);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const globalSettings = workspace.getConfiguration('json', null).get<JSONSchemaSettings[]>('schemas');
|
||||
if (Array.isArray(globalSettings)) {
|
||||
collectSchemaSettings(globalSettings);
|
||||
}
|
||||
const folders = workspace.workspaceFolders;
|
||||
|
||||
const schemaConfigInfo = workspace.getConfiguration('json', null).inspect<JSONSchemaSettings[]>('schemas');
|
||||
if (schemaConfigInfo) {
|
||||
if (schemaConfigInfo.workspaceValue && workspace.workspaceFile && folders && folders.length) {
|
||||
const settingsLocation = Uri.joinPath(workspace.workspaceFile, '..');
|
||||
for (const folder of folders) {
|
||||
collectSchemaSettings(schemaConfigInfo.workspaceValue, folder.uri, settingsLocation);
|
||||
}
|
||||
}
|
||||
collectSchemaSettings(schemaConfigInfo.globalValue);
|
||||
}
|
||||
|
||||
if (folders) {
|
||||
for (const folder of folders) {
|
||||
const schemaConfigInfo = workspace.getConfiguration('json', folder.uri).inspect<JSONSchemaSettings[]>('schemas');
|
||||
if (schemaConfigInfo && Array.isArray(schemaConfigInfo.workspaceFolderValue)) {
|
||||
collectSchemaSettings(schemaConfigInfo.workspaceFolderValue, folder.uri);
|
||||
}
|
||||
collectSchemaSettings(schemaConfigInfo?.workspaceFolderValue, folder.uri);
|
||||
}
|
||||
}
|
||||
return settings;
|
||||
}
|
||||
|
||||
function getSchemaId(schema: JSONSchemaSettings, folderUri?: Uri): string | undefined {
|
||||
function getSchemaId(schema: JSONSchemaSettings, settingsLocation?: Uri): string | undefined {
|
||||
let url = schema.url;
|
||||
if (!url) {
|
||||
if (schema.schema) {
|
||||
url = schema.schema.id || `vscode://schemas/custom/${encodeURIComponent(hash(schema.schema).toString(16))}`;
|
||||
}
|
||||
} else if (folderUri && (url[0] === '.' || url[0] === '/')) {
|
||||
url = Uri.joinPath(folderUri, url).toString(false);
|
||||
} else if (settingsLocation && (url[0] === '.' || url[0] === '/')) {
|
||||
url = Uri.joinPath(settingsLocation, url).toString(false);
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
@@ -158,9 +158,9 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@vscode/extension-telemetry": "^0.7.4-preview",
|
||||
"@vscode/extension-telemetry": "^0.7.5",
|
||||
"request-light": "^0.7.0",
|
||||
"vscode-languageclient": "^8.1.0-next.6"
|
||||
"vscode-languageclient": "^8.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "16.x"
|
||||
|
||||
@@ -17,6 +17,6 @@
|
||||
"json.maxItemsComputed.desc": "The maximum number of outline symbols and folding regions computed (limited for performance reasons).",
|
||||
"json.maxItemsExceededInformation.desc": "Show notification when exceeding the maximum number of outline symbols and folding regions.",
|
||||
"json.enableSchemaDownload.desc": "When enabled, JSON schemas can be fetched from http and https locations.",
|
||||
"json.command.clearCache": "Clear schema cache",
|
||||
"json.command.sort": "Sort document"
|
||||
"json.command.clearCache": "Clear Schema Cache",
|
||||
"json.command.sort": "Sort Document"
|
||||
}
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
"@vscode/l10n": "^0.0.11",
|
||||
"jsonc-parser": "^3.2.0",
|
||||
"request-light": "^0.7.0",
|
||||
"vscode-json-languageservice": "^5.3.0",
|
||||
"vscode-languageserver": "^8.1.0-next.6",
|
||||
"vscode-json-languageservice": "^5.3.1",
|
||||
"vscode-languageserver": "^8.1.0",
|
||||
"vscode-uri": "^3.0.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -45,7 +45,7 @@ export interface DocumentSortingParams {
|
||||
*/
|
||||
uri: string;
|
||||
/**
|
||||
* The format options
|
||||
* The sort options
|
||||
*/
|
||||
options: SortOptions;
|
||||
}
|
||||
|
||||
@@ -27,10 +27,10 @@ request-light@^0.7.0:
|
||||
resolved "https://registry.yarnpkg.com/request-light/-/request-light-0.7.0.tgz#885628bb2f8040c26401ebf258ec51c4ae98ac2a"
|
||||
integrity sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==
|
||||
|
||||
vscode-json-languageservice@^5.3.0:
|
||||
version "5.3.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-5.3.0.tgz#b8e8f220f4030af33144182029ac13090d3ceb96"
|
||||
integrity sha512-yVC2WpAaF1swkUBA7EqG3hmSORxI6EpTBGdGgo5DIfJpG5hrk8PzPODAhQd0gVFtTF5j4yFxFD6V1x2XBqagcg==
|
||||
vscode-json-languageservice@^5.3.1:
|
||||
version "5.3.1"
|
||||
resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-5.3.1.tgz#c36175d05f425fbd8f47dcee6f2a72096bdda36f"
|
||||
integrity sha512-tPRf/2LOBS6uFflFLABdj8T3ol2/QgZ0kpzZHFCs+cbxpnjBNiCo+rfh3th0dtdytq5dSnWo5iFJj99zF6jZWQ==
|
||||
dependencies:
|
||||
"@vscode/l10n" "^0.0.11"
|
||||
jsonc-parser "^3.2.0"
|
||||
@@ -38,40 +38,35 @@ vscode-json-languageservice@^5.3.0:
|
||||
vscode-languageserver-types "^3.17.3"
|
||||
vscode-uri "^3.0.7"
|
||||
|
||||
vscode-jsonrpc@8.1.0-next.7:
|
||||
version "8.1.0-next.7"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0-next.7.tgz#4ecfada9866f677da9a5915abfceb7b7c90962f6"
|
||||
integrity sha512-UJlY2e4wnI+GkaNYM2TERqrNvTe0XScny7lUA4f+F+z6XI5pDJnHj6udXiGJofT/tX57d8C6fnlfgrCfF6aptQ==
|
||||
vscode-jsonrpc@8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz#cb9989c65e219e18533cc38e767611272d274c94"
|
||||
integrity sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==
|
||||
|
||||
vscode-languageserver-protocol@3.17.3-next.6:
|
||||
version "3.17.3-next.6"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3-next.6.tgz#e43dc5dc0e730e3a4d1cb523cce85cd34b6fc64d"
|
||||
integrity sha512-UCL2DaAOCzGFZKIAJ4wOS9BXVbeARL8GxXTW7ANnAXJg03IytNmOJcmguL6l+ht4CCdKNQbnRSJB4dh8cgDyJw==
|
||||
vscode-languageserver-protocol@3.17.3:
|
||||
version "3.17.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz#6d0d54da093f0c0ee3060b81612cce0f11060d57"
|
||||
integrity sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==
|
||||
dependencies:
|
||||
vscode-jsonrpc "8.1.0-next.7"
|
||||
vscode-languageserver-types "3.17.3-next.3"
|
||||
vscode-jsonrpc "8.1.0"
|
||||
vscode-languageserver-types "3.17.3"
|
||||
|
||||
vscode-languageserver-textdocument@^1.0.8:
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz#9eae94509cbd945ea44bca8dcfe4bb0c15bb3ac0"
|
||||
integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==
|
||||
|
||||
vscode-languageserver-types@3.17.3-next.3:
|
||||
version "3.17.3-next.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3-next.3.tgz#fc909d37d4200126d74583f2114e53ace27a3e04"
|
||||
integrity sha512-R36Wi5sHoVc/PsAva0QGoEgw+LRCXPDKcdjFfgoVwrRdrFOdYUkvp5G4NvrPUsVT2f2qS/bSs6QiRxyjNkcR9A==
|
||||
|
||||
vscode-languageserver-types@^3.17.3:
|
||||
vscode-languageserver-types@3.17.3, vscode-languageserver-types@^3.17.3:
|
||||
version "3.17.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64"
|
||||
integrity sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==
|
||||
|
||||
vscode-languageserver@^8.1.0-next.6:
|
||||
version "8.1.0-next.6"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.1.0-next.6.tgz#32fe5042b92b58b6f2c3c8cba0ddc77153ad47a7"
|
||||
integrity sha512-YSj9fKN0FtVW95RKjcy8UheODK4YosqiZUkEbAgJJ0uMxR1Om1dhD/+QwYUKfJX/u8KLS/qFroMNVFHoPoc2hg==
|
||||
vscode-languageserver@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.1.0.tgz#5024253718915d84576ce6662dd46a791498d827"
|
||||
integrity sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw==
|
||||
dependencies:
|
||||
vscode-languageserver-protocol "3.17.3-next.6"
|
||||
vscode-languageserver-protocol "3.17.3"
|
||||
|
||||
vscode-uri@^3.0.7:
|
||||
version "3.0.7"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
dependencies:
|
||||
tslib "^2.2.0"
|
||||
|
||||
"@azure/core-auth@^1.3.0":
|
||||
"@azure/core-auth@^1.4.0":
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.4.0.tgz#6fa9661c1705857820dbc216df5ba5665ac36a9e"
|
||||
integrity sha512-HFrcTgmuSuukRf/EdPmqBrc5l6Q5Uu+2TbuhaKbgaCpP2TfAeiNaQPAadxO+CYBRHGUzIDteMAjFspFLDLnKVQ==
|
||||
@@ -17,36 +17,30 @@
|
||||
"@azure/abort-controller" "^1.0.0"
|
||||
tslib "^2.2.0"
|
||||
|
||||
"@azure/core-http@^2.2.3":
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@azure/core-http/-/core-http-2.3.0.tgz#fb96de9a96923c186de15127472cb8e177f7158f"
|
||||
integrity sha512-Gikj2QO9W41rw7yiKWi2Q2OcVcukt+ux7ZZeFy4ilC/0b1Wcr0rjseZh9bqJ3NI9+h78Hix34ZjEg316iHjbTA==
|
||||
"@azure/core-rest-pipeline@^1.10.0":
|
||||
version "1.10.1"
|
||||
resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz#348290847ca31b9eecf9cf5de7519aaccdd30968"
|
||||
integrity sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==
|
||||
dependencies:
|
||||
"@azure/abort-controller" "^1.0.0"
|
||||
"@azure/core-auth" "^1.3.0"
|
||||
"@azure/core-tracing" "1.0.0-preview.13"
|
||||
"@azure/core-util" "^1.1.1"
|
||||
"@azure/core-auth" "^1.4.0"
|
||||
"@azure/core-tracing" "^1.0.1"
|
||||
"@azure/core-util" "^1.0.0"
|
||||
"@azure/logger" "^1.0.0"
|
||||
"@types/node-fetch" "^2.5.0"
|
||||
"@types/tunnel" "^0.0.3"
|
||||
form-data "^4.0.0"
|
||||
node-fetch "^2.6.7"
|
||||
process "^0.11.10"
|
||||
tough-cookie "^4.0.0"
|
||||
http-proxy-agent "^5.0.0"
|
||||
https-proxy-agent "^5.0.0"
|
||||
tslib "^2.2.0"
|
||||
tunnel "^0.0.6"
|
||||
uuid "^8.3.0"
|
||||
xml2js "^0.4.19"
|
||||
|
||||
"@azure/core-tracing@1.0.0-preview.13":
|
||||
version "1.0.0-preview.13"
|
||||
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz#55883d40ae2042f6f1e12b17dd0c0d34c536d644"
|
||||
integrity sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==
|
||||
"@azure/core-tracing@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
|
||||
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
|
||||
dependencies:
|
||||
"@opentelemetry/api" "^1.0.1"
|
||||
tslib "^2.2.0"
|
||||
|
||||
"@azure/core-util@^1.1.1":
|
||||
"@azure/core-util@^1.0.0":
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
|
||||
integrity sha512-A4TBYVQCtHOigFb2ETiiKFDocBoI1Zk2Ui1KpI42aJSIDexF7DHQFpnjonltXAIU/ceH+1fsZAWWgvX6/AKzog==
|
||||
@@ -132,7 +126,7 @@
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.7.tgz#ede48dd3f85af14ee369c805e5ed5b84222b9fe2"
|
||||
integrity sha512-SK3D3aVt+5vOOccKPnGaJWB5gQ8FuKfjboUJHedMP7gu54HqSCXX5iFXhktGD8nfJb0Go30eDvs/UDoTnR2kOA==
|
||||
|
||||
"@opentelemetry/api@^1.0.1", "@opentelemetry/api@^1.0.4":
|
||||
"@opentelemetry/api@^1.0.4":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686"
|
||||
integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==
|
||||
@@ -166,47 +160,40 @@
|
||||
resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz#af80a1ef7cf110ea3a68242acd95648991bcd763"
|
||||
integrity sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==
|
||||
|
||||
"@types/node-fetch@^2.5.0":
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da"
|
||||
integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
form-data "^3.0.0"
|
||||
|
||||
"@types/node@*":
|
||||
version "18.11.9"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4"
|
||||
integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==
|
||||
"@tootallnate/once@2":
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
|
||||
integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
|
||||
|
||||
"@types/node@16.x":
|
||||
version "16.11.6"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz#6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae"
|
||||
integrity sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==
|
||||
|
||||
"@types/tunnel@^0.0.3":
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/tunnel/-/tunnel-0.0.3.tgz#f109e730b072b3136347561fc558c9358bb8c6e9"
|
||||
integrity sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@vscode/extension-telemetry@^0.7.4-preview":
|
||||
version "0.7.4-preview"
|
||||
resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.4-preview.tgz#318d6bc54064e5f443b25dfb42fec724d888c36b"
|
||||
integrity sha512-6OkvjCc+DaC9B26t3hj7vuAxf1ONm/p4LrVvFrapa+jBCKxXXUaV1Asz6+QxYaPfd4Ws/MlnFfCvlgvv3uYRwQ==
|
||||
"@vscode/extension-telemetry@^0.7.5":
|
||||
version "0.7.5"
|
||||
resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
|
||||
integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
|
||||
dependencies:
|
||||
"@microsoft/1ds-core-js" "^3.2.8"
|
||||
"@microsoft/1ds-post-js" "^3.2.8"
|
||||
"@microsoft/applicationinsights-web-basic" "^2.8.9"
|
||||
applicationinsights "2.3.6"
|
||||
applicationinsights "2.4.1"
|
||||
|
||||
applicationinsights@2.3.6:
|
||||
version "2.3.6"
|
||||
resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.3.6.tgz#91277ce44e5f6d2f85336922c05d90f8699c2e70"
|
||||
integrity sha512-ZzXXpZpDRGcy6Pp5V319nDF9/+Ey7jNknEXZyaBajtC5onN0dcBem6ng5jcb3MPH2AjYWRI8XgyNEuzP/6Y5/A==
|
||||
agent-base@6:
|
||||
version "6.0.2"
|
||||
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
|
||||
integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
|
||||
dependencies:
|
||||
"@azure/core-http" "^2.2.3"
|
||||
debug "4"
|
||||
|
||||
applicationinsights@2.4.1:
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
|
||||
integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
|
||||
dependencies:
|
||||
"@azure/core-auth" "^1.4.0"
|
||||
"@azure/core-rest-pipeline" "^1.10.0"
|
||||
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
|
||||
"@opentelemetry/api" "^1.0.4"
|
||||
"@opentelemetry/core" "^1.0.1"
|
||||
@@ -273,6 +260,13 @@ continuation-local-storage@^3.2.1:
|
||||
async-listener "^0.6.0"
|
||||
emitter-listener "^1.1.1"
|
||||
|
||||
debug@4:
|
||||
version "4.3.4"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
delayed-stream@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
|
||||
@@ -297,15 +291,6 @@ emitter-listener@^1.0.1, emitter-listener@^1.1.1:
|
||||
dependencies:
|
||||
shimmer "^1.2.0"
|
||||
|
||||
form-data@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
|
||||
integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
|
||||
dependencies:
|
||||
asynckit "^0.4.0"
|
||||
combined-stream "^1.0.8"
|
||||
mime-types "^2.1.12"
|
||||
|
||||
form-data@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
|
||||
@@ -315,6 +300,23 @@ form-data@^4.0.0:
|
||||
combined-stream "^1.0.8"
|
||||
mime-types "^2.1.12"
|
||||
|
||||
http-proxy-agent@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
|
||||
integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
|
||||
dependencies:
|
||||
"@tootallnate/once" "2"
|
||||
agent-base "6"
|
||||
debug "4"
|
||||
|
||||
https-proxy-agent@^5.0.0:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
|
||||
integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
|
||||
dependencies:
|
||||
agent-base "6"
|
||||
debug "4"
|
||||
|
||||
lru-cache@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
|
||||
@@ -341,48 +343,16 @@ minimatch@^5.1.0:
|
||||
dependencies:
|
||||
brace-expansion "^2.0.1"
|
||||
|
||||
node-fetch@^2.6.7:
|
||||
version "2.6.7"
|
||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
|
||||
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
|
||||
dependencies:
|
||||
whatwg-url "^5.0.0"
|
||||
|
||||
process@^0.11.10:
|
||||
version "0.11.10"
|
||||
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
|
||||
integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
|
||||
|
||||
psl@^1.1.33:
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
|
||||
integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
|
||||
|
||||
punycode@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
|
||||
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
|
||||
|
||||
querystringify@^2.1.1:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
|
||||
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
|
||||
ms@2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
||||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
||||
|
||||
request-light@^0.7.0:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/request-light/-/request-light-0.7.0.tgz#885628bb2f8040c26401ebf258ec51c4ae98ac2a"
|
||||
integrity sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==
|
||||
|
||||
requires-port@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
|
||||
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
|
||||
|
||||
sax@>=0.6.0:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
|
||||
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
|
||||
|
||||
semver@^5.3.0, semver@^5.4.1:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||
@@ -405,101 +375,42 @@ stack-chain@^1.3.7:
|
||||
resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
|
||||
integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==
|
||||
|
||||
tough-cookie@^4.0.0:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874"
|
||||
integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==
|
||||
dependencies:
|
||||
psl "^1.1.33"
|
||||
punycode "^2.1.1"
|
||||
universalify "^0.2.0"
|
||||
url-parse "^1.5.3"
|
||||
|
||||
tr46@~0.0.3:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
|
||||
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
|
||||
|
||||
tslib@^2.2.0:
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
|
||||
integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
|
||||
|
||||
tunnel@^0.0.6:
|
||||
version "0.0.6"
|
||||
resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c"
|
||||
integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==
|
||||
|
||||
universalify@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
|
||||
integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
|
||||
|
||||
url-parse@^1.5.3:
|
||||
version "1.5.10"
|
||||
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
|
||||
integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
|
||||
dependencies:
|
||||
querystringify "^2.1.1"
|
||||
requires-port "^1.0.0"
|
||||
|
||||
uuid@^8.3.0:
|
||||
version "8.3.2"
|
||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
|
||||
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
|
||||
|
||||
vscode-jsonrpc@8.1.0-next.7:
|
||||
version "8.1.0-next.7"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0-next.7.tgz#4ecfada9866f677da9a5915abfceb7b7c90962f6"
|
||||
integrity sha512-UJlY2e4wnI+GkaNYM2TERqrNvTe0XScny7lUA4f+F+z6XI5pDJnHj6udXiGJofT/tX57d8C6fnlfgrCfF6aptQ==
|
||||
vscode-jsonrpc@8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz#cb9989c65e219e18533cc38e767611272d274c94"
|
||||
integrity sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==
|
||||
|
||||
vscode-languageclient@^8.1.0-next.6:
|
||||
version "8.1.0-next.6"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.1.0-next.6.tgz#ce5c19ee6831a9c1886b0f19d9c2e2ebb0aa4c07"
|
||||
integrity sha512-DvqmwhnQlgvYVoiVxYemPo/wQ2gtpJrgt10rgv32J5bg3OkVgWFH31Uut3jF30UK4aA2sLis64PD/yMMJZy+bQ==
|
||||
vscode-languageclient@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.1.0.tgz#3e67d5d841481ac66ddbdaa55b4118742f6a9f3f"
|
||||
integrity sha512-GL4QdbYUF/XxQlAsvYWZRV3V34kOkpRlvV60/72ghHfsYFnS/v2MANZ9P6sHmxFcZKOse8O+L9G7Czg0NUWing==
|
||||
dependencies:
|
||||
minimatch "^5.1.0"
|
||||
semver "^7.3.7"
|
||||
vscode-languageserver-protocol "3.17.3-next.6"
|
||||
vscode-languageserver-protocol "3.17.3"
|
||||
|
||||
vscode-languageserver-protocol@3.17.3-next.6:
|
||||
version "3.17.3-next.6"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3-next.6.tgz#e43dc5dc0e730e3a4d1cb523cce85cd34b6fc64d"
|
||||
integrity sha512-UCL2DaAOCzGFZKIAJ4wOS9BXVbeARL8GxXTW7ANnAXJg03IytNmOJcmguL6l+ht4CCdKNQbnRSJB4dh8cgDyJw==
|
||||
vscode-languageserver-protocol@3.17.3:
|
||||
version "3.17.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz#6d0d54da093f0c0ee3060b81612cce0f11060d57"
|
||||
integrity sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==
|
||||
dependencies:
|
||||
vscode-jsonrpc "8.1.0-next.7"
|
||||
vscode-languageserver-types "3.17.3-next.3"
|
||||
vscode-jsonrpc "8.1.0"
|
||||
vscode-languageserver-types "3.17.3"
|
||||
|
||||
vscode-languageserver-types@3.17.3-next.3:
|
||||
version "3.17.3-next.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3-next.3.tgz#fc909d37d4200126d74583f2114e53ace27a3e04"
|
||||
integrity sha512-R36Wi5sHoVc/PsAva0QGoEgw+LRCXPDKcdjFfgoVwrRdrFOdYUkvp5G4NvrPUsVT2f2qS/bSs6QiRxyjNkcR9A==
|
||||
|
||||
webidl-conversions@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
|
||||
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
|
||||
|
||||
whatwg-url@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
|
||||
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
|
||||
dependencies:
|
||||
tr46 "~0.0.3"
|
||||
webidl-conversions "^3.0.0"
|
||||
|
||||
xml2js@^0.4.19:
|
||||
version "0.4.23"
|
||||
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
|
||||
integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==
|
||||
dependencies:
|
||||
sax ">=0.6.0"
|
||||
xmlbuilder "~11.0.0"
|
||||
|
||||
xmlbuilder@~11.0.0:
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
|
||||
integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
|
||||
vscode-languageserver-types@3.17.3:
|
||||
version "3.17.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64"
|
||||
integrity sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==
|
||||
|
||||
yallist@^4.0.0:
|
||||
version "4.0.0"
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
"git": {
|
||||
"name": "jlelong/vscode-latex-basics",
|
||||
"repositoryUrl": "https://github.com/jlelong/vscode-latex-basics",
|
||||
"commitHash": "16ac438ab14488976672c3c948ed29335fcd9dd5"
|
||||
"commitHash": "eed5b817b757aab3695af437409fcbfdd37bbc59"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"version": "1.5.0",
|
||||
"version": "1.5.1",
|
||||
"description": "The files in syntaxes/ were originally part of https://github.com/James-Yu/LaTeX-Workshop. They have been extracted in the hope that they can useful outside of the LaTeX-Workshop extension.",
|
||||
"licenseDetail": [
|
||||
"Copyright (c) vscode-latex-basics authors",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/jlelong/vscode-latex-basics/commit/fcf4cca5b18a4c71ace161cf6af87cf6a50d9abd",
|
||||
"version": "https://github.com/jlelong/vscode-latex-basics/commit/eed5b817b757aab3695af437409fcbfdd37bbc59",
|
||||
"name": "LaTeX",
|
||||
"scopeName": "text.tex.latex",
|
||||
"patterns": [
|
||||
@@ -1064,7 +1064,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "((?:\\s*)\\\\begin\\{([a-z]*code(?:\\*)?)\\}(?:\\[.*\\])?(?:\\{.*\\})?)",
|
||||
"begin": "((?:\\s*)\\\\begin\\{([a-zA-Z]*code(?:\\*)?)\\}(?:\\[.*\\])?(?:\\{.*\\})?)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"patterns": [
|
||||
@@ -1074,7 +1074,9 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"end": "(\\\\end\\{\\2\\}(?:\\s*\\n)?)"
|
||||
"end": "(\\\\end\\{\\2\\}(?:\\s*\\n)?)",
|
||||
"contentName": "meta.function.embedded.latex",
|
||||
"name": "meta.embedded.block.generic.latex"
|
||||
},
|
||||
{
|
||||
"begin": "((\\\\)addplot)(?:\\+?)((?:\\[[^\\[]*\\]))*\\s*(gnuplot)\\s*((?:\\[[^\\[]*\\]))*\\s*(\\{)",
|
||||
@@ -1684,7 +1686,7 @@
|
||||
"name": "meta.scope.item.latex"
|
||||
},
|
||||
{
|
||||
"begin": "((\\\\)(?:[aA]uto|foot|full|no|ref|short|[tT]ext|[pP]aren|[sS]mart)?[cC]ite(?:al)?(?:p|s|t|author|year(?:par)?|title)?[ANP]*\\*?)((?:(?:\\([^\\)]*\\)){0,2}(?:\\[[^\\]]*\\]){0,2}\\{[\\w:.]*\\})*)(?:([<\\[])[^\\]<>]*([>\\]]))?(?:(\\[)[^\\]]*(\\]))?(\\{)",
|
||||
"begin": "((\\\\)(?:[aA]uto|foot|full|no|ref|short|[tT]ext|[pP]aren|[sS]mart)?[cC]ite(?:al)?(?:p|s|t|author|year(?:par)?|title)?[ANP]*\\*?)((?:(?:\\([^\\)]*\\)){0,2}(?:\\[[^\\]]*\\]){0,2}\\{[\\p{Alphabetic}:.]*\\})*)(?:([<\\[])[^\\]<>]*([>\\]]))?(?:(\\[)[^\\]]*(\\]))?(\\{)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.control.cite.latex"
|
||||
@@ -1735,7 +1737,7 @@
|
||||
"match": "((%).*)$"
|
||||
},
|
||||
{
|
||||
"match": "[\\w:.-]+",
|
||||
"match": "[\\p{Alphabetic}:.-]+",
|
||||
"name": "constant.other.reference.citation.latex"
|
||||
}
|
||||
]
|
||||
@@ -1762,7 +1764,7 @@
|
||||
"name": "meta.citation.latex",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "[\\w:.]+",
|
||||
"match": "[\\p{Alphabetic}:.]+",
|
||||
"name": "constant.other.reference.citation.latex"
|
||||
}
|
||||
]
|
||||
@@ -1789,7 +1791,7 @@
|
||||
"name": "meta.reference.label.latex",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "[a-zA-Z0-9\\.,:/*!^_-]",
|
||||
"match": "[\\p{Alphabetic}\\p{Number}\\.,:/*!^_-]",
|
||||
"name": "constant.other.reference.label.latex"
|
||||
}
|
||||
]
|
||||
@@ -2248,7 +2250,7 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"match": "(?:(\\()[^\\)]*(\\))){0,2}(?:(\\[)[^\\]]*(\\])){0,2}(\\{)([\\w:.]+)(\\})(.*)"
|
||||
"match": "(?:(\\()[^\\)]*(\\))){0,2}(?:(\\[)[^\\]]*(\\])){0,2}(\\{)([\\p{Alphabetic}:.]+)(\\})(.*)"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/jlelong/vscode-latex-basics/commit/8776a0856846b63d9e5765e8ec42a8a2f4f52219",
|
||||
"version": "https://github.com/jlelong/vscode-latex-basics/commit/890b6155b82b12c67b350aa99be5637eaa64f222",
|
||||
"name": "TeX",
|
||||
"scopeName": "text.tex",
|
||||
"patterns": [
|
||||
@@ -14,7 +14,7 @@
|
||||
"name": "punctuation.definition.keyword.tex"
|
||||
}
|
||||
},
|
||||
"match": "(\\\\)(backmatter|else|fi|frontmatter|mainmatter|if(case|cat|dim|eof|false|hbox|hmode|inner|mmode|num|odd|true|undefined|vbox|vmode|void|x)?)(?![a-zA-Z@])",
|
||||
"match": "(\\\\)(backmatter|csname|else|endcsname|fi|frontmatter|mainmatter|unless|if(case|cat|csname|defined|dim|eof|false|fontchar|hbox|hmode|inner|mmode|num|odd|true|vbox|vmode|void|x)?)(?![a-zA-Z@])",
|
||||
"name": "keyword.control.tex"
|
||||
},
|
||||
{
|
||||
@@ -176,7 +176,7 @@
|
||||
"name": "punctuation.definition.constant.math.tex"
|
||||
}
|
||||
},
|
||||
"match": "(\\\\)(s(s(earrow|warrow|lash)|h(ort(downarrow|uparrow|parallel|leftarrow|rightarrow|mid)|arp)|tar|i(gma|m(eq)?)|u(cc(sim|n(sim|approx)|curlyeq|eq|approx)?|pset(neq(q)?|plus(eq)?|eq(q)?)?|rd|m|bset(neq(q)?|plus(eq)?|eq(q)?)?)|p(hericalangle|adesuit)|e(tminus|arrow)|q(su(pset(eq)?|bset(eq)?)|c(up|ap)|uare)|warrow|m(ile|all(s(etminus|mile)|frown)))|h(slash|ook(leftarrow|rightarrow)|eartsuit|bar)|R(sh|ightarrow|e|bag)|Gam(e|ma)|n(s(hort(parallel|mid)|im|u(cc(eq)?|pseteq(q)?|bseteq))|Rightarrow|n(earrow|warrow)|cong|triangle(left(eq(slant)?)?|right(eq(slant)?)?)|i(plus)?|u|p(lus|arallel|rec(eq)?)|e(q|arrow|g|xists)|v(dash|Dash)|warrow|le(ss|q(slant|q)?|ft(arrow|rightarrow))|a(tural|bla)|VDash|rightarrow|g(tr|eq(slant|q)?)|mid|Left(arrow|rightarrow))|c(hi|irc(eq|le(d(circ|S|dash|ast)|arrow(left|right)))?|o(ng|prod|lon|mplement)|dot(s|p)?|u(p|r(vearrow(left|right)|ly(eq(succ|prec)|vee(downarrow|uparrow)?|wedge(downarrow|uparrow)?)))|enterdot|lubsuit|ap)|Xi|Maps(to(char)?|from(char)?)|B(ox|umpeq|bbk)|t(h(ick(sim|approx)|e(ta|refore))|imes|op|wohead(leftarrow|rightarrow)|a(u|lloblong)|riangle(down|q|left(eq(slant)?)?|right(eq(slant)?)?)?)|i(n(t(er(cal|leave))?|plus|fty)?|ota|math)|S(igma|u(pset|bset))|zeta|o(slash|times|int|dot|plus|vee|wedge|lessthan|greaterthan|m(inus|ega)|b(slash|long|ar))|d(i(v(ideontimes)?|a(g(down|up)|mond(suit)?)|gamma)|o(t(plus|eq(dot)?)|ublebarwedge|wn(harpoon(left|right)|downarrows|arrow))|d(ots|agger)|elta|a(sh(v|leftarrow|rightarrow)|leth|gger))|Y(down|up|left|right)|C(up|ap)|u(n(lhd|rhd)|p(silon|harpoon(left|right)|downarrow|uparrows|lus|arrow)|lcorner|rcorner)|jmath|Theta|Im|p(si|hi|i(tchfork)?|erp|ar(tial|allel)|r(ime|o(d|pto)|ec(sim|n(sim|approx)|curlyeq|eq|approx)?)|m)|e(t(h|a)|psilon|q(slant(less|gtr)|circ|uiv)|ll|xists|mptyset)|Omega|D(iamond|ownarrow|elta)|v(d(ots|ash)|ee(bar)?|Dash|ar(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|curly(vee|wedge)|t(heta|imes|riangle(left|right)?)|o(slash|circle|times|dot|plus|vee|wedge|lessthan|ast|greaterthan|minus|b(slash|ar))|p(hi|i|ropto)|epsilon|kappa|rho|bigcirc))|kappa|Up(silon|downarrow|arrow)|Join|f(orall|lat|a(t(s(emi|lash)|bslash)|llingdotseq)|rown)|P(si|hi|i)|w(p|edge|r)|l(hd|n(sim|eq(q)?|approx)|ceil|times|ightning|o(ng(left(arrow|rightarrow)|rightarrow|maps(to|from))|zenge|oparrow(left|right))|dot(s|p)|e(ss(sim|dot|eq(qgtr|gtr)|approx|gtr)|q(slant|q)?|ft(slice|harpoon(down|up)|threetimes|leftarrows|arrow(t(ail|riangle))?|right(squigarrow|harpoons|arrow(s|triangle|eq)?))|adsto)|vertneqq|floor|l(c(orner|eil)|floor|l|bracket)?|a(ngle|mbda)|rcorner|bag)|a(s(ymp|t)|ngle|pprox(eq)?|l(pha|eph)|rrownot|malg)|V(dash|vdash)|r(h(o|d)|ceil|times|i(singdotseq|ght(s(quigarrow|lice)|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(t(ail|riangle))?|rightarrows))|floor|angle|r(ceil|parenthesis|floor|bracket)|bag)|g(n(sim|eq(q)?|approx)|tr(sim|dot|eq(qless|less)|less|approx)|imel|eq(slant|q)?|vertneqq|amma|g(g)?)|Finv|xi|m(ho|i(nuso|d)|o(o|dels)|u(ltimap)?|p|e(asuredangle|rge)|aps(to|from(char)?))|b(i(n(dnasrepma|ampersand)|g(s(tar|qc(up|ap))|nplus|c(irc|u(p|rly(vee|wedge))|ap)|triangle(down|up)|interleave|o(times|dot|plus)|uplus|parallel|vee|wedge|box))|o(t|wtie|x(slash|circle|times|dot|plus|empty|ast|minus|b(slash|ox|ar)))|u(llet|mpeq)|e(cause|t(h|ween|a))|lack(square|triangle(down|left|right)?|lozenge)|a(ck(s(im(eq)?|lash)|prime|epsilon)|r(o|wedge))|bslash)|L(sh|ong(left(arrow|rightarrow)|rightarrow|maps(to|from))|eft(arrow|rightarrow)|leftarrow|ambda|bag)|Arrownot)(?=\\b|_)",
|
||||
"match": "(\\\\)(s(s(earrow|warrow|lash)|h(ort(downarrow|uparrow|parallel|leftarrow|rightarrow|mid)|arp)|tar|i(gma|m(eq)?)|u(cc(sim|n(sim|approx)|curlyeq|eq|approx)?|pset(neq(q)?|plus(eq)?|eq(q)?)?|rd|m|bset(neq(q)?|plus(eq)?|eq(q)?)?)|p(hericalangle|adesuit)|e(tminus|arrow)|q(su(pset(eq)?|bset(eq)?)|c(up|ap)|uare)|warrow|m(ile|all(s(etminus|mile)|frown)))|h(slash|ook(leftarrow|rightarrow)|eartsuit|bar)|R(sh|ightarrow|e|bag)|Gam(e|ma)|n(s(hort(parallel|mid)|im|u(cc(eq)?|pseteq(q)?|bseteq))|Rightarrow|n(earrow|warrow)|cong|triangle(left(eq(slant)?)?|right(eq(slant)?)?)|i(plus)?|u|p(lus|arallel|rec(eq)?)|e(q|arrow|g|xists)|v(dash|Dash)|warrow|le(ss|q(slant|q)?|ft(arrow|rightarrow))|a(tural|bla)|VDash|rightarrow|g(tr|eq(slant|q)?)|mid|Left(arrow|rightarrow))|c(hi|irc(eq|le(d(circ|S|dash|ast)|arrow(left|right)))?|o(ng|prod|lon|mplement)|dot(s|p)?|u(p|r(vearrow(left|right)|ly(eq(succ|prec)|vee(downarrow|uparrow)?|wedge(downarrow|uparrow)?)))|enterdot|lubsuit|ap)|Xi|Maps(to(char)?|from(char)?)|B(ox|umpeq|bbk)|t(h(ick(sim|approx)|e(ta|refore))|imes|op|wohead(leftarrow|rightarrow)|a(u|lloblong)|riangle(down|q|left(eq(slant)?)?|right(eq(slant)?)?)?)|i(n(t(er(cal|leave))?|plus|fty)?|ota|math)|S(igma|u(pset|bset))|zeta|o(slash|times|int|dot|plus|vee|wedge|lessthan|greaterthan|m(inus|ega)|b(slash|long|ar))|d(i(v(ideontimes)?|a(g(down|up)|mond(suit)?)|gamma)|o(t(plus|eq(dot)?)|ublebarwedge|wn(harpoon(left|right)|downarrows|arrow))|d(ots|agger)|elta|a(sh(v|leftarrow|rightarrow)|leth|gger))|Y(down|up|left|right)|C(up|ap)|u(n(lhd|rhd)|p(silon|harpoon(left|right)|downarrow|uparrows|lus|arrow)|lcorner|rcorner)|jmath|Theta|Im|p(si|hi|i(tchfork)?|erp|ar(tial|allel)|r(ime|o(d|pto)|ec(sim|n(sim|approx)|curlyeq|eq|approx)?)|m)|e(t(h|a)|psilon|q(slant(less|gtr)|circ|uiv)|ll|xists|mptyset)|Omega|D(iamond|ownarrow|elta)|v(d(ots|ash)|ee(bar)?|Dash|ar(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|curly(vee|wedge)|t(heta|imes|riangle(left|right)?)|o(slash|circle|times|dot|plus|vee|wedge|lessthan|ast|greaterthan|minus|b(slash|ar))|p(hi|i|ropto)|epsilon|kappa|rho|bigcirc))|kappa|Up(silon|downarrow|arrow)|Join|f(orall|lat|a(t(s(emi|lash)|bslash)|llingdotseq)|rown)|P(si|hi|i)|w(p|edge|r)|l(hd|n(sim|eq(q)?|approx)|ceil|times|ightning|o(ng(left(arrow|rightarrow)|rightarrow|maps(to|from))|zenge|oparrow(left|right))|dot(s|p)|e(ss(sim|dot|eq(qgtr|gtr)|approx|gtr)|q(slant|q)?|ft(slice|harpoon(down|up)|threetimes|leftarrows|arrow(t(ail|riangle))?|right(squigarrow|harpoons|arrow(s|triangle|eq)?))|adsto)|vertneqq|floor|l(c(orner|eil)|floor|l|bracket)?|a(ngle|mbda)|rcorner|bag)|a(s(ymp|t)|ngle|pprox(eq)?|l(pha|eph)|rrownot|malg)|V(dash|vdash)|r(h(o|d)|ceil|times|i(singdotseq|ght(s(quigarrow|lice)|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(t(ail|riangle))?|rightarrows))|floor|angle|r(ceil|parenthesis|floor|bracket)|bag)|g(n(sim|eq(q)?|approx)|tr(sim|dot|eq(qless|less)|less|approx)|imel|eq(slant|q)?|vertneqq|amma|g(g)?)|Finv|xi|m(ho|i(nuso|d)|o(o|dels)|u(ltimap)?|p|e(asuredangle|rge)|aps(to|from(char)?))|b(i(n(dnasrepma|ampersand)|g(s(tar|qc(up|ap))|nplus|c(irc|u(p|rly(vee|wedge))|ap)|triangle(down|up)|interleave|o(times|dot|plus)|uplus|parallel|vee|wedge|box))|o(t|wtie|x(slash|circle|times|dot|plus|empty|ast|minus|b(slash|ox|ar)))|u(llet|mpeq)|e(cause|t(h|ween|a))|lack(square|triangle(down|left|right)?|lozenge)|a(ck(s(im(eq)?|lash)|prime|epsilon)|r(o|wedge))|bslash)|L(sh|ong(left(arrow|rightarrow)|rightarrow|maps(to|from))|eft(arrow|rightarrow)|leftarrow|ambda|bag)|Arrownot)(?![a-zA-Z])",
|
||||
"name": "constant.character.math.tex"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"git": {
|
||||
"name": "microsoft/vscode-markdown-tm-grammar",
|
||||
"repositoryUrl": "https://github.com/microsoft/vscode-markdown-tm-grammar",
|
||||
"commitHash": "443261e8f75b2eaa8b36a2613fe7c4354208260a"
|
||||
"commitHash": "ca2caf2157d0674be3d641f71499b84d514e4e5e"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/microsoft/vscode-markdown-tm-grammar/commit/443261e8f75b2eaa8b36a2613fe7c4354208260a",
|
||||
"version": "https://github.com/microsoft/vscode-markdown-tm-grammar/commit/ca2caf2157d0674be3d641f71499b84d514e4e5e",
|
||||
"name": "Markdown",
|
||||
"scopeName": "text.html.markdown",
|
||||
"patterns": [
|
||||
@@ -1880,6 +1880,39 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"fenced_code_block_twig": {
|
||||
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(twig)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
|
||||
"name": "markup.fenced_code.block.markdown",
|
||||
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
|
||||
"beginCaptures": {
|
||||
"3": {
|
||||
"name": "punctuation.definition.markdown"
|
||||
},
|
||||
"4": {
|
||||
"name": "fenced_code.block.language.markdown"
|
||||
},
|
||||
"5": {
|
||||
"name": "fenced_code.block.language.attributes.markdown"
|
||||
}
|
||||
},
|
||||
"endCaptures": {
|
||||
"3": {
|
||||
"name": "punctuation.definition.markdown"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "(^|\\G)(\\s*)(.*)",
|
||||
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
|
||||
"contentName": "meta.embedded.block.twig",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "source.twig"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"fenced_code_block": {
|
||||
"patterns": [
|
||||
{
|
||||
@@ -2047,6 +2080,9 @@
|
||||
{
|
||||
"include": "#fenced_code_block_bibtex"
|
||||
},
|
||||
{
|
||||
"include": "#fenced_code_block_twig"
|
||||
},
|
||||
{
|
||||
"include": "#fenced_code_block_unknown"
|
||||
}
|
||||
|
||||
@@ -582,6 +582,21 @@
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"markdown.preferredMdPathExtensionStyle": {
|
||||
"type": "string",
|
||||
"default": "auto",
|
||||
"markdownDescription": "%configuration.markdown.preferredMdPathExtensionStyle%",
|
||||
"enum": [
|
||||
"auto",
|
||||
"includeExtension",
|
||||
"removeExtension"
|
||||
],
|
||||
"markdownEnumDescriptions": [
|
||||
"%configuration.markdown.preferredMdPathExtensionStyle.auto%",
|
||||
"%configuration.markdown.preferredMdPathExtensionStyle.includeExtension%",
|
||||
"%configuration.markdown.preferredMdPathExtensionStyle.removeExtension%"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -54,5 +54,9 @@
|
||||
"configuration.markdown.updateLinksOnFileMove.enableForDirectories": "Enable updating links when a directory is moved or renamed in the workspace.",
|
||||
"configuration.markdown.occurrencesHighlight.enabled": "Enable highlighting link occurrences in the current document.",
|
||||
"configuration.markdown.copyFiles.destination": "Defines where files copied into a Markdown document should be created. This is a map from globs that match on the Markdown document to destinations.\n\nThe destinations may use the following variables:\n\n- `${documentFileName}` — The full filename of the Markdown document, for example `readme.md`.\n- `${documentBaseName}` — The basename of Markdown document, for example `readme`.\n- `${documentExtName}` — The extension of the Markdown document, for example `md`.\n- `${documentDirName}` — The name of the Markdown document's parent directory.\n- `${documentWorkspaceFolder}` — The workspace folder for the Markdown document, for examples, `/Users/me/myProject`. This is the same as `${documentDirName}` if the file is not part of in a workspace.\n- `${fileName}` — The file name of the dropped file, for example `image.png`.",
|
||||
"configuration.markdown.preferredMdPathExtensionStyle": "Controls if file extensions (e.g. `.md`) are added or not for links to Markdown files. This setting is used when file paths are added by tooling such as path completions or file renames.",
|
||||
"configuration.markdown.preferredMdPathExtensionStyle.auto": "For existing paths, try to maintain the file extension style. For new paths, add file extensions.",
|
||||
"configuration.markdown.preferredMdPathExtensionStyle.includeExtension": "Prefer including the file extension. For example, path completions to a file named `file.md` will insert `file.md`.",
|
||||
"configuration.markdown.preferredMdPathExtensionStyle.removeExtension": "Prefer removing the file extension. For example, path completions to a file named `file.md` will insert `file` without the `.md`.",
|
||||
"workspaceTrust": "Required for loading styles configured in the workspace."
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"vscode-languageserver": "^8.0.2",
|
||||
"vscode-languageserver-textdocument": "^1.0.5",
|
||||
"vscode-languageserver-types": "^3.17.1",
|
||||
"vscode-markdown-languageservice": "^0.3.0-alpha.4",
|
||||
"vscode-markdown-languageservice": "^0.3.0-alpha.5",
|
||||
"vscode-uri": "^3.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -10,6 +10,8 @@ export type ValidateEnabled = 'ignore' | 'warning' | 'error' | 'hint';
|
||||
|
||||
export interface Settings {
|
||||
readonly markdown: {
|
||||
readonly preferredMdPathExtensionStyle: 'auto' | 'includeExtension' | 'removeExtension';
|
||||
|
||||
readonly occurrencesHighlight: {
|
||||
readonly enabled: boolean;
|
||||
};
|
||||
|
||||
@@ -62,18 +62,26 @@ export async function startServer(connection: Connection, serverConfig: {
|
||||
let mdLs: md.IMdLanguageService | undefined;
|
||||
|
||||
connection.onInitialize((params: InitializeParams): InitializeResult => {
|
||||
const initOptions = params.initializationOptions as MdServerInitializationOptions | undefined;
|
||||
const config = getLsConfiguration(initOptions ?? {});
|
||||
|
||||
const configurationManager = new ConfigurationManager(connection);
|
||||
const initOptions = params.initializationOptions as MdServerInitializationOptions | undefined;
|
||||
|
||||
const workspace = serverConfig.workspaceFactory({ connection, config, workspaceFolders: params.workspaceFolders });
|
||||
const mdConfig = getLsConfiguration(initOptions ?? {});
|
||||
|
||||
const workspace = serverConfig.workspaceFactory({ connection, config: mdConfig, workspaceFolders: params.workspaceFolders });
|
||||
mdLs = md.createLanguageService({
|
||||
workspace,
|
||||
parser: serverConfig.parser,
|
||||
logger: serverConfig.logger,
|
||||
markdownFileExtensions: config.markdownFileExtensions,
|
||||
excludePaths: config.excludePaths,
|
||||
...mdConfig,
|
||||
get preferredMdPathExtensionStyle() {
|
||||
switch (configurationManager.getSettings()?.markdown.preferredMdPathExtensionStyle) {
|
||||
case 'includeExtension': return md.PreferredMdPathExtensionStyle.includeExtension;
|
||||
case 'removeExtension': return md.PreferredMdPathExtensionStyle.removeExtension;
|
||||
case 'auto':
|
||||
default:
|
||||
return md.PreferredMdPathExtensionStyle.auto;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
registerCompletionsSupport(connection, documents, mdLs, configurationManager);
|
||||
|
||||
@@ -52,10 +52,10 @@ vscode-languageserver@^8.0.2:
|
||||
dependencies:
|
||||
vscode-languageserver-protocol "3.17.2"
|
||||
|
||||
vscode-markdown-languageservice@^0.3.0-alpha.4:
|
||||
version "0.3.0-alpha.4"
|
||||
resolved "https://registry.yarnpkg.com/vscode-markdown-languageservice/-/vscode-markdown-languageservice-0.3.0-alpha.4.tgz#59cc97102d6d0177a028b320fa76fe86d294cdb0"
|
||||
integrity sha512-wMstTLuX3F+BkjxXCY4d1xKzHyBTHTC2EECg701FpBbSppa17Zj/Hk2G9H1dZGXhQeexXifxVXKScbLD6cB/3g==
|
||||
vscode-markdown-languageservice@^0.3.0-alpha.5:
|
||||
version "0.3.0-alpha.5"
|
||||
resolved "https://registry.yarnpkg.com/vscode-markdown-languageservice/-/vscode-markdown-languageservice-0.3.0-alpha.5.tgz#fce18193c16186eacdd322f49775fd43d659fc25"
|
||||
integrity sha512-5SEn8hr999N/K8IaY25fdZoW7JPJT4pOm53AQvimGNYiCntb0TWJhMJD1Izbc2DvbyrWAksVkLqzbGKV/zW+Sg==
|
||||
dependencies:
|
||||
"@vscode/l10n" "^0.0.10"
|
||||
picomatch "^2.3.1"
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ export async function tryGetUriListSnippet(document: vscode.TextDocument, dataTr
|
||||
}
|
||||
|
||||
const uris: vscode.Uri[] = [];
|
||||
for (const resource of urlList.split('\n')) {
|
||||
for (const resource of urlList.split(/\r?\n/g)) {
|
||||
try {
|
||||
uris.push(vscode.Uri.parse(resource));
|
||||
} catch {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"license": "MIT",
|
||||
"description": "Dependencies shared by all extensions",
|
||||
"dependencies": {
|
||||
"typescript": "^4.9.5"
|
||||
"typescript": "^5.0.0-dev.20230224"
|
||||
},
|
||||
"scripts": {
|
||||
"postinstall": "node ./postinstall.mjs"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"activityBar.activeBorder": "#0078d4",
|
||||
"activityBar.background": "#181818",
|
||||
"activityBar.border": "#ffffff15",
|
||||
"activityBar.foreground": "#cccccc",
|
||||
"activityBar.foreground": "#d7d7d7",
|
||||
"activityBar.inactiveForeground": "#ffffff80",
|
||||
"activityBarBadge.background": "#0078d4",
|
||||
"activityBarBadge.foreground": "#ffffff",
|
||||
@@ -20,7 +20,7 @@
|
||||
"button.secondaryForeground": "#cccccc",
|
||||
"button.secondaryHoverBackground": "#ffffff15",
|
||||
"checkbox.background": "#313131",
|
||||
"checkbox.border": "#ffffff15",
|
||||
"checkbox.border": "#ffffff1f",
|
||||
"debugToolBar.background": "#181818",
|
||||
"descriptionForeground": "#8b949e",
|
||||
"diffEditor.insertedLineBackground": "#23863633",
|
||||
@@ -28,7 +28,7 @@
|
||||
"diffEditor.removedLineBackground": "#da363333",
|
||||
"diffEditor.removedTextBackground": "#da36334d",
|
||||
"dropdown.background": "#313131",
|
||||
"dropdown.border": "#ffffff17",
|
||||
"dropdown.border": "#ffffff1f",
|
||||
"dropdown.foreground": "#cccccc",
|
||||
"dropdown.listBackground": "#313131",
|
||||
"editor.background": "#1f1f1f",
|
||||
@@ -53,7 +53,7 @@
|
||||
"foreground": "#cccccc",
|
||||
"icon.foreground": "#cccccc",
|
||||
"input.background": "#ffffff0f",
|
||||
"input.border": "#ffffff17",
|
||||
"input.border": "#ffffff1f",
|
||||
"input.foreground": "#cccccc",
|
||||
"input.placeholderForeground": "#ffffff79",
|
||||
"inputOption.activeBackground": "#2489db82",
|
||||
@@ -88,7 +88,7 @@
|
||||
"scrollbarSlider.background": "#6e768133",
|
||||
"scrollbarSlider.hoverBackground": "#6e768145",
|
||||
"settings.dropdownBackground": "#313131",
|
||||
"settings.dropdownBorder": "#ffffff17",
|
||||
"settings.dropdownBorder": "#ffffff1f",
|
||||
"settings.headerForeground": "#ffffff",
|
||||
"settings.modifiedItemIndicator": "#bb800966",
|
||||
"sideBar.background": "#181818",
|
||||
@@ -111,7 +111,7 @@
|
||||
"tab.activeBackground": "#1f1f1f",
|
||||
"tab.activeBorder": "#1f1f1f",
|
||||
"tab.activeBorderTop": "#0078d4",
|
||||
"tab.activeForeground": "#cccccc",
|
||||
"tab.activeForeground": "#ffffff",
|
||||
"tab.border": "#ffffff15",
|
||||
"tab.hoverBackground": "#1f1f1f",
|
||||
"tab.inactiveBackground": "#181818",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"activityBar.activeBorder": "#005FB8",
|
||||
"activityBar.background": "#f8f8f8",
|
||||
"activityBar.border": "#0000001a",
|
||||
"activityBar.foreground": "#3b3b3b",
|
||||
"activityBar.foreground": "#1f1f1f",
|
||||
"activityBar.inactiveForeground": "#0000009e",
|
||||
"activityBarBadge.background": "#005FB8",
|
||||
"activityBarBadge.foreground": "#ffffff",
|
||||
@@ -20,18 +20,17 @@
|
||||
"button.secondaryForeground": "#3b3b3b",
|
||||
"button.secondaryHoverBackground": "#00000034",
|
||||
"checkbox.background": "#f8f8f8",
|
||||
"checkbox.border": "#0000001a",
|
||||
"checkbox.border": "#CECECE",
|
||||
"descriptionForeground": "#3b3b3b",
|
||||
"diffEditor.insertedLineBackground": "#23863633",
|
||||
"diffEditor.insertedTextBackground": "#2386364d",
|
||||
"diffEditor.removedLineBackground": "#da363333",
|
||||
"diffEditor.removedTextBackground": "#da36334d",
|
||||
"dropdown.background": "#ffffff",
|
||||
"dropdown.border": "#0000001a",
|
||||
"dropdown.border": "#CECECE",
|
||||
"dropdown.foreground": "#3b3b3b",
|
||||
"dropdown.listBackground": "#ffffff",
|
||||
"editor.background": "#ffffff",
|
||||
"editor.findMatchBackground": "#9e6a03",
|
||||
"editor.foreground": "#3b3b3b",
|
||||
"editor.inactiveSelectionBackground": "#E5EBF1",
|
||||
"editor.selectionHighlightBackground": "#ADD6FF80",
|
||||
@@ -56,7 +55,7 @@
|
||||
"foreground": "#3b3b3b",
|
||||
"icon.foreground": "#3b3b3b",
|
||||
"input.background": "#ffffff",
|
||||
"input.border": "#0000001a",
|
||||
"input.border": "#CECECE",
|
||||
"input.foreground": "#3b3b3b",
|
||||
"input.placeholderForeground": "#00000079",
|
||||
"inputOption.activeBackground": "#005fb841",
|
||||
@@ -96,7 +95,7 @@
|
||||
"scrollbarSlider.hoverBackground": "#6e768145",
|
||||
"searchEditor.textInputBorder": "#CECECE",
|
||||
"settings.dropdownBackground": "#ffffff",
|
||||
"settings.dropdownBorder": "#0000001a",
|
||||
"settings.dropdownBorder": "#CECECE",
|
||||
"settings.headerForeground": "#1f1f1f",
|
||||
"settings.modifiedItemIndicator": "#bb800966",
|
||||
"settings.numberInputBorder": "#CECECE",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"git": {
|
||||
"name": "TypeScript-TmLanguage",
|
||||
"repositoryUrl": "https://github.com/microsoft/TypeScript-TmLanguage",
|
||||
"commitHash": "8e4e371fe8dd57560b16a44474f8cf8ca981e715"
|
||||
"commitHash": "0d73d1117e0a9b1d6635ebbe9aa37d615171b02d"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
|
||||
@@ -70,7 +70,8 @@
|
||||
"storage.type.function.arrow",
|
||||
"keyword.operator.bitwise.shift",
|
||||
"meta.brace.angle",
|
||||
"punctuation.definition.tag"
|
||||
"punctuation.definition.tag",
|
||||
"keyword.operator.assignment.compound.bitwise.ts"
|
||||
],
|
||||
"tokenTypes": {
|
||||
"meta.template.expression": "other",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/microsoft/TypeScript-TmLanguage/commit/8e4e371fe8dd57560b16a44474f8cf8ca981e715",
|
||||
"version": "https://github.com/microsoft/TypeScript-TmLanguage/commit/0d73d1117e0a9b1d6635ebbe9aa37d615171b02d",
|
||||
"name": "TypeScript",
|
||||
"scopeName": "source.ts",
|
||||
"patterns": [
|
||||
@@ -986,6 +986,9 @@
|
||||
},
|
||||
{
|
||||
"include": "#parameter-binding-element"
|
||||
},
|
||||
{
|
||||
"include": "#paren-expression"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1168,7 +1171,7 @@
|
||||
"name": "keyword.operator.assignment.ts"
|
||||
}
|
||||
},
|
||||
"end": "(?=[,);}\\]]|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<=\\S)(?<!=)(?=\\s*$)",
|
||||
"end": "(?=[,);}\\]]|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<![\\|\\&\\+\\-\\*\\/])(?<=\\S)(?<!=)(?=\\s*$)",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#expression"
|
||||
@@ -2909,6 +2912,9 @@
|
||||
},
|
||||
{
|
||||
"include": "#punctuation-comma"
|
||||
},
|
||||
{
|
||||
"include": "#decl-block"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3366,7 +3372,7 @@
|
||||
"name": "keyword.control.satisfies.ts"
|
||||
}
|
||||
},
|
||||
"end": "(?=^|[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisifies)\\s+)|(\\s+\\<))",
|
||||
"end": "(?=^|[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisfies)\\s+)|(\\s+\\<))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type"
|
||||
@@ -3472,8 +3478,11 @@
|
||||
"name": "keyword.operator.expression.typeof.ts"
|
||||
}
|
||||
},
|
||||
"end": "(?=[,);}\\]=>:&|{\\?]|$|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|type|var)\\b))",
|
||||
"end": "(?=[,);}\\]=>:&|{\\?]|(extends\\s+)|$|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|type|var)\\b))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type-arguments"
|
||||
},
|
||||
{
|
||||
"include": "#expression"
|
||||
}
|
||||
@@ -3837,7 +3846,7 @@
|
||||
"name": "keyword.operator.type.annotation.ts"
|
||||
}
|
||||
},
|
||||
"end": "(?<![:|&])((?=$|^|[,);\\}\\]]|//)|(?==[^>])|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"end": "(?<![:|&])(?!\\s*[|&]\\s+)((?=^|[,);\\}\\]]|//)|(?==[^>])|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type"
|
||||
@@ -3852,7 +3861,7 @@
|
||||
"name": "keyword.operator.type.annotation.ts"
|
||||
}
|
||||
},
|
||||
"end": "(?<![:|&])((?=[,);\\}\\]]|//)|(?==[^>])|(?=^\\s*$)|((?<=\\S)(?=\\s*$))|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"end": "(?<![:|&])((?=[,);\\}\\]]|\\/\\/)|(?==[^>])|(?=^\\s*$)|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type"
|
||||
@@ -4699,20 +4708,20 @@
|
||||
"include": "#template-call"
|
||||
},
|
||||
{
|
||||
"name": "string.template.ts",
|
||||
"contentName": "string.template.ts",
|
||||
"begin": "([_$[:alpha:]][_$[:alnum:]]*)?(`)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "entity.name.function.tagged-template.ts"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.definition.string.template.begin.ts"
|
||||
"name": "string.template.ts punctuation.definition.string.template.begin.ts"
|
||||
}
|
||||
},
|
||||
"end": "`",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.template.end.ts"
|
||||
"name": "string.template.ts punctuation.definition.string.template.end.ts"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
@@ -4729,7 +4738,6 @@
|
||||
"template-call": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "string.template.ts",
|
||||
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$[:alpha:]][_$[:alnum:]]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?`)",
|
||||
"end": "(?=`)",
|
||||
"patterns": [
|
||||
@@ -4752,7 +4760,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "string.template.ts",
|
||||
"begin": "([_$[:alpha:]][_$[:alnum:]]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)`)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
@@ -4808,20 +4815,20 @@
|
||||
"include": "#template-call"
|
||||
},
|
||||
{
|
||||
"name": "string.template.ts",
|
||||
"contentName": "string.template.ts",
|
||||
"begin": "([_$[:alpha:]][_$[:alnum:]]*)?(`)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "entity.name.function.tagged-template.ts"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.definition.string.template.begin.ts"
|
||||
"name": "string.template.ts punctuation.definition.string.template.begin.ts"
|
||||
}
|
||||
},
|
||||
"end": "`",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.template.end.ts"
|
||||
"name": "string.template.ts punctuation.definition.string.template.end.ts"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/microsoft/TypeScript-TmLanguage/commit/8e4e371fe8dd57560b16a44474f8cf8ca981e715",
|
||||
"version": "https://github.com/microsoft/TypeScript-TmLanguage/commit/0d73d1117e0a9b1d6635ebbe9aa37d615171b02d",
|
||||
"name": "TypeScriptReact",
|
||||
"scopeName": "source.tsx",
|
||||
"patterns": [
|
||||
@@ -989,6 +989,9 @@
|
||||
},
|
||||
{
|
||||
"include": "#parameter-binding-element"
|
||||
},
|
||||
{
|
||||
"include": "#paren-expression"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1171,7 +1174,7 @@
|
||||
"name": "keyword.operator.assignment.tsx"
|
||||
}
|
||||
},
|
||||
"end": "(?=[,);}\\]]|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<=\\S)(?<!=)(?=\\s*$)",
|
||||
"end": "(?=[,);}\\]]|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<![\\|\\&\\+\\-\\*\\/])(?<=\\S)(?<!=)(?=\\s*$)",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#expression"
|
||||
@@ -2912,6 +2915,9 @@
|
||||
},
|
||||
{
|
||||
"include": "#punctuation-comma"
|
||||
},
|
||||
{
|
||||
"include": "#decl-block"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3317,7 +3323,7 @@
|
||||
"name": "keyword.control.satisfies.tsx"
|
||||
}
|
||||
},
|
||||
"end": "(?=^|[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisifies)\\s+)|(\\s+\\<))",
|
||||
"end": "(?=^|[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisfies)\\s+)|(\\s+\\<))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type"
|
||||
@@ -3423,8 +3429,11 @@
|
||||
"name": "keyword.operator.expression.typeof.tsx"
|
||||
}
|
||||
},
|
||||
"end": "(?=[,);}\\]=>:&|{\\?]|$|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|type|var)\\b))",
|
||||
"end": "(?=[,);}\\]=>:&|{\\?]|(extends\\s+)|$|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|type|var)\\b))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type-arguments"
|
||||
},
|
||||
{
|
||||
"include": "#expression"
|
||||
}
|
||||
@@ -3788,7 +3797,7 @@
|
||||
"name": "keyword.operator.type.annotation.tsx"
|
||||
}
|
||||
},
|
||||
"end": "(?<![:|&])((?=$|^|[,);\\}\\]]|//)|(?==[^>])|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"end": "(?<![:|&])(?!\\s*[|&]\\s+)((?=^|[,);\\}\\]]|//)|(?==[^>])|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type"
|
||||
@@ -3803,7 +3812,7 @@
|
||||
"name": "keyword.operator.type.annotation.tsx"
|
||||
}
|
||||
},
|
||||
"end": "(?<![:|&])((?=[,);\\}\\]]|//)|(?==[^>])|(?=^\\s*$)|((?<=\\S)(?=\\s*$))|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"end": "(?<![:|&])((?=[,);\\}\\]]|\\/\\/)|(?==[^>])|(?=^\\s*$)|((?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#type"
|
||||
@@ -4650,20 +4659,20 @@
|
||||
"include": "#template-call"
|
||||
},
|
||||
{
|
||||
"name": "string.template.tsx",
|
||||
"contentName": "string.template.tsx",
|
||||
"begin": "([_$[:alpha:]][_$[:alnum:]]*)?(`)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "entity.name.function.tagged-template.tsx"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.definition.string.template.begin.tsx"
|
||||
"name": "string.template.tsx punctuation.definition.string.template.begin.tsx"
|
||||
}
|
||||
},
|
||||
"end": "`",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.template.end.tsx"
|
||||
"name": "string.template.tsx punctuation.definition.string.template.end.tsx"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
@@ -4680,7 +4689,6 @@
|
||||
"template-call": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "string.template.tsx",
|
||||
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$[:alpha:]][_$[:alnum:]]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?`)",
|
||||
"end": "(?=`)",
|
||||
"patterns": [
|
||||
@@ -4703,7 +4711,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "string.template.tsx",
|
||||
"begin": "([_$[:alpha:]][_$[:alnum:]]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)`)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
@@ -4759,20 +4766,20 @@
|
||||
"include": "#template-call"
|
||||
},
|
||||
{
|
||||
"name": "string.template.tsx",
|
||||
"contentName": "string.template.tsx",
|
||||
"begin": "([_$[:alpha:]][_$[:alnum:]]*)?(`)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "entity.name.function.tagged-template.tsx"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.definition.string.template.begin.tsx"
|
||||
"name": "string.template.tsx punctuation.definition.string.template.begin.tsx"
|
||||
}
|
||||
},
|
||||
"end": "`",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.string.template.end.tsx"
|
||||
"name": "string.template.tsx punctuation.definition.string.template.end.tsx"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
|
||||
@@ -103,7 +103,7 @@ interface LanguageDiagnosticSettings {
|
||||
|
||||
function areLanguageDiagnosticSettingsEqual(currentSettings: LanguageDiagnosticSettings, newSettings: LanguageDiagnosticSettings): boolean {
|
||||
return currentSettings.validate === newSettings.validate
|
||||
&& currentSettings.enableSuggestions && currentSettings.enableSuggestions;
|
||||
&& currentSettings.enableSuggestions === newSettings.enableSuggestions;
|
||||
}
|
||||
|
||||
class DiagnosticSettings {
|
||||
|
||||
@@ -605,11 +605,14 @@ export default class TypeScriptServiceClient extends Disposable implements IType
|
||||
this.lastStart = Date.now();
|
||||
startService = false;
|
||||
this.hasServerFatallyCrashedTooManyTimes = true;
|
||||
prompt = vscode.window.showErrorMessage(
|
||||
this.pluginManager.plugins.length
|
||||
? vscode.l10n.t("The JS/TS language service immediately crashed 5 times. The service will not be restarted.\nThis may be caused by a plugin contributed by one of these extensions: {0}", pluginExtensionList)
|
||||
: vscode.l10n.t("The JS/TS language service immediately crashed 5 times. The service will not be restarted."),
|
||||
reportIssueItem);
|
||||
if (this.pluginManager.plugins.length) {
|
||||
prompt = vscode.window.showErrorMessage<vscode.MessageItem>(
|
||||
vscode.l10n.t("The JS/TS language service immediately crashed 5 times. The service will not be restarted.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against VS Code.", pluginExtensionList));
|
||||
} else {
|
||||
prompt = vscode.window.showErrorMessage(
|
||||
vscode.l10n.t("The JS/TS language service immediately crashed 5 times. The service will not be restarted."),
|
||||
reportIssueItem);
|
||||
}
|
||||
|
||||
/* __GDPR__
|
||||
"serviceExited" : {
|
||||
@@ -623,22 +626,28 @@ export default class TypeScriptServiceClient extends Disposable implements IType
|
||||
} else if (diff < 60 * 1000 * 5 /* 5 Minutes */) {
|
||||
this.lastStart = Date.now();
|
||||
if (!this._isPromptingAfterCrash) {
|
||||
prompt = vscode.window.showWarningMessage(
|
||||
this.pluginManager.plugins.length
|
||||
? vscode.l10n.t("The JS/TS language service crashed 5 times in the last 5 Minutes.\nThis may be caused by a plugin contributed by one of these extensions: {0}", pluginExtensionList)
|
||||
: vscode.l10n.t("The JS/TS language service crashed 5 times in the last 5 Minutes."),
|
||||
reportIssueItem);
|
||||
if (this.pluginManager.plugins.length) {
|
||||
prompt = vscode.window.showWarningMessage<vscode.MessageItem>(
|
||||
vscode.l10n.t("The JS/TS language service crashed 5 times in the last 5 Minutes.\nThis may be caused by a plugin contributed by one of these extensions: {0}\nPlease try disabling these extensions before filing an issue against VS Code.", pluginExtensionList));
|
||||
} else {
|
||||
prompt = vscode.window.showWarningMessage(
|
||||
vscode.l10n.t("The JS/TS language service crashed 5 times in the last 5 Minutes."),
|
||||
reportIssueItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (['vscode-insiders', 'code-oss'].includes(vscode.env.uriScheme)) {
|
||||
// Prompt after a single restart
|
||||
this.numberRestarts = 0;
|
||||
if (!this._isPromptingAfterCrash) {
|
||||
prompt = vscode.window.showWarningMessage(
|
||||
this.pluginManager.plugins.length
|
||||
? vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}", pluginExtensionList)
|
||||
: vscode.l10n.t("The JS/TS language service crashed."),
|
||||
reportIssueItem);
|
||||
if (this.pluginManager.plugins.length) {
|
||||
prompt = vscode.window.showWarningMessage<vscode.MessageItem>(
|
||||
vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against VS Code.", pluginExtensionList));
|
||||
} else {
|
||||
prompt = vscode.window.showWarningMessage(
|
||||
vscode.l10n.t("The JS/TS language service crashed."),
|
||||
reportIssueItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1047,7 +1056,7 @@ function getReportIssueArgsForError(
|
||||
[
|
||||
`**Global TypeScript Server Plugins**`,
|
||||
`❗️ Please test with extensions disabled. Extensions are the root cause of most TypeScript server crashes`,
|
||||
globalPlugins.map(plugin => `- \`${plugin.name}\``).join('\n')
|
||||
globalPlugins.map(plugin => `- \`${plugin.name}\` contributed by the \`${plugin.extension.id}\` extension`).join('\n')
|
||||
].join('\n\n')
|
||||
);
|
||||
}
|
||||
|
||||
@@ -393,12 +393,12 @@
|
||||
},
|
||||
{
|
||||
"c": "tag",
|
||||
"t": "source.ts string.template.ts entity.name.function.tagged-template.ts",
|
||||
"t": "source.ts entity.name.function.tagged-template.ts",
|
||||
"r": {
|
||||
"dark_plus": "entity.name.function: #DCDCAA",
|
||||
"light_plus": "entity.name.function: #795E26",
|
||||
"dark_vs": "string: #CE9178",
|
||||
"light_vs": "string: #A31515",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "entity.name.function: #DCDCAA",
|
||||
"dark_plus_experimental": "entity.name.function: #DCDCAA",
|
||||
"hc_light": "entity.name.function: #5E2CBC",
|
||||
|
||||
@@ -2478,8 +2478,22 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "{ ",
|
||||
"t": "text.html.derivative meta.embedded.block.html source.js meta.objectliteral.js",
|
||||
"c": "{",
|
||||
"t": "text.html.derivative meta.embedded.block.html source.js meta.objectliteral.js meta.block.js punctuation.definition.block.js",
|
||||
"r": {
|
||||
"dark_plus": "meta.embedded: #D4D4D4",
|
||||
"light_plus": "meta.embedded: #000000",
|
||||
"dark_vs": "meta.embedded: #D4D4D4",
|
||||
"light_vs": "meta.embedded: #000000",
|
||||
"hc_black": "meta.embedded: #FFFFFF",
|
||||
"dark_plus_experimental": "meta.embedded: #D4D4D4",
|
||||
"hc_light": "meta.embedded: #292929",
|
||||
"light_plus_experimental": "meta.embedded: #000000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "text.html.derivative meta.embedded.block.html source.js meta.objectliteral.js meta.block.js",
|
||||
"r": {
|
||||
"dark_plus": "meta.embedded: #D4D4D4",
|
||||
"light_plus": "meta.embedded: #000000",
|
||||
@@ -2493,7 +2507,7 @@
|
||||
},
|
||||
{
|
||||
"c": "modules",
|
||||
"t": "text.html.derivative meta.embedded.block.html source.js meta.objectliteral.js meta.object.member.js variable.other.readwrite.js",
|
||||
"t": "text.html.derivative meta.embedded.block.html source.js meta.objectliteral.js meta.block.js variable.other.readwrite.js",
|
||||
"r": {
|
||||
"dark_plus": "variable: #9CDCFE",
|
||||
"light_plus": "variable: #001080",
|
||||
@@ -2507,7 +2521,21 @@
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "text.html.derivative meta.embedded.block.html source.js meta.objectliteral.js meta.object.member.js",
|
||||
"t": "text.html.derivative meta.embedded.block.html source.js meta.objectliteral.js meta.block.js",
|
||||
"r": {
|
||||
"dark_plus": "meta.embedded: #D4D4D4",
|
||||
"light_plus": "meta.embedded: #000000",
|
||||
"dark_vs": "meta.embedded: #D4D4D4",
|
||||
"light_vs": "meta.embedded: #000000",
|
||||
"hc_black": "meta.embedded: #FFFFFF",
|
||||
"dark_plus_experimental": "meta.embedded: #D4D4D4",
|
||||
"hc_light": "meta.embedded: #292929",
|
||||
"light_plus_experimental": "meta.embedded: #000000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "}",
|
||||
"t": "text.html.derivative meta.embedded.block.html source.js meta.objectliteral.js meta.block.js punctuation.definition.block.js",
|
||||
"r": {
|
||||
"dark_plus": "meta.embedded: #D4D4D4",
|
||||
"light_plus": "meta.embedded: #000000",
|
||||
@@ -2533,20 +2561,6 @@
|
||||
"light_plus_experimental": "meta.embedded: #000000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "}",
|
||||
"t": "text.html.derivative meta.embedded.block.html source.js",
|
||||
"r": {
|
||||
"dark_plus": "meta.embedded: #D4D4D4",
|
||||
"light_plus": "meta.embedded: #000000",
|
||||
"dark_vs": "meta.embedded: #D4D4D4",
|
||||
"light_vs": "meta.embedded: #000000",
|
||||
"hc_black": "meta.embedded: #FFFFFF",
|
||||
"dark_plus_experimental": "meta.embedded: #D4D4D4",
|
||||
"hc_light": "meta.embedded: #292929",
|
||||
"light_plus_experimental": "meta.embedded: #000000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": ",",
|
||||
"t": "text.html.derivative meta.embedded.block.html source.js punctuation.separator.comma.js",
|
||||
|
||||
@@ -228,10 +228,10 @@ to-regex-range@^5.0.1:
|
||||
dependencies:
|
||||
is-number "^7.0.0"
|
||||
|
||||
typescript@^4.9.5:
|
||||
version "4.9.5"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
|
||||
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
|
||||
typescript@^5.0.0-dev.20230224:
|
||||
version "5.0.0-dev.20230224"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.0-dev.20230224.tgz#801908424fafe3f5728320348ad0dc966960fd69"
|
||||
integrity sha512-ntlbPkFF0PM1+lmvLenUGwo+3EJPq5QAvAsw+6HA6KTOHpF3IcmYE57rcgpL54NLXhqz84RNTtcmb4dttBuBsA==
|
||||
|
||||
vscode-grammar-updater@^1.1.0:
|
||||
version "1.1.0"
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "code-oss-dev",
|
||||
"version": "1.76.0",
|
||||
"distro": "1112bcec9676e1fbef79686e72269b95b715ef3a",
|
||||
"version": "1.77.0",
|
||||
"distro": "5c3ced825bd240368133d5253c94a0e5588168ae",
|
||||
"author": {
|
||||
"name": "Microsoft Corporation"
|
||||
},
|
||||
@@ -210,7 +210,7 @@
|
||||
"ts-loader": "^9.2.7",
|
||||
"ts-node": "^10.9.1",
|
||||
"tsec": "0.1.4",
|
||||
"typescript": "^5.0.0-dev.20230209",
|
||||
"typescript": "^5.0.0-dev.20230224",
|
||||
"typescript-formatter": "7.1.0",
|
||||
"underscore": "^1.12.1",
|
||||
"util": "^0.12.4",
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@
|
||||
},
|
||||
{
|
||||
"name": "ms-vscode.js-debug",
|
||||
"version": "1.75.1",
|
||||
"version": "1.76.0",
|
||||
"repo": "https://github.com/microsoft/vscode-js-debug",
|
||||
"metadata": {
|
||||
"id": "25629058-ddac-4e17-abba-74678e126c5d",
|
||||
|
||||
Vendored
+1
-1
@@ -73,6 +73,6 @@ exports.load = function (entrypoint, onLoad, onError) {
|
||||
onLoad = onLoad || function () { };
|
||||
onError = onError || function (err) { console.error(err); };
|
||||
|
||||
performance.mark(`code/fork/willLoadCode`);
|
||||
performance.mark('code/fork/willLoadCode');
|
||||
loader([entrypoint], onLoad, onError);
|
||||
};
|
||||
|
||||
Vendored
+15
-6
@@ -239,13 +239,22 @@ function terminateWhenParentTerminates() {
|
||||
function configureCrashReporter() {
|
||||
const crashReporterSandboxedHint = process.env['VSCODE_CRASH_REPORTER_SANDBOXED_HINT'];
|
||||
if (crashReporterSandboxedHint) {
|
||||
try {
|
||||
if (process['crashReporter'] && typeof process['crashReporter'].addExtraParameter === 'function' /* Electron only */) {
|
||||
process['crashReporter'].addExtraParameter('_sandboxed', 'true');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
addCrashReporterParameter('_sandboxed', 'true');
|
||||
}
|
||||
|
||||
const crashReporterProcessType = process.env['VSCODE_CRASH_REPORTER_PROCESS_TYPE'];
|
||||
if (crashReporterProcessType) {
|
||||
addCrashReporterParameter('processType', crashReporterProcessType);
|
||||
}
|
||||
}
|
||||
|
||||
function addCrashReporterParameter(key, value) {
|
||||
try {
|
||||
if (process['crashReporter'] && typeof process['crashReporter'].addExtraParameter === 'function' /* Electron only */) {
|
||||
process['crashReporter'].addExtraParameter(key, value);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+5
-3
@@ -103,10 +103,12 @@ let osLocale = undefined;
|
||||
// Ref https://github.com/microsoft/vscode/issues/159813
|
||||
// and https://github.com/electron/electron/pull/36035
|
||||
if ('getPreferredSystemLanguages' in app
|
||||
&& typeof app.getPreferredSystemLanguages === 'function'
|
||||
&& app.getPreferredSystemLanguages().length) {
|
||||
&& typeof app.getPreferredSystemLanguages === 'function') {
|
||||
// Use the most preferred OS language for language recommendation.
|
||||
osLocale = app.getPreferredSystemLanguages()[0];
|
||||
// The API might return an empty array on Linux, such as when
|
||||
// the 'C' locale is the user's only configured locale.
|
||||
// No matter the OS, if the array is empty, default back to 'en'.
|
||||
osLocale = app.getPreferredSystemLanguages()?.[0] ?? 'en';
|
||||
if (osLocale) {
|
||||
osLocale = processZhLocale(osLocale.toLowerCase());
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { COI } from 'vs/base/common/network';
|
||||
import { globals } from 'vs/base/common/platform';
|
||||
import { IWorker, IWorkerCallback, IWorkerFactory, logOnceWebWorkerWarning } from 'vs/base/common/worker/simpleWorker';
|
||||
|
||||
const ttPolicy = window.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });
|
||||
@@ -18,12 +17,17 @@ export function createBlobWorker(blobUrl: string, options?: WorkerOptions): Work
|
||||
|
||||
function getWorker(label: string): Worker | Promise<Worker> {
|
||||
// Option for hosts to overwrite the worker script (used in the standalone editor)
|
||||
if (globals.MonacoEnvironment) {
|
||||
if (typeof globals.MonacoEnvironment.getWorker === 'function') {
|
||||
return globals.MonacoEnvironment.getWorker('workerMain.js', label);
|
||||
interface IMonacoEnvironment {
|
||||
getWorker?(moduleId: string, label: string): Worker | Promise<Worker>;
|
||||
getWorkerUrl?(moduleId: string, label: string): string;
|
||||
}
|
||||
const monacoEnvironment: IMonacoEnvironment | undefined = (globalThis as any).MonacoEnvironment;
|
||||
if (monacoEnvironment) {
|
||||
if (typeof monacoEnvironment.getWorker === 'function') {
|
||||
return monacoEnvironment.getWorker('workerMain.js', label);
|
||||
}
|
||||
if (typeof globals.MonacoEnvironment.getWorkerUrl === 'function') {
|
||||
const workerUrl = <string>globals.MonacoEnvironment.getWorkerUrl('workerMain.js', label);
|
||||
if (typeof monacoEnvironment.getWorkerUrl === 'function') {
|
||||
const workerUrl = monacoEnvironment.getWorkerUrl('workerMain.js', label);
|
||||
return new Worker(ttPolicy ? ttPolicy.createScriptURL(workerUrl) as unknown as string : workerUrl, { name: label });
|
||||
}
|
||||
}
|
||||
@@ -40,12 +44,12 @@ function getWorker(label: string): Worker | Promise<Worker> {
|
||||
|
||||
// ESM-comment-begin
|
||||
export function getWorkerBootstrapUrl(scriptPath: string, label: string): string {
|
||||
if (/^((http:)|(https:)|(file:))/.test(scriptPath) && scriptPath.substring(0, self.origin.length) !== self.origin) {
|
||||
if (/^((http:)|(https:)|(file:))/.test(scriptPath) && scriptPath.substring(0, globalThis.origin.length) !== globalThis.origin) {
|
||||
// this is the cross-origin case
|
||||
// i.e. the webpage is running at a different origin than where the scripts are loaded from
|
||||
const myPath = 'vs/base/worker/defaultWorkerFactory.js';
|
||||
const workerBaseUrl = require.toUrl(myPath).slice(0, -myPath.length); // explicitly using require.toUrl(), see https://github.com/microsoft/vscode/issues/107440#issuecomment-698982321
|
||||
const js = `/*${label}*/self.MonacoEnvironment={baseUrl: '${workerBaseUrl}'};const ttPolicy = self.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });importScripts(ttPolicy?.createScriptURL('${scriptPath}') ?? '${scriptPath}');/*${label}*/`;
|
||||
const js = `/*${label}*/globalThis.MonacoEnvironment={baseUrl: '${workerBaseUrl}'};const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });importScripts(ttPolicy?.createScriptURL('${scriptPath}') ?? '${scriptPath}');/*${label}*/`;
|
||||
const blob = new Blob([js], { type: 'application/javascript' });
|
||||
return URL.createObjectURL(blob);
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ export class StandardMouseEvent implements IMouseEvent {
|
||||
}
|
||||
|
||||
// Find the position of the iframe this code is executing in relative to the iframe where the event was captured.
|
||||
const iframeOffsets = IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow(self, e.view);
|
||||
const iframeOffsets = IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow(window, e.view);
|
||||
this.posx -= iframeOffsets.left;
|
||||
this.posy -= iframeOffsets.top;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { $ } from 'vs/base/browser/dom';
|
||||
import { $, IDomNodePagePosition } from 'vs/base/browser/dom';
|
||||
import { IView, IViewSize } from 'vs/base/browser/ui/grid/grid';
|
||||
import { IBoundarySashes } from 'vs/base/browser/ui/sash/sash';
|
||||
import { DistributeSizing, ISplitViewStyles, IView as ISplitViewView, Orientation, SplitView } from 'vs/base/browser/ui/splitview/splitview';
|
||||
@@ -61,8 +61,7 @@ export interface ICenteredViewStyles extends ISplitViewStyles {
|
||||
export class CenteredViewLayout implements IDisposable {
|
||||
|
||||
private splitView?: SplitView<{ top: number; left: number }>;
|
||||
private width: number = 0;
|
||||
private height: number = 0;
|
||||
private lastLayoutPosition: IDomNodePagePosition = { width: 0, height: 0, left: 0, top: 0 };
|
||||
private style!: ICenteredViewStyles;
|
||||
private didLayout = false;
|
||||
private emptyViews: ISplitViewView<{ top: number; left: number }>[] | undefined;
|
||||
@@ -99,10 +98,9 @@ export class CenteredViewLayout implements IDisposable {
|
||||
}
|
||||
|
||||
layout(width: number, height: number, top: number, left: number): void {
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
this.lastLayoutPosition = { width, height, top, left };
|
||||
if (this.splitView) {
|
||||
this.splitView.layout(width);
|
||||
this.splitView.layout(width, this.lastLayoutPosition);
|
||||
if (!this.didLayout || this.centeredLayoutFixedWidth) {
|
||||
this.resizeSplitViews();
|
||||
}
|
||||
@@ -118,16 +116,15 @@ export class CenteredViewLayout implements IDisposable {
|
||||
return;
|
||||
}
|
||||
if (this.centeredLayoutFixedWidth) {
|
||||
|
||||
const centerViewWidth = Math.min(this.width, this.state.targetWidth);
|
||||
const marginWidthFloat = (this.width - centerViewWidth) / 2;
|
||||
const centerViewWidth = Math.min(this.lastLayoutPosition.width, this.state.targetWidth);
|
||||
const marginWidthFloat = (this.lastLayoutPosition.width - centerViewWidth) / 2;
|
||||
this.splitView.resizeView(0, Math.floor(marginWidthFloat));
|
||||
this.splitView.resizeView(1, centerViewWidth);
|
||||
this.splitView.resizeView(2, Math.ceil(marginWidthFloat));
|
||||
} else {
|
||||
const leftMargin = this.state.leftMarginRatio * this.width;
|
||||
const rightMargin = this.state.rightMarginRatio * this.width;
|
||||
const center = this.width - leftMargin - rightMargin;
|
||||
const leftMargin = this.state.leftMarginRatio * this.lastLayoutPosition.width;
|
||||
const rightMargin = this.state.rightMarginRatio * this.lastLayoutPosition.width;
|
||||
const center = this.lastLayoutPosition.width - leftMargin - rightMargin;
|
||||
this.splitView.resizeView(0, leftMargin);
|
||||
this.splitView.resizeView(1, center);
|
||||
this.splitView.resizeView(2, rightMargin);
|
||||
@@ -145,8 +142,8 @@ export class CenteredViewLayout implements IDisposable {
|
||||
private updateState() {
|
||||
if (!!this.splitView) {
|
||||
this.state.targetWidth = this.splitView.getViewSize(1);
|
||||
this.state.leftMarginRatio = this.splitView.getViewSize(0) / this.width;
|
||||
this.state.rightMarginRatio = this.splitView.getViewSize(2) / this.width;
|
||||
this.state.leftMarginRatio = this.splitView.getViewSize(0) / this.lastLayoutPosition.width;
|
||||
this.state.rightMarginRatio = this.splitView.getViewSize(2) / this.lastLayoutPosition.width;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -188,12 +185,12 @@ export class CenteredViewLayout implements IDisposable {
|
||||
this.resizeSplitViews();
|
||||
}));
|
||||
|
||||
this.splitView.layout(this.width);
|
||||
this.splitView.layout(this.lastLayoutPosition.width, this.lastLayoutPosition);
|
||||
const backgroundColor = this.style ? this.style.background : undefined;
|
||||
this.emptyViews = [createEmptyView(backgroundColor), createEmptyView(backgroundColor)];
|
||||
|
||||
this.splitView.addView(this.emptyViews[0], distributeSizing, 0);
|
||||
this.splitView.addView(toSplitViewView(this.view, () => this.height), distributeSizing, 1);
|
||||
this.splitView.addView(toSplitViewView(this.view, () => this.lastLayoutPosition.height), distributeSizing, 1);
|
||||
this.splitView.addView(this.emptyViews[1], distributeSizing, 2);
|
||||
|
||||
this.resizeSplitViews();
|
||||
@@ -206,7 +203,7 @@ export class CenteredViewLayout implements IDisposable {
|
||||
this.splitView = undefined;
|
||||
this.emptyViews = undefined;
|
||||
this.container.appendChild(this.view.element);
|
||||
this.view.layout(this.width, this.height, 0, 0);
|
||||
this.view.layout(this.lastLayoutPosition.width, this.lastLayoutPosition.height, this.lastLayoutPosition.top, this.lastLayoutPosition.left);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1383,12 +1383,14 @@ export class SplitView<TLayoutContext = undefined> extends Disposable {
|
||||
}
|
||||
|
||||
override dispose(): void {
|
||||
super.dispose();
|
||||
this.sashDragState?.disposable.dispose();
|
||||
|
||||
dispose(this.viewItems);
|
||||
this.viewItems = [];
|
||||
|
||||
this.sashItems.forEach(i => i.disposable.dispose());
|
||||
this.sashItems = [];
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -632,3 +632,35 @@ export class LRUCache<K, V> extends LinkedMap<K, V> {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class CounterSet<T> {
|
||||
|
||||
private map = new Map<T, number>();
|
||||
|
||||
add(value: T): CounterSet<T> {
|
||||
this.map.set(value, (this.map.get(value) || 0) + 1);
|
||||
return this;
|
||||
}
|
||||
|
||||
delete(value: T): boolean {
|
||||
let counter = this.map.get(value) || 0;
|
||||
|
||||
if (counter === 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
counter--;
|
||||
|
||||
if (counter === 0) {
|
||||
this.map.delete(value);
|
||||
} else {
|
||||
this.map.set(value, counter);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
has(value: T): boolean {
|
||||
return this.map.has(value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,7 @@ export interface INodeProcess {
|
||||
env: IProcessEnvironment;
|
||||
versions?: {
|
||||
electron?: string;
|
||||
chrome?: string;
|
||||
};
|
||||
type?: string;
|
||||
cwd: () => string;
|
||||
@@ -135,7 +136,9 @@ export const enum Platform {
|
||||
Linux,
|
||||
Windows
|
||||
}
|
||||
export function PlatformToString(platform: Platform) {
|
||||
export type PlatformName = 'Web' | 'Windows' | 'Mac' | 'Linux';
|
||||
|
||||
export function PlatformToString(platform: Platform): PlatformName {
|
||||
switch (platform) {
|
||||
case Platform.Web: return 'Web';
|
||||
case Platform.Mac: return 'Mac';
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { IStringDictionary } from 'vs/base/common/collections';
|
||||
import { PlatformName } from 'vs/base/common/platform';
|
||||
|
||||
export interface IBuiltInExtension {
|
||||
readonly name: string;
|
||||
@@ -198,11 +199,13 @@ export interface IExeBasedExtensionTip {
|
||||
export interface IRemoteExtensionTip {
|
||||
friendlyName: string;
|
||||
extensionId: string;
|
||||
supportedPlatforms?: PlatformName[];
|
||||
}
|
||||
|
||||
export interface IVirtualWorkspaceExtensionTip {
|
||||
friendlyName: string;
|
||||
extensionId: string;
|
||||
supportedPlatforms?: PlatformName[];
|
||||
}
|
||||
|
||||
export interface ISurveyData {
|
||||
|
||||
@@ -7,7 +7,7 @@ import { transformErrorForSerialization } from 'vs/base/common/errors';
|
||||
import { Emitter, Event } from 'vs/base/common/event';
|
||||
import { Disposable, IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { getAllMethodNames } from 'vs/base/common/objects';
|
||||
import { globals, isWeb } from 'vs/base/common/platform';
|
||||
import { isWeb } from 'vs/base/common/platform';
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
|
||||
const INITIALIZE = '$initialize';
|
||||
@@ -324,12 +324,14 @@ export class SimpleWorkerClient<W extends object, H extends object> extends Disp
|
||||
|
||||
// Gather loader configuration
|
||||
let loaderConfiguration: any = null;
|
||||
if (typeof globals.require !== 'undefined' && typeof globals.require.getConfig === 'function') {
|
||||
|
||||
const globalRequire: { getConfig?(): object } | undefined = (globalThis as any).require;
|
||||
if (typeof globalRequire !== 'undefined' && typeof globalRequire.getConfig === 'function') {
|
||||
// Get the configuration from the Monaco AMD Loader
|
||||
loaderConfiguration = globals.require.getConfig();
|
||||
} else if (typeof globals.requirejs !== 'undefined') {
|
||||
loaderConfiguration = globalRequire.getConfig();
|
||||
} else if (typeof (globalThis as any).requirejs !== 'undefined') {
|
||||
// Get the configuration from requirejs
|
||||
loaderConfiguration = globals.requirejs.s.contexts._.config;
|
||||
loaderConfiguration = (globalThis as any).requirejs.s.contexts._.config;
|
||||
}
|
||||
|
||||
const hostMethods = getAllMethodNames(host);
|
||||
@@ -527,17 +529,17 @@ export class SimpleWorkerServer<H extends object> {
|
||||
|
||||
// Since this is in a web worker, enable catching errors
|
||||
loaderConfig.catchError = true;
|
||||
globals.require.config(loaderConfig);
|
||||
globalThis.require.config(loaderConfig);
|
||||
}
|
||||
|
||||
return new Promise<string[]>((resolve, reject) => {
|
||||
// Use the global require to be sure to get the global config
|
||||
|
||||
// ESM-comment-begin
|
||||
const req = (globals.require || require);
|
||||
const req = (globalThis.require || require);
|
||||
// ESM-comment-end
|
||||
// ESM-uncomment-begin
|
||||
// const req = globals.require;
|
||||
// const req = globalThis.require;
|
||||
// ESM-uncomment-end
|
||||
|
||||
req([moduleId], (module: { create: IRequestHandlerFactory<H> }) => {
|
||||
|
||||
@@ -112,33 +112,32 @@
|
||||
* @param {string | undefined} language
|
||||
*/
|
||||
function getNLSConfiguration(commit, userDataPath, metaDataFile, locale, language) {
|
||||
if (process.env['VSCODE_DEV']) {
|
||||
const defaultResult = function (locale) {
|
||||
perf.mark('code/didGenerateNls');
|
||||
return Promise.resolve({ locale, availableLanguages: {} });
|
||||
};
|
||||
perf.mark('code/willGenerateNls');
|
||||
|
||||
// We are in development mode. So we don't have a built version
|
||||
if (process.env['VSCODE_DEV']) {
|
||||
return defaultResult(locale);
|
||||
}
|
||||
|
||||
// Also in development mode if we don't have a commit
|
||||
if (!commit) {
|
||||
return defaultResult(locale);
|
||||
}
|
||||
|
||||
// We have a built version so we have extracted nls file. Try to find
|
||||
// the right file to use.
|
||||
|
||||
// If we didn't specify a language, use the default
|
||||
if (!language) {
|
||||
return Promise.resolve({ locale, availableLanguages: {} });
|
||||
// If we didn't specify a language, or if we specified English or English US,
|
||||
// use the default.
|
||||
if (!language || language === 'en' || language === 'en-us') {
|
||||
return defaultResult(locale);
|
||||
}
|
||||
|
||||
// If we specified English or English US, return that as the available language.
|
||||
if (language === 'en' || language === 'en-us') {
|
||||
return Promise.resolve({ locale, availableLanguages: { '*': 'en' } });
|
||||
}
|
||||
|
||||
perf.mark('code/willGenerateNls');
|
||||
|
||||
const defaultResult = function (locale) {
|
||||
perf.mark('code/didGenerateNls');
|
||||
return Promise.resolve({ locale, availableLanguages: {} });
|
||||
};
|
||||
try {
|
||||
if (!commit) {
|
||||
return defaultResult(locale);
|
||||
}
|
||||
return getLanguagePackConfigurations(userDataPath).then(configs => {
|
||||
if (!configs) {
|
||||
return defaultResult(locale);
|
||||
|
||||
+10
-31
@@ -48,13 +48,8 @@ export function listProcesses(rootPid: number): Promise<ProcessItem> {
|
||||
|
||||
function findName(cmd: string): string {
|
||||
|
||||
const SHARED_PROCESS_HINT = /--vscode-window-kind=shared-process/i; // TODO@bpasero remove me
|
||||
const ISSUE_REPORTER_HINT = /--vscode-window-kind=issue-reporter/i;
|
||||
const PROCESS_EXPLORER_HINT = /--vscode-window-kind=process-explorer/i;
|
||||
const UTILITY_NETWORK_HINT = /--utility-sub-type=network/i;
|
||||
const UTILITY_EXTENSION_HOST_HINT = /--vscode-utility-kind=extensionHost/i;
|
||||
const UTILITY_FILE_WATCHER_HOST_HINT = /--vscode-utility-kind=fileWatcher/i;
|
||||
const UTILITY_SHARED_PROCESS_HINT = /--vscode-utility-kind=shared-process/i;
|
||||
const NODEJS_PROCESS_HINT = /--ms-enable-electron-run-as-node/i;
|
||||
const WINDOWS_CRASH_REPORTER = /--crashes-directory/i;
|
||||
const WINDOWS_PTY = /\\pipe\\winpty-control/i;
|
||||
const WINDOWS_CONSOLE_HOST = /conhost\.exe/i;
|
||||
@@ -70,7 +65,7 @@ export function listProcesses(rootPid: number): Promise<ProcessItem> {
|
||||
return 'winpty-process';
|
||||
}
|
||||
|
||||
//find windows console host process
|
||||
// find windows console host process
|
||||
if (WINDOWS_CONSOLE_HOST.exec(cmd)) {
|
||||
return 'console-window-host (Windows internal process)';
|
||||
}
|
||||
@@ -79,35 +74,13 @@ export function listProcesses(rootPid: number): Promise<ProcessItem> {
|
||||
let matches = TYPE.exec(cmd);
|
||||
if (matches && matches.length === 2) {
|
||||
if (matches[1] === 'renderer') {
|
||||
if (SHARED_PROCESS_HINT.exec(cmd)) {
|
||||
return 'shared-process';
|
||||
}
|
||||
|
||||
if (ISSUE_REPORTER_HINT.exec(cmd)) {
|
||||
return 'issue-reporter';
|
||||
}
|
||||
|
||||
if (PROCESS_EXPLORER_HINT.exec(cmd)) {
|
||||
return 'process-explorer';
|
||||
}
|
||||
|
||||
return `window`;
|
||||
} else if (matches[1] === 'utility') {
|
||||
if (UTILITY_NETWORK_HINT.exec(cmd)) {
|
||||
return 'utility-network-service';
|
||||
}
|
||||
|
||||
if (UTILITY_EXTENSION_HOST_HINT.exec(cmd)) {
|
||||
return 'extension-host';
|
||||
}
|
||||
|
||||
if (UTILITY_FILE_WATCHER_HOST_HINT.exec(cmd)) {
|
||||
return 'file-watcher';
|
||||
}
|
||||
|
||||
if (UTILITY_SHARED_PROCESS_HINT.exec(cmd)) {
|
||||
return 'shared-process';
|
||||
}
|
||||
return 'utility-process';
|
||||
} else if (matches[1] === 'extensionHost') {
|
||||
return 'extension-host'; // normalize remote extension host type
|
||||
}
|
||||
@@ -126,9 +99,15 @@ export function listProcesses(rootPid: number): Promise<ProcessItem> {
|
||||
|
||||
if (result) {
|
||||
if (cmd.indexOf('node ') < 0 && cmd.indexOf('node.exe') < 0) {
|
||||
return `electron_node ${result}`;
|
||||
return `electron-nodejs (${result})`;
|
||||
}
|
||||
}
|
||||
|
||||
// find Electron node.js processes
|
||||
if (NODEJS_PROCESS_HINT.exec(cmd)) {
|
||||
return `electron-nodejs (${cmd})`;
|
||||
}
|
||||
|
||||
return cmd;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,9 @@ import * as nls from 'vs/nls';
|
||||
import { Entry, open as _openZip, ZipFile } from 'yauzl';
|
||||
import * as yazl from 'yazl';
|
||||
|
||||
export const CorruptZipMessage: string = 'end of central directory record signature not found';
|
||||
const CORRUPT_ZIP_PATTERN = new RegExp(CorruptZipMessage);
|
||||
|
||||
export interface IExtractOptions {
|
||||
overwrite?: boolean;
|
||||
|
||||
@@ -63,7 +66,7 @@ function toExtractError(err: Error): ExtractError {
|
||||
|
||||
let type: ExtractErrorType | undefined = undefined;
|
||||
|
||||
if (/end of central directory record signature not found/.test(err.message)) {
|
||||
if (CORRUPT_ZIP_PATTERN.test(err.message)) {
|
||||
type = 'CorruptZip';
|
||||
}
|
||||
|
||||
|
||||
@@ -949,7 +949,7 @@ export class IPCServer<TContext = string> implements IChannelServer<TContext>, I
|
||||
* An `IPCClient` is both a channel client and a channel server.
|
||||
*
|
||||
* As the owner of a protocol, you should extend both this
|
||||
* and the `IPCClient` classes to get IPC implementations
|
||||
* and the `IPCServer` classes to get IPC implementations
|
||||
* for your protocol.
|
||||
*/
|
||||
export class IPCClient<TContext = string> implements IChannelClient, IChannelServer<TContext>, IDisposable {
|
||||
|
||||
@@ -189,7 +189,15 @@ export class NodeSocket implements ISocket {
|
||||
}
|
||||
|
||||
const enum Constants {
|
||||
MinHeaderByteSize = 2
|
||||
MinHeaderByteSize = 2,
|
||||
/**
|
||||
* If we need to write a large buffer, we will split it into 256KB chunks and
|
||||
* send each chunk as a websocket message. This is to prevent that the sending
|
||||
* side is stuck waiting for the entire buffer to be compressed before writing
|
||||
* to the underlying socket or that the receiving side is stuck waiting for the
|
||||
* entire message to be received before processing the bytes.
|
||||
*/
|
||||
MaxWebSocketMessageLength = 256 * 1024 // 256 KB
|
||||
}
|
||||
|
||||
const enum ReadState {
|
||||
@@ -272,7 +280,14 @@ export class WebSocketNodeSocket extends Disposable implements ISocket, ISocketT
|
||||
}));
|
||||
this._incomingData = new ChunkStream();
|
||||
this._register(this.socket.onData(data => this._acceptChunk(data)));
|
||||
this._register(this.socket.onClose((e) => this._onClose.fire(e)));
|
||||
this._register(this.socket.onClose(async (e) => {
|
||||
// Delay surfacing the close event until the async inflating is done
|
||||
// and all data has been emitted
|
||||
if (this._flowManager.isProcessingReadQueue()) {
|
||||
await Event.toPromise(this._flowManager.onDidFinishProcessingReadQueue);
|
||||
}
|
||||
this._onClose.fire(e);
|
||||
}));
|
||||
}
|
||||
|
||||
public override dispose(): void {
|
||||
@@ -300,7 +315,23 @@ export class WebSocketNodeSocket extends Disposable implements ISocket, ISocketT
|
||||
}
|
||||
|
||||
public write(buffer: VSBuffer): void {
|
||||
this._flowManager.writeMessage(buffer);
|
||||
// If we write many logical messages (let's say 1000 messages of 100KB) during a single process tick, we do
|
||||
// this thing where we install a process.nextTick timer and group all of them together and we then issue a
|
||||
// single WebSocketNodeSocket.write with a 100MB buffer.
|
||||
//
|
||||
// The first problem is that the actual writing to the underlying node socket will only happen after all of
|
||||
// the 100MB have been deflated (due to waiting on zlib flush). The second problem is on the reading side,
|
||||
// where we will get a single WebSocketNodeSocket.onData event fired when all the 100MB have arrived,
|
||||
// delaying processing the 1000 received messages until all have arrived, instead of processing them as each
|
||||
// one arrives.
|
||||
//
|
||||
// We therefore split the buffer into chunks, and issue a write for each chunk.
|
||||
|
||||
let start = 0;
|
||||
while (start < buffer.byteLength) {
|
||||
this._flowManager.writeMessage(buffer.slice(start, Math.min(start + Constants.MaxWebSocketMessageLength, buffer.byteLength)));
|
||||
start += Constants.MaxWebSocketMessageLength;
|
||||
}
|
||||
}
|
||||
|
||||
private _write(buffer: VSBuffer, compressed: boolean): void {
|
||||
@@ -465,6 +496,9 @@ class WebSocketFlowManager extends Disposable {
|
||||
private readonly _writeQueue: VSBuffer[] = [];
|
||||
private readonly _readQueue: { data: VSBuffer; isCompressed: boolean; isLastFrameOfMessage: boolean }[] = [];
|
||||
|
||||
private readonly _onDidFinishProcessingReadQueue = this._register(new Emitter<void>());
|
||||
public readonly onDidFinishProcessingReadQueue = this._onDidFinishProcessingReadQueue.event;
|
||||
|
||||
private readonly _onDidFinishProcessingWriteQueue = this._register(new Emitter<void>());
|
||||
public readonly onDidFinishProcessingWriteQueue = this._onDidFinishProcessingWriteQueue.event;
|
||||
|
||||
@@ -565,6 +599,11 @@ class WebSocketFlowManager extends Disposable {
|
||||
}
|
||||
}
|
||||
this._isProcessingReadQueue = false;
|
||||
this._onDidFinishProcessingReadQueue.fire();
|
||||
}
|
||||
|
||||
public isProcessingReadQueue(): boolean {
|
||||
return (this._isProcessingReadQueue);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -733,14 +772,10 @@ export function createRandomIPCHandle(): string {
|
||||
return `\\\\.\\pipe\\vscode-ipc-${randomSuffix}-sock`;
|
||||
}
|
||||
|
||||
// Mac/Unix: use socket file and prefer
|
||||
// XDG_RUNTIME_DIR over tmpDir
|
||||
let result: string;
|
||||
if (XDG_RUNTIME_DIR) {
|
||||
result = join(XDG_RUNTIME_DIR, `vscode-ipc-${randomSuffix}.sock`);
|
||||
} else {
|
||||
result = join(getNodeDependencies().os.tmpdir(), `vscode-ipc-${randomSuffix}.sock`);
|
||||
}
|
||||
// Mac & Unix: Use socket file
|
||||
// Unix: Prefer XDG_RUNTIME_DIR over user data path
|
||||
const basePath = process.platform !== 'darwin' && XDG_RUNTIME_DIR ? XDG_RUNTIME_DIR : getNodeDependencies().os.tmpdir();
|
||||
const result = join(basePath, `vscode-ipc-${randomSuffix}.sock`);
|
||||
|
||||
// Validate length
|
||||
validateIPCHandleLength(result);
|
||||
@@ -756,14 +791,20 @@ export function createStaticIPCHandle(directoryPath: string, type: string, versi
|
||||
return `\\\\.\\pipe\\${scope}-${version}-${type}-sock`;
|
||||
}
|
||||
|
||||
// Mac/Unix: use socket file and prefer
|
||||
// XDG_RUNTIME_DIR over user data path
|
||||
// unless portable
|
||||
// Mac & Unix: Use socket file
|
||||
// Unix: Prefer XDG_RUNTIME_DIR over user data path, unless portable
|
||||
// Trim the version and type values for the socket to prevent too large
|
||||
// file names causing issues: https://unix.stackexchange.com/q/367008
|
||||
|
||||
const versionForSocket = version.substr(0, 4);
|
||||
const typeForSocket = type.substr(0, 6);
|
||||
const scopeForSocket = scope.substr(0, 8);
|
||||
|
||||
let result: string;
|
||||
if (XDG_RUNTIME_DIR && !process.env['VSCODE_PORTABLE']) {
|
||||
result = join(XDG_RUNTIME_DIR, `vscode-${scope.substr(0, 8)}-${version}-${type}.sock`);
|
||||
if (process.platform !== 'darwin' && XDG_RUNTIME_DIR && !process.env['VSCODE_PORTABLE']) {
|
||||
result = join(XDG_RUNTIME_DIR, `vscode-${scopeForSocket}-${versionForSocket}-${typeForSocket}.sock`);
|
||||
} else {
|
||||
result = join(directoryPath, `${version}-${type}.sock`);
|
||||
result = join(directoryPath, `${versionForSocket}-${typeForSocket}.sock`);
|
||||
}
|
||||
|
||||
// Validate length
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
import * as assert from 'assert';
|
||||
import { EventEmitter } from 'events';
|
||||
import { createServer, Socket } from 'net';
|
||||
import { AddressInfo, connect, createServer, Server, Socket } from 'net';
|
||||
import { tmpdir } from 'os';
|
||||
import { Barrier, timeout } from 'vs/base/common/async';
|
||||
import { VSBuffer } from 'vs/base/common/buffer';
|
||||
@@ -706,4 +706,63 @@ suite('WebSocketNodeSocket', () => {
|
||||
assert.deepStrictEqual(actual, 'Helloworld');
|
||||
});
|
||||
});
|
||||
|
||||
test('Large buffers are split and sent in chunks', async () => {
|
||||
|
||||
let receivingSideOnDataCallCount = 0;
|
||||
let receivingSideTotalBytes = 0;
|
||||
const receivingSideSocketClosedBarrier = new Barrier();
|
||||
|
||||
const server = await listenOnRandomPort((socket) => {
|
||||
// stop the server when the first connection is received
|
||||
server.close();
|
||||
|
||||
const webSocketNodeSocket = new WebSocketNodeSocket(new NodeSocket(socket), true, null, false);
|
||||
webSocketNodeSocket.onData((data) => {
|
||||
receivingSideOnDataCallCount++;
|
||||
receivingSideTotalBytes += data.byteLength;
|
||||
});
|
||||
|
||||
webSocketNodeSocket.onClose(() => {
|
||||
webSocketNodeSocket.dispose();
|
||||
receivingSideSocketClosedBarrier.open();
|
||||
});
|
||||
});
|
||||
|
||||
const socket = connect({
|
||||
host: '127.0.0.1',
|
||||
port: (<AddressInfo>server.address()).port
|
||||
});
|
||||
|
||||
const buff = generateRandomBuffer(1 * 1024 * 1024);
|
||||
|
||||
const webSocketNodeSocket = new WebSocketNodeSocket(new NodeSocket(socket), true, null, false);
|
||||
webSocketNodeSocket.write(buff);
|
||||
await webSocketNodeSocket.drain();
|
||||
webSocketNodeSocket.dispose();
|
||||
await receivingSideSocketClosedBarrier.wait();
|
||||
|
||||
assert.strictEqual(receivingSideTotalBytes, buff.byteLength);
|
||||
assert.strictEqual(receivingSideOnDataCallCount, 4);
|
||||
});
|
||||
|
||||
function generateRandomBuffer(size: number): VSBuffer {
|
||||
const buff = VSBuffer.alloc(size);
|
||||
for (let i = 0; i < size; i++) {
|
||||
buff.writeUInt8(Math.floor(256 * Math.random()), i);
|
||||
}
|
||||
return buff;
|
||||
}
|
||||
|
||||
function listenOnRandomPort(handler: (socket: Socket) => void): Promise<Server> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const server = createServer(handler).listen(0);
|
||||
server.on('listening', () => {
|
||||
resolve(server);
|
||||
});
|
||||
server.on('error', (err) => {
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
(function () {
|
||||
|
||||
const MonacoEnvironment = (<any>self).MonacoEnvironment;
|
||||
const MonacoEnvironment = (<any>globalThis).MonacoEnvironment;
|
||||
const monacoBaseUrl = MonacoEnvironment && MonacoEnvironment.baseUrl ? MonacoEnvironment.baseUrl : '../../../';
|
||||
|
||||
const trustedTypesPolicy = (
|
||||
@@ -29,10 +29,10 @@
|
||||
try {
|
||||
const func = (
|
||||
trustedTypesPolicy
|
||||
? self.eval(<any>trustedTypesPolicy.createScript('', 'true'))
|
||||
? globalThis.eval(<any>trustedTypesPolicy.createScript('', 'true'))
|
||||
: new Function('true')
|
||||
);
|
||||
func.call(self);
|
||||
func.call(globalThis);
|
||||
return true;
|
||||
} catch (err) {
|
||||
return false;
|
||||
@@ -41,12 +41,12 @@
|
||||
|
||||
function loadAMDLoader() {
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
if (typeof (<any>self).define === 'function' && (<any>self).define.amd) {
|
||||
if (typeof (<any>globalThis).define === 'function' && (<any>globalThis).define.amd) {
|
||||
return resolve();
|
||||
}
|
||||
const loaderSrc: string | TrustedScriptURL = monacoBaseUrl + 'vs/loader.js';
|
||||
|
||||
const isCrossOrigin = (/^((http:)|(https:)|(file:))/.test(loaderSrc) && loaderSrc.substring(0, self.origin.length) !== self.origin);
|
||||
const isCrossOrigin = (/^((http:)|(https:)|(file:))/.test(loaderSrc) && loaderSrc.substring(0, globalThis.origin.length) !== globalThis.origin);
|
||||
if (!isCrossOrigin && canUseEval()) {
|
||||
// use `fetch` if possible because `importScripts`
|
||||
// is synchronous and can lead to deadlocks on Safari
|
||||
@@ -59,10 +59,10 @@
|
||||
text = `${text}\n//# sourceURL=${loaderSrc}`;
|
||||
const func = (
|
||||
trustedTypesPolicy
|
||||
? self.eval(trustedTypesPolicy.createScript('', text) as unknown as string)
|
||||
? globalThis.eval(trustedTypesPolicy.createScript('', text) as unknown as string)
|
||||
: new Function(text)
|
||||
);
|
||||
func.call(self);
|
||||
func.call(globalThis);
|
||||
resolve();
|
||||
}).then(undefined, reject);
|
||||
return;
|
||||
@@ -92,12 +92,13 @@
|
||||
require([moduleId], function (ws) {
|
||||
setTimeout(function () {
|
||||
const messageHandler = ws.create((msg: any, transfer?: Transferable[]) => {
|
||||
(<any>self).postMessage(msg, transfer);
|
||||
(<any>globalThis).postMessage(msg, transfer);
|
||||
}, null);
|
||||
|
||||
self.onmessage = (e: MessageEvent) => messageHandler.onmessage(e.data, e.ports);
|
||||
globalThis.onmessage = (e: MessageEvent) => messageHandler.onmessage(e.data, e.ports);
|
||||
while (beforeReadyMessages.length > 0) {
|
||||
self.onmessage(beforeReadyMessages.shift()!);
|
||||
const e = beforeReadyMessages.shift()!;
|
||||
messageHandler.onmessage(e.data, e.ports);
|
||||
}
|
||||
}, 0);
|
||||
});
|
||||
@@ -107,13 +108,13 @@
|
||||
// If the loader is already defined, configure it immediately
|
||||
// This helps in the bundled case, where we must load nls files
|
||||
// and they need a correct baseUrl to be loaded.
|
||||
if (typeof (<any>self).define === 'function' && (<any>self).define.amd) {
|
||||
if (typeof (<any>globalThis).define === 'function' && (<any>globalThis).define.amd) {
|
||||
configureAMDLoader();
|
||||
}
|
||||
|
||||
let isFirstMessage = true;
|
||||
const beforeReadyMessages: MessageEvent[] = [];
|
||||
self.onmessage = (message: MessageEvent) => {
|
||||
globalThis.onmessage = (message: MessageEvent) => {
|
||||
if (!isFirstMessage) {
|
||||
beforeReadyMessages.push(message);
|
||||
return;
|
||||
|
||||
@@ -1248,13 +1248,13 @@ export class CodeApplication extends Disposable {
|
||||
// Logging
|
||||
switch (type) {
|
||||
case WindowError.PROCESS_GONE:
|
||||
this.logService.error(`SharedProcess: renderer process gone (reason: ${details?.reason || '<unknown>'}, code: ${details?.exitCode || '<unknown>'})`);
|
||||
this.logService.error(`[SharedProcess] renderer process gone (reason: ${details?.reason || '<unknown>'}, code: ${details?.exitCode || '<unknown>'})`);
|
||||
break;
|
||||
case WindowError.UNRESPONSIVE:
|
||||
this.logService.error('SharedProcess: detected unresponsive');
|
||||
this.logService.error('[SharedProcess] detected unresponsive');
|
||||
break;
|
||||
case WindowError.LOAD:
|
||||
this.logService.error(`SharedProcess: failed to load (reason: ${details?.reason || '<unknown>'}, code: ${details?.exitCode || '<unknown>'})`);
|
||||
this.logService.error(`[SharedProcess] failed to load (reason: ${details?.reason || '<unknown>'}, code: ${details?.exitCode || '<unknown>'})`);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import { IPathWithLineAndColumn, isValidBasename, parseLineAndColumnAware, sanit
|
||||
import { once } from 'vs/base/common/functional';
|
||||
import { getPathLabel } from 'vs/base/common/labels';
|
||||
import { Schemas } from 'vs/base/common/network';
|
||||
import { basename, join, resolve } from 'vs/base/common/path';
|
||||
import { basename, resolve } from 'vs/base/common/path';
|
||||
import { mark } from 'vs/base/common/performance';
|
||||
import { IProcessEnvironment, isMacintosh, isWindows, OS } from 'vs/base/common/platform';
|
||||
import { cwd } from 'vs/base/common/process';
|
||||
@@ -131,7 +131,7 @@ class CodeMain {
|
||||
});
|
||||
|
||||
// Delay creation of spdlog for perf reasons (https://github.com/microsoft/vscode/issues/72906)
|
||||
bufferLogService.logger = loggerService.createLogger(URI.file(join(environmentMainService.logsPath, 'main.log')), { id: 'mainLog', name: localize('mainLog', "Main") });
|
||||
bufferLogService.logger = loggerService.createLogger('main', { name: localize('mainLog', "Main") });
|
||||
|
||||
// Lifecycle
|
||||
once(lifecycleMainService.onWillShutdown)(evt => {
|
||||
@@ -162,7 +162,7 @@ class CodeMain {
|
||||
services.set(IEnvironmentMainService, environmentMainService);
|
||||
|
||||
// Logger
|
||||
const loggerService = new LoggerMainService(getLogLevel(environmentMainService));
|
||||
const loggerService = new LoggerMainService(getLogLevel(environmentMainService), environmentMainService.logsHome);
|
||||
services.set(ILoggerMainService, loggerService);
|
||||
|
||||
// Log: We need to buffer the spdlog logs until we are sure
|
||||
@@ -246,7 +246,7 @@ class CodeMain {
|
||||
Promise.all<string | undefined>([
|
||||
environmentMainService.extensionsPath,
|
||||
environmentMainService.codeCachePath,
|
||||
environmentMainService.logsPath,
|
||||
environmentMainService.logsHome.fsPath,
|
||||
userDataProfilesMainService.defaultProfile.globalStorageHome.fsPath,
|
||||
environmentMainService.workspaceStorageHome.fsPath,
|
||||
environmentMainService.localHistoryHome.fsPath,
|
||||
|
||||
@@ -23,7 +23,7 @@ import { isRemoteDiagnosticError, SystemInfo } from 'vs/platform/diagnostics/com
|
||||
import { ElectronIPCMainProcessService } from 'vs/platform/ipc/electron-sandbox/mainProcessService';
|
||||
import { IssueReporterData, IssueReporterExtensionData, IssueReporterStyles, IssueReporterWindowConfiguration, IssueType } from 'vs/platform/issue/common/issue';
|
||||
import { normalizeGitHubUrl } from 'vs/platform/issue/common/issueReporterUtil';
|
||||
import { INativeHostService } from 'vs/platform/native/electron-sandbox/native';
|
||||
import { INativeHostService } from 'vs/platform/native/common/native';
|
||||
import { NativeHostService } from 'vs/platform/native/electron-sandbox/nativeHostService';
|
||||
import { applyZoom, zoomIn, zoomOut } from 'vs/platform/window/electron-sandbox/window';
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ import { IRemoteDiagnosticError, isRemoteDiagnosticError } from 'vs/platform/dia
|
||||
import { ByteSize } from 'vs/platform/files/common/files';
|
||||
import { ElectronIPCMainProcessService } from 'vs/platform/ipc/electron-sandbox/mainProcessService';
|
||||
import { ProcessExplorerData, ProcessExplorerStyles, ProcessExplorerWindowConfiguration } from 'vs/platform/issue/common/issue';
|
||||
import { INativeHostService } from 'vs/platform/native/electron-sandbox/native';
|
||||
import { INativeHostService } from 'vs/platform/native/common/native';
|
||||
import { NativeHostService } from 'vs/platform/native/electron-sandbox/nativeHostService';
|
||||
import { getIconsStyleSheet } from 'vs/platform/theme/browser/iconsStyleSheet';
|
||||
import { applyZoom, zoomIn, zoomOut } from 'vs/platform/window/electron-sandbox/window';
|
||||
@@ -163,7 +163,7 @@ class ErrorRenderer implements ITreeRenderer<IRemoteDiagnosticError, void, IProc
|
||||
|
||||
|
||||
class ProcessRenderer implements ITreeRenderer<ProcessItem, void, IProcessItemTemplateData> {
|
||||
constructor(private platform: string, private totalMem: number, private mapPidToWindowTitle: Map<number, string>) { }
|
||||
constructor(private platform: string, private totalMem: number, private mapPidToName: Map<number, string>) { }
|
||||
|
||||
templateId: string = 'process';
|
||||
renderTemplate(container: HTMLElement): IProcessItemTemplateData {
|
||||
@@ -179,13 +179,13 @@ class ProcessRenderer implements ITreeRenderer<ProcessItem, void, IProcessItemTe
|
||||
renderElement(node: ITreeNode<ProcessItem, void>, index: number, templateData: IProcessItemTemplateData, height: number | undefined): void {
|
||||
const { element } = node;
|
||||
|
||||
let name = element.name;
|
||||
if (name === 'window') {
|
||||
const windowTitle = this.mapPidToWindowTitle.get(element.pid);
|
||||
name = windowTitle !== undefined ? `${name} (${this.mapPidToWindowTitle.get(element.pid)})` : name;
|
||||
}
|
||||
const pid = element.pid.toFixed(0);
|
||||
|
||||
let name = element.name;
|
||||
if (this.mapPidToName.has(element.pid)) {
|
||||
name = this.mapPidToName.get(element.pid)!;
|
||||
}
|
||||
|
||||
templateData.name.textContent = name;
|
||||
templateData.name.title = element.cmd;
|
||||
|
||||
@@ -230,7 +230,7 @@ function isProcessItem(item: any): item is ProcessItem {
|
||||
class ProcessExplorer {
|
||||
private lastRequestTime: number;
|
||||
|
||||
private mapPidToWindowTitle = new Map<number, string>();
|
||||
private mapPidToName = new Map<number, string>();
|
||||
|
||||
private nativeHostService: INativeHostService;
|
||||
|
||||
@@ -243,10 +243,12 @@ class ProcessExplorer {
|
||||
this.applyStyles(data.styles);
|
||||
this.setEventHandlers(data);
|
||||
|
||||
// Map window process pids to titles, annotate process names with this when rendering to distinguish between them
|
||||
ipcRenderer.on('vscode:windowsInfoResponse', (event: unknown, windows: any[]) => {
|
||||
this.mapPidToWindowTitle = new Map<number, string>();
|
||||
windows.forEach(window => this.mapPidToWindowTitle.set(window.pid, window.title));
|
||||
ipcRenderer.on('vscode:pidToNameResponse', (event: unknown, pidToNames: [number, string][]) => {
|
||||
this.mapPidToName = new Map<number, string>();
|
||||
|
||||
for (const [pid, name] of pidToNames) {
|
||||
this.mapPidToName.set(pid, name);
|
||||
}
|
||||
});
|
||||
|
||||
ipcRenderer.on('vscode:listProcessesResponse', async (event: unknown, processRoots: MachineProcessInformation[]) => {
|
||||
@@ -267,7 +269,7 @@ class ProcessExplorer {
|
||||
});
|
||||
|
||||
this.lastRequestTime = Date.now();
|
||||
ipcRenderer.send('vscode:windowsInfoRequest');
|
||||
ipcRenderer.send('vscode:pidToNameRequest');
|
||||
ipcRenderer.send('vscode:listProcesses');
|
||||
}
|
||||
|
||||
@@ -304,7 +306,7 @@ class ProcessExplorer {
|
||||
const { totalmem } = await this.nativeHostService.getOSStatistics();
|
||||
|
||||
const renderers = [
|
||||
new ProcessRenderer(this.data.platform, totalmem, this.mapPidToWindowTitle),
|
||||
new ProcessRenderer(this.data.platform, totalmem, this.mapPidToName),
|
||||
new ProcessHeaderTreeRenderer(),
|
||||
new MachineRenderer(),
|
||||
new ErrorRenderer()
|
||||
@@ -556,7 +558,7 @@ class ProcessExplorer {
|
||||
|
||||
// Wait at least a second between requests.
|
||||
if (waited > 1000) {
|
||||
ipcRenderer.send('vscode:windowsInfoRequest');
|
||||
ipcRenderer.send('vscode:pidToNameRequest');
|
||||
ipcRenderer.send('vscode:listProcesses');
|
||||
} else {
|
||||
this.requestProcessList(waited);
|
||||
|
||||
@@ -39,8 +39,7 @@ import { InstantiationService } from 'vs/platform/instantiation/common/instantia
|
||||
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
|
||||
import { ILanguagePackService } from 'vs/platform/languagePacks/common/languagePacks';
|
||||
import { NativeLanguagePackService } from 'vs/platform/languagePacks/node/languagePacks';
|
||||
import { ConsoleLogger, getLogLevel, ILogger, ILogService, LogLevel } from 'vs/platform/log/common/log';
|
||||
import { SpdLogLogger } from 'vs/platform/log/node/spdlogLog';
|
||||
import { ConsoleLogger, getLogLevel, ILogger, ILoggerService, ILogService, LogLevel } from 'vs/platform/log/common/log';
|
||||
import { FilePolicyService } from 'vs/platform/policy/common/filePolicyService';
|
||||
import { IPolicyService, NullPolicyService } from 'vs/platform/policy/common/policy';
|
||||
import { NativePolicyService } from 'vs/platform/policy/node/nativePolicyService';
|
||||
@@ -62,6 +61,8 @@ import { UserDataProfilesReadonlyService } from 'vs/platform/userDataProfile/nod
|
||||
import { resolveMachineId } from 'vs/platform/telemetry/node/telemetryUtils';
|
||||
import { ExtensionsProfileScannerService } from 'vs/platform/extensionManagement/node/extensionsProfileScannerService';
|
||||
import { LogService } from 'vs/platform/log/common/logService';
|
||||
import { LoggerService } from 'vs/platform/log/node/loggerService';
|
||||
import { localize } from 'vs/nls';
|
||||
|
||||
class CliMain extends Disposable {
|
||||
|
||||
@@ -124,15 +125,18 @@ class CliMain extends Disposable {
|
||||
environmentService.extensionsPath
|
||||
].map(path => path ? Promises.mkdir(path, { recursive: true }) : undefined));
|
||||
|
||||
// Logger
|
||||
const loggerService = new LoggerService(getLogLevel(environmentService), environmentService.logsHome);
|
||||
services.set(ILoggerService, loggerService);
|
||||
|
||||
// Log
|
||||
const logLevel = getLogLevel(environmentService);
|
||||
const spdLogLogger = new SpdLogLogger('cli', join(environmentService.logsPath, 'cli.log'), true, false, logLevel);
|
||||
const logger = this._register(loggerService.createLogger('cli', { name: localize('cli', "CLI") }));
|
||||
const otherLoggers: ILogger[] = [];
|
||||
if (logLevel === LogLevel.Trace) {
|
||||
otherLoggers.push(new ConsoleLogger(logLevel));
|
||||
if (loggerService.getLogLevel() === LogLevel.Trace) {
|
||||
otherLoggers.push(new ConsoleLogger(loggerService.getLogLevel()));
|
||||
}
|
||||
|
||||
const logService = this._register(new LogService(spdLogLogger, otherLoggers));
|
||||
const logService = this._register(new LogService(logger, otherLoggers));
|
||||
services.set(ILogService, logService);
|
||||
|
||||
// Files
|
||||
@@ -142,8 +146,6 @@ class CliMain extends Disposable {
|
||||
const diskFileSystemProvider = this._register(new DiskFileSystemProvider(logService));
|
||||
fileService.registerProvider(Schemas.file, diskFileSystemProvider);
|
||||
|
||||
// State
|
||||
|
||||
// Uri Identity
|
||||
const uriIdentityService = new UriIdentityService(fileService);
|
||||
services.set(IUriIdentityService, uriIdentityService);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import { RunOnceScheduler } from 'vs/base/common/async';
|
||||
import { onUnexpectedError } from 'vs/base/common/errors';
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { basename, dirname, join } from 'vs/base/common/path';
|
||||
import { basename, dirname, joinPath } from 'vs/base/common/resources';
|
||||
import { Promises } from 'vs/base/node/pfs';
|
||||
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
import { ILogService } from 'vs/platform/log/common/log';
|
||||
@@ -29,10 +29,10 @@ export class LogsDataCleaner extends Disposable {
|
||||
this.logService.trace('[logs cleanup]: Starting to clean up old logs.');
|
||||
|
||||
try {
|
||||
const currentLog = basename(this.environmentService.logsPath);
|
||||
const logsRoot = dirname(this.environmentService.logsPath);
|
||||
const currentLog = basename(this.environmentService.logsHome);
|
||||
const logsRoot = dirname(this.environmentService.logsHome);
|
||||
|
||||
const logFiles = await Promises.readdir(logsRoot);
|
||||
const logFiles = await Promises.readdir(logsRoot.fsPath);
|
||||
|
||||
const allSessions = logFiles.filter(logFile => /^\d{8}T\d{6}$/.test(logFile));
|
||||
const oldSessions = allSessions.sort().filter(session => session !== currentLog);
|
||||
@@ -41,7 +41,7 @@ export class LogsDataCleaner extends Disposable {
|
||||
if (sessionsToDelete.length > 0) {
|
||||
this.logService.trace(`[logs cleanup]: Removing log folders '${sessionsToDelete.join(', ')}'`);
|
||||
|
||||
await Promise.all(sessionsToDelete.map(sessionToDelete => Promises.rm(join(logsRoot, sessionToDelete))));
|
||||
await Promise.all(sessionsToDelete.map(sessionToDelete => Promises.rm(joinPath(logsRoot, sessionToDelete).fsPath)));
|
||||
}
|
||||
} catch (error) {
|
||||
onUnexpectedError(error);
|
||||
|
||||
@@ -13,11 +13,8 @@ import { ILogService } from 'vs/platform/log/common/log';
|
||||
import { StorageClient } from 'vs/platform/storage/common/storageIpc';
|
||||
import { EXTENSION_DEVELOPMENT_EMPTY_WINDOW_WORKSPACE } from 'vs/platform/workspace/common/workspace';
|
||||
import { NON_EMPTY_WORKSPACE_ID_LENGTH } from 'vs/platform/workspaces/node/workspaces';
|
||||
|
||||
/* eslint-disable local/code-layering, local/code-import-patterns */
|
||||
// TODO@bpasero layer is not allowed in utility process
|
||||
import { IMainProcessService } from 'vs/platform/ipc/electron-sandbox/services';
|
||||
import { INativeHostService } from 'vs/platform/native/electron-sandbox/native';
|
||||
import { INativeHostService } from 'vs/platform/native/common/native';
|
||||
import { IMainProcessService } from 'vs/platform/ipc/common/mainProcessService';
|
||||
|
||||
export class UnusedWorkspaceStorageDataCleaner extends Disposable {
|
||||
|
||||
|
||||
@@ -3,12 +3,17 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
/* eslint-disable local/code-layering, local/code-import-patterns */
|
||||
// TODO@bpasero remove these once utility process is the only way
|
||||
import { Server as BrowserWindowMessagePortServer } from 'vs/base/parts/ipc/electron-browser/ipc.mp';
|
||||
import { SharedProcessWorkerService } from 'vs/platform/sharedProcess/electron-browser/sharedProcessWorkerService';
|
||||
import { ILocalPtyService } from 'vs/platform/terminal/electron-sandbox/terminal';
|
||||
|
||||
import { hostname, release } from 'os';
|
||||
import { toErrorMessage } from 'vs/base/common/errorMessage';
|
||||
import { onUnexpectedError, setUnexpectedErrorHandler } from 'vs/base/common/errors';
|
||||
import { combinedDisposable, Disposable, toDisposable } from 'vs/base/common/lifecycle';
|
||||
import { Schemas } from 'vs/base/common/network';
|
||||
import { joinPath } from 'vs/base/common/resources';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { IPCServer, ProxyChannel, StaticRouter } from 'vs/base/parts/ipc/common/ipc';
|
||||
import { Server as UtilityProcessMessagePortServer, once } from 'vs/base/parts/ipc/node/ipc.mp';
|
||||
@@ -72,6 +77,7 @@ import { UserDataSyncService } from 'vs/platform/userDataSync/common/userDataSyn
|
||||
import { UserDataSyncChannel } from 'vs/platform/userDataSync/common/userDataSyncServiceIpc';
|
||||
import { UserDataSyncStoreManagementService, UserDataSyncStoreService } from 'vs/platform/userDataSync/common/userDataSyncStoreService';
|
||||
import { IUserDataProfileStorageService } from 'vs/platform/userDataProfile/common/userDataProfileStorageService';
|
||||
import { NativeUserDataProfileStorageService } from 'vs/platform/userDataProfile/node/userDataProfileStorageService';
|
||||
import { ActiveWindowManager } from 'vs/platform/windows/node/windowTracker';
|
||||
import { ISignService } from 'vs/platform/sign/common/sign';
|
||||
import { SignService } from 'vs/platform/sign/node/signService';
|
||||
@@ -103,24 +109,16 @@ import { localize } from 'vs/nls';
|
||||
import { LogService } from 'vs/platform/log/common/logService';
|
||||
import { ipcUtilityProcessWorkerChannelName, IUtilityProcessWorkerConfiguration } from 'vs/platform/utilityProcess/common/utilityProcessWorkerService';
|
||||
import { isUtilityProcess } from 'vs/base/parts/sandbox/node/electronTypes';
|
||||
|
||||
/* eslint-disable local/code-layering, local/code-import-patterns */
|
||||
// TODO@bpasero layer is not allowed in utility process
|
||||
import { Server as BrowserWindowMessagePortServer } from 'vs/base/parts/ipc/electron-browser/ipc.mp';
|
||||
import { ExtensionTipsService } from 'vs/platform/extensionManagement/electron-sandbox/extensionTipsService';
|
||||
import { ExtensionRecommendationNotificationServiceChannelClient } from 'vs/platform/extensionRecommendations/electron-sandbox/extensionRecommendationsIpc';
|
||||
import { MessagePortMainProcessService } from 'vs/platform/ipc/electron-browser/mainProcessService';
|
||||
import { IMainProcessService } from 'vs/platform/ipc/electron-sandbox/services';
|
||||
import { INativeHostService } from 'vs/platform/native/electron-sandbox/native';
|
||||
import { NativeStorageService } from 'vs/platform/storage/electron-sandbox/storageService';
|
||||
import { ILocalPtyService } from 'vs/platform/terminal/electron-sandbox/terminal';
|
||||
import { UserDataAutoSyncService } from 'vs/platform/userDataSync/electron-sandbox/userDataAutoSyncService';
|
||||
import { UserDataProfileStorageService } from 'vs/platform/userDataProfile/electron-sandbox/userDataProfileStorageService';
|
||||
import { SharedProcessWorkerService } from 'vs/platform/sharedProcess/electron-browser/sharedProcessWorkerService';
|
||||
import { SharedProcessRequestService } from 'vs/platform/request/electron-browser/sharedProcessRequestService';
|
||||
import { RemoteTunnelService } from 'vs/platform/remoteTunnel/electron-browser/remoteTunnelService';
|
||||
import { ISharedProcessLifecycleService, SharedProcessLifecycleService } from 'vs/platform/lifecycle/electron-browser/sharedProcessLifecycleService';
|
||||
import { ExtensionsProfileScannerService } from 'vs/platform/extensionManagement/electron-sandbox/extensionsProfileScannerService';
|
||||
import { ISharedProcessLifecycleService, SharedProcessLifecycleService } from 'vs/platform/lifecycle/node/sharedProcessLifecycleService';
|
||||
import { RemoteTunnelService } from 'vs/platform/remoteTunnel/node/remoteTunnelService';
|
||||
import { ExtensionsProfileScannerService } from 'vs/platform/extensionManagement/node/extensionsProfileScannerService';
|
||||
import { RequestChannelClient } from 'vs/platform/request/common/requestIpc';
|
||||
import { ExtensionRecommendationNotificationServiceChannelClient } from 'vs/platform/extensionRecommendations/common/extensionRecommendationsIpc';
|
||||
import { INativeHostService } from 'vs/platform/native/common/native';
|
||||
import { UserDataAutoSyncService } from 'vs/platform/userDataSync/node/userDataAutoSyncService';
|
||||
import { ExtensionTipsService } from 'vs/platform/extensionManagement/node/extensionTipsService';
|
||||
import { IMainProcessService, MainProcessService } from 'vs/platform/ipc/common/mainProcessService';
|
||||
import { RemoteStorageService } from 'vs/platform/storage/common/storageService';
|
||||
|
||||
class SharedProcessMain extends Disposable {
|
||||
|
||||
@@ -145,9 +143,14 @@ class SharedProcessMain extends Disposable {
|
||||
private registerListeners(): void {
|
||||
|
||||
// Shared process lifecycle
|
||||
const onExit = async () => {
|
||||
this.lifecycleService?.fireOnWillShutdown();
|
||||
this.dispose();
|
||||
let didExit = false;
|
||||
const onExit = () => {
|
||||
if (!didExit) {
|
||||
didExit = true;
|
||||
|
||||
this.lifecycleService?.fireOnWillShutdown();
|
||||
this.dispose();
|
||||
}
|
||||
};
|
||||
process.once('exit', onExit);
|
||||
if (isUtilityProcess(process)) {
|
||||
@@ -217,7 +220,7 @@ class SharedProcessMain extends Disposable {
|
||||
|
||||
// Main Process
|
||||
const mainRouter = new StaticRouter(ctx => ctx === 'main');
|
||||
const mainProcessService = new MessagePortMainProcessService(this.server, mainRouter);
|
||||
const mainProcessService = new MainProcessService(this.server, mainRouter);
|
||||
services.set(IMainProcessService, mainProcessService);
|
||||
|
||||
// Policies
|
||||
@@ -229,11 +232,11 @@ class SharedProcessMain extends Disposable {
|
||||
services.set(INativeEnvironmentService, environmentService);
|
||||
|
||||
// Logger
|
||||
const loggerService = new LoggerChannelClient(undefined, this.configuration.logLevel, this.configuration.loggers.map(loggerResource => ({ ...loggerResource, resource: URI.revive(loggerResource.resource) })), mainProcessService.getChannel('logger'));
|
||||
const loggerService = new LoggerChannelClient(undefined, this.configuration.logLevel, environmentService.logsHome, this.configuration.loggers.map(loggerResource => ({ ...loggerResource, resource: URI.revive(loggerResource.resource) })), mainProcessService.getChannel('logger'));
|
||||
services.set(ILoggerService, loggerService);
|
||||
|
||||
// Log
|
||||
const logger = this._register(loggerService.createLogger(joinPath(URI.file(environmentService.logsPath), 'sharedprocess.log'), { id: 'sharedLog', name: localize('sharedLog', "Shared") }));
|
||||
const logger = this._register(loggerService.createLogger('sharedprocess', { name: localize('sharedLog', "Shared") }));
|
||||
const consoleLogger = this._register(new ConsoleLogger(logger.getLevel()));
|
||||
const logService = this._register(new LogService(logger, [consoleLogger]));
|
||||
services.set(ILogService, logService);
|
||||
@@ -266,7 +269,7 @@ class SharedProcessMain extends Disposable {
|
||||
fileService.registerProvider(Schemas.vscodeUserData, userDataFileSystemProvider);
|
||||
|
||||
// User Data Profiles
|
||||
const userDataProfilesService = this._register(new UserDataProfilesService(this.configuration.profiles.all, URI.revive(this.configuration.profiles.home), mainProcessService.getChannel('userDataProfiles')));
|
||||
const userDataProfilesService = this._register(new UserDataProfilesService(this.configuration.profiles.all, URI.revive(this.configuration.profiles.home).with({ scheme: environmentService.userRoamingDataHome.scheme }), mainProcessService.getChannel('userDataProfiles')));
|
||||
services.set(IUserDataProfilesService, userDataProfilesService);
|
||||
|
||||
// Configuration
|
||||
@@ -274,7 +277,7 @@ class SharedProcessMain extends Disposable {
|
||||
services.set(IConfigurationService, configurationService);
|
||||
|
||||
// Storage (global access only)
|
||||
const storageService = new NativeStorageService(undefined, { defaultProfile: userDataProfilesService.defaultProfile, currentProfile: userDataProfilesService.defaultProfile }, mainProcessService, environmentService);
|
||||
const storageService = new RemoteStorageService(undefined, { defaultProfile: userDataProfilesService.defaultProfile, currentProfile: userDataProfilesService.defaultProfile }, mainProcessService, environmentService);
|
||||
services.set(IStorageService, storageService);
|
||||
this._register(toDisposable(() => storageService.flush()));
|
||||
|
||||
@@ -289,7 +292,7 @@ class SharedProcessMain extends Disposable {
|
||||
services.set(IUriIdentityService, uriIdentityService);
|
||||
|
||||
// Request
|
||||
services.set(IRequestService, new SharedProcessRequestService(mainProcessService, configurationService, logService));
|
||||
services.set(IRequestService, new RequestChannelClient(mainProcessService.getChannel('request')));
|
||||
|
||||
// Checksum
|
||||
services.set(IChecksumService, new SyncDescriptor(ChecksumService, undefined, false /* proxied to other processes */));
|
||||
@@ -373,7 +376,7 @@ class SharedProcessMain extends Disposable {
|
||||
services.set(IUserDataSyncBackupStoreService, new SyncDescriptor(UserDataSyncBackupStoreService, undefined, false /* Eagerly cleans up old backups */));
|
||||
services.set(IUserDataSyncEnablementService, new SyncDescriptor(UserDataSyncEnablementService, undefined, true));
|
||||
services.set(IUserDataSyncService, new SyncDescriptor(UserDataSyncService, undefined, false /* Initializes the Sync State */));
|
||||
services.set(IUserDataProfileStorageService, new SyncDescriptor(UserDataProfileStorageService, undefined, true));
|
||||
services.set(IUserDataProfileStorageService, new SyncDescriptor(NativeUserDataProfileStorageService, undefined, true));
|
||||
services.set(IUserDataSyncResourceProviderService, new SyncDescriptor(UserDataSyncResourceProviderService, undefined, true));
|
||||
|
||||
// Terminal
|
||||
@@ -383,7 +386,7 @@ class SharedProcessMain extends Disposable {
|
||||
shortGraceTime: LocalReconnectConstants.ShortGraceTime,
|
||||
scrollback: configurationService.getValue<number>(TerminalSettingId.PersistentSessionScrollback) ?? 100
|
||||
},
|
||||
localize('ptyHost', "Pty Host"),
|
||||
false,
|
||||
configurationService,
|
||||
environmentService,
|
||||
logService,
|
||||
|
||||
@@ -14,23 +14,20 @@ class TabFocusImpl {
|
||||
private _tabFocusTerminal: boolean = false;
|
||||
private _tabFocusEditor: boolean = false;
|
||||
|
||||
private readonly _onDidChangeTabFocus = new Emitter<boolean>();
|
||||
public readonly onDidChangeTabFocus: Event<boolean> = this._onDidChangeTabFocus.event;
|
||||
private readonly _onDidChangeTabFocus = new Emitter<void>();
|
||||
public readonly onDidChangeTabFocus: Event<void> = this._onDidChangeTabFocus.event;
|
||||
|
||||
public getTabFocusMode(context: TabFocusContext): boolean {
|
||||
return context === TabFocusContext.Terminal ? this._tabFocusTerminal : this._tabFocusEditor;
|
||||
}
|
||||
|
||||
public setTabFocusMode(tabFocusMode: boolean, context: TabFocusContext): void {
|
||||
if ((context === TabFocusContext.Terminal && this._tabFocusTerminal === tabFocusMode) || (context === TabFocusContext.Editor && this._tabFocusEditor === tabFocusMode)) {
|
||||
return;
|
||||
}
|
||||
if (context === TabFocusContext.Terminal) {
|
||||
this._tabFocusTerminal = tabFocusMode;
|
||||
} else {
|
||||
this._tabFocusEditor = tabFocusMode;
|
||||
}
|
||||
this._onDidChangeTabFocus.fire(this._tabFocusTerminal);
|
||||
this._onDidChangeTabFocus.fire();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -239,8 +239,11 @@ export abstract class AbstractCodeEditorService extends Disposable implements IC
|
||||
this._transientWatchers[uri] = w;
|
||||
}
|
||||
|
||||
w.set(key, value);
|
||||
this._onDidChangeTransientModelProperty.fire(model);
|
||||
const previousValue = w.get(key);
|
||||
if (previousValue !== value) {
|
||||
w.set(key, value);
|
||||
this._onDidChangeTransientModelProperty.fire(model);
|
||||
}
|
||||
}
|
||||
|
||||
public getTransientModelProperty(model: ITextModel, key: string): any {
|
||||
|
||||
@@ -199,7 +199,6 @@ export class View extends ViewEventHandler {
|
||||
|
||||
this._linesContent.appendChild(contentViewOverlays.getDomNode());
|
||||
this._linesContent.appendChild(rulers.domNode);
|
||||
this._linesContent.appendChild(blockOutline.domNode);
|
||||
this._linesContent.appendChild(this._viewZones.domNode);
|
||||
this._linesContent.appendChild(this._viewLines.getDomNode());
|
||||
this._linesContent.appendChild(this._contentWidgets.domNode);
|
||||
@@ -211,6 +210,7 @@ export class View extends ViewEventHandler {
|
||||
this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover);
|
||||
this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode());
|
||||
this._overflowGuardContainer.appendChild(minimap.getDomNode());
|
||||
this._overflowGuardContainer.appendChild(blockOutline.domNode);
|
||||
this.domNode.appendChild(this._overflowGuardContainer);
|
||||
|
||||
if (overflowWidgetsDomNode) {
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
.monaco-editor .blockDecorations-container {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.monaco-editor .blockDecorations-block {
|
||||
|
||||
@@ -18,6 +18,7 @@ export class BlockDecorations extends ViewPart {
|
||||
private readonly blocks: FastDomNode<HTMLElement>[] = [];
|
||||
|
||||
private contentWidth: number = -1;
|
||||
private contentLeft: number = 0;
|
||||
|
||||
constructor(context: ViewContext) {
|
||||
super(context);
|
||||
@@ -41,6 +42,12 @@ export class BlockDecorations extends ViewPart {
|
||||
didChange = true;
|
||||
}
|
||||
|
||||
const newContentLeft = layoutInfo.contentLeft;
|
||||
if (this.contentLeft !== newContentLeft) {
|
||||
this.contentLeft = newContentLeft;
|
||||
didChange = true;
|
||||
}
|
||||
|
||||
return didChange;
|
||||
}
|
||||
|
||||
@@ -97,11 +104,13 @@ export class BlockDecorations extends ViewPart {
|
||||
: ctx.getVerticalOffsetAfterLineNumber(decoration.range.endLineNumber, true);
|
||||
}
|
||||
|
||||
const [paddingTop, paddingRight, paddingBottom, paddingLeft] = decoration.options.blockPadding ?? [0, 0, 0, 0];
|
||||
|
||||
block.setClassName('blockDecorations-block ' + decoration.options.blockClassName);
|
||||
block.setLeft(ctx.scrollLeft);
|
||||
block.setWidth(this.contentWidth);
|
||||
block.setTop(top);
|
||||
block.setHeight(bottom - top);
|
||||
block.setLeft(ctx.scrollLeft + this.contentLeft - paddingLeft);
|
||||
block.setWidth(this.contentWidth + paddingLeft + paddingRight);
|
||||
block.setTop(top - ctx.scrollTop - paddingTop);
|
||||
block.setHeight(bottom - top + paddingTop + paddingBottom);
|
||||
|
||||
count++;
|
||||
}
|
||||
|
||||
@@ -98,7 +98,8 @@ const editorConfiguration: IConfigurationNode = {
|
||||
'editor.experimental.asyncTokenization': {
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: nls.localize('editor.experimental.asyncTokenization', "Controls whether the tokenization should happen asynchronously on a web worker.")
|
||||
description: nls.localize('editor.experimental.asyncTokenization', "Controls whether the tokenization should happen asynchronously on a web worker."),
|
||||
tags: ['experimental'],
|
||||
},
|
||||
'editor.language.brackets': {
|
||||
type: ['array', 'null'],
|
||||
|
||||
@@ -50,9 +50,23 @@ export interface ILanguageService {
|
||||
readonly languageIdCodec: ILanguageIdCodec;
|
||||
|
||||
/**
|
||||
* An event emitted when a language is needed for the first time.
|
||||
* An event emitted when basic language features are requested for the first time.
|
||||
* This event is emitted when embedded languages are encountered (e.g. JS code block inside Markdown)
|
||||
* or when a language is associated to a text model.
|
||||
*
|
||||
* **Note**: Basic language features refers to language configuration related features.
|
||||
* **Note**: This event is a superset of `onDidRequestRichLanguageFeatures`
|
||||
*/
|
||||
onDidEncounterLanguage: Event<string>;
|
||||
onDidRequestBasicLanguageFeatures: Event<string>;
|
||||
|
||||
/**
|
||||
* An event emitted when rich language features are requested for the first time.
|
||||
* This event is emitted when a language is associated to a text model.
|
||||
*
|
||||
* **Note**: Rich language features refers to tokenizers, language features based on providers, etc.
|
||||
* **Note**: This event is a subset of `onDidRequestRichLanguageFeatures`
|
||||
*/
|
||||
onDidRequestRichLanguageFeatures: Event<string>;
|
||||
|
||||
/**
|
||||
* An event emitted when languages have changed.
|
||||
@@ -140,4 +154,15 @@ export interface ILanguageService {
|
||||
* Will fall back to 'plaintext' if the `languageId` cannot be determined.
|
||||
*/
|
||||
createByFilepathOrFirstLine(resource: URI | null, firstLine?: string): ILanguageSelection;
|
||||
|
||||
/**
|
||||
* Request basic language features for a language.
|
||||
*/
|
||||
requestBasicLanguageFeatures(languageId: string): void;
|
||||
|
||||
/**
|
||||
* Request rich language features for a language.
|
||||
*/
|
||||
requestRichLanguageFeatures(languageId: string): void;
|
||||
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import { IGuidesTextModelPart } from 'vs/editor/common/textModelGuides';
|
||||
import { ITokenizationTextModelPart } from 'vs/editor/common/tokenizationTextModelPart';
|
||||
import { ThemeColor } from 'vs/base/common/themables';
|
||||
import { UndoRedoGroup } from 'vs/platform/undoRedo/common/undoRedo';
|
||||
import { ILanguageSelection } from 'vs/editor/common/languages/language';
|
||||
|
||||
/**
|
||||
* Vertical Lane in the overview ruler of the editor.
|
||||
@@ -98,6 +99,8 @@ export interface IModelDecorationOptions {
|
||||
* In this case, the range must be empty and set to the last line.
|
||||
*/
|
||||
blockIsAfterEnd?: boolean | null;
|
||||
blockPadding?: [top: number, right: number, bottom: number, left: number] | null;
|
||||
|
||||
/**
|
||||
* Message to be rendered when hovering over the glyph margin decoration.
|
||||
*/
|
||||
@@ -871,7 +874,15 @@ export interface ITextModel {
|
||||
* @param source The source of the call that set the language.
|
||||
* @internal
|
||||
*/
|
||||
setMode(languageId: string, source?: string): void;
|
||||
setLanguage(languageId: string, source?: string): void;
|
||||
|
||||
/**
|
||||
* Set the current language mode associated with the model.
|
||||
* @param languageSelection The new language selection.
|
||||
* @param source The source of the call that set the language.
|
||||
* @internal
|
||||
*/
|
||||
setLanguage(languageSelection: ILanguageSelection, source?: string): void;
|
||||
|
||||
/**
|
||||
* Returns the real (inner-most) language mode at a given position.
|
||||
|
||||
+4
@@ -12,6 +12,10 @@ export class TextEditInfo {
|
||||
public readonly newLength: Length
|
||||
) {
|
||||
}
|
||||
|
||||
toString(): string {
|
||||
return `[${lengthToObj(this.startOffset)}...${lengthToObj(this.endOffset)}) -> ${lengthToObj(this.newLength)}`;
|
||||
}
|
||||
}
|
||||
|
||||
export class BeforeEditPositionMapper {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user