monaco-editor-core 0.55.0-dev-20251023 → 0.55.0-dev-20251024
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/nls.messages.cs.js +1 -1
- package/esm/nls.messages.de.js +1 -1
- package/esm/nls.messages.es.js +1 -1
- package/esm/nls.messages.fr.js +1 -1
- package/esm/nls.messages.it.js +1 -1
- package/esm/nls.messages.ja.js +1 -1
- package/esm/nls.messages.ko.js +1 -1
- package/esm/nls.messages.pl.js +1 -1
- package/esm/nls.messages.pt-br.js +1 -1
- package/esm/nls.messages.ru.js +1 -1
- package/esm/nls.messages.tr.js +1 -1
- package/esm/nls.messages.zh-cn.js +1 -1
- package/esm/nls.messages.zh-tw.js +1 -1
- package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/esm/vs/base/browser/ui/iconLabel/iconlabel.css +2 -0
- package/esm/vs/base/browser/ui/toggle/toggle.js +2 -2
- package/esm/vs/base/browser/ui/toggle/toggle.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js +7 -0
- package/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/objectTree.js +3 -0
- package/esm/vs/base/browser/ui/tree/objectTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/objectTreeModel.js +20 -0
- package/esm/vs/base/browser/ui/tree/objectTreeModel.js.map +1 -1
- package/esm/vs/base/common/codiconsLibrary.js +2 -0
- package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
- package/esm/vs/base/common/network.js +5 -1
- package/esm/vs/base/common/network.js.map +1 -1
- package/esm/vs/base/common/platform.js +0 -1
- package/esm/vs/base/common/platform.js.map +1 -1
- package/esm/vs/platform/configuration/common/configurationRegistry.js +12 -0
- package/esm/vs/platform/configuration/common/configurationRegistry.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/quickInput.js +2 -0
- package/esm/vs/platform/quickinput/browser/quickInput.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/quickInputController.js +6 -0
- package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTree.js +9 -9
- package/esm/vs/platform/quickinput/browser/tree/quickInputTree.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js +19 -26
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeSorter.js +46 -0
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeSorter.js.map +1 -0
- package/esm/vs/platform/quickinput/common/quickInput.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/base/common/network.ts","vs/base/common/network.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,WAAW,CAAC;AAEnC,MAAM,KAAW,OAAO,CA8IvB;AA9ID,WAAiB,OAAO;IAEvB;;;OAGG;IACU,gBAAQ,GAAG,UAAU,CAAC;IAEnC;;OAEG;IACU,cAAM,GAAG,QAAQ,CAAC;IAE/B;;OAEG;IACU,gBAAQ,GAAG,SAAS,CAAC;IAElC;;OAEG;IACU,mBAAW,GAAG,aAAa,CAAC;IAEzC;;OAEG;IACU,0BAAkB,GAAG,oBAAoB,CAAC;IAE1C,YAAI,GAAG,MAAM,CAAC;IAEd,aAAK,GAAG,OAAO,CAAC;IAEhB,YAAI,GAAG,MAAM,CAAC;IAEd,cAAM,GAAG,QAAQ,CAAC;IAElB,gBAAQ,GAAG,UAAU,CAAC;IAEtB,YAAI,GAAG,MAAM,CAAC;IAEd,eAAO,GAAG,SAAS,CAAC;IAEpB,oBAAY,GAAG,eAAe,CAAC;IAE/B,4BAAoB,GAAG,wBAAwB,CAAC;IAEhD,mCAA2B,GAAG,gCAAgC,CAAC;IAE/D,sBAAc,GAAG,iBAAiB,CAAC;IAEnC,0BAAkB,GAAG,sBAAsB,CAAC;IAE5C,0BAAkB,GAAG,sBAAsB,CAAC;IAC5C,kCAA0B,GAAG,+BAA+B,CAAC;IAC7D,sCAA8B,GAAG,oCAAoC,CAAC;IACtE,gCAAwB,GAAG,6BAA6B,CAAC;IACzD,oCAA4B,GAAG,kCAAkC,CAAC;IAClE,8BAAsB,GAAG,0BAA0B,CAAC;IACpD,8BAAsB,GAAG,0BAA0B,CAAC;IAEpD,sBAAc,GAAG,iBAAiB,CAAC;IAEnC,4BAAoB,GAAG,wBAAwB,CAAC;IAEhD,sBAAc,GAAG,iBAAiB,CAAC;IAEhD,2CAA2C;IAC9B,2BAAmB,GAAG,wBAAwB,CAAC;IAE5D,qEAAqE;IACxD,kCAA0B,GAAG,gCAAgC,CAAC;IAE3E,6CAA6C;IAChC,wBAAgB,GAAG,oBAAoB,CAAC;IAErD,0CAA0C;IAC7B,uBAAe,GAAG,kBAAkB,CAAC;IAElD,sCAAsC;IACzB,yBAAiB,GAAG,qBAAqB,CAAC;IAEvD;;OAEG;IACU,oBAAY,GAAG,eAAe,CAAC;IAE5C;;OAEG;IACU,qBAAa,GAAG,gBAAgB,CAAC;IAE9C;;OAEG;IACU,iBAAS,GAAG,WAAW,CAAC;IAErC;;;OAGG;IACU,0BAAkB,GAAG,aAAa,CAAC;IAEhD;;OAEG;IACU,WAAG,GAAG,KAAK,CAAC;IAEzB;;OAEG;IACU,YAAI,GAAG,MAAM,CAAC;IAE3B;;OAEG;IACU,2BAAmB,GAAG,YAAY,CAAC;IAEhD;;OAEG;IACU,qBAAa,GAAG,SAAS,CAAC;IAEvC;;OAEG;IACU,mBAAW,GAAG,cAAc,CAAC;IAE1C;;OAEG;IACU,qBAAa,GAAG,QAAQ,CAAC;IAEtC;;OAEG;IACU,sBAAc,GAAG,iBAAiB,CAAC;IAEhD;;OAEG;IACU,iCAAyB,GAAG,kCAAkC,CAAC;IAC/D,wBAAgB,GAAG,yBAAyB,CAAC;AAC3D,CAAC,EA9IgB,OAAO,KAAP,OAAO,QA8IvB;AAED,MAAM,UAAU,aAAa,CAAC,MAAoB,EAAE,MAAc;IACjE,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACP,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC;IACnD,CAAC;AACF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAoB,EAAE,GAAG,OAAiB;IAC3E,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC;AACD,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,qBAAqB;IAA3B;QACkB,WAAM,GAAgD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1E,WAAM,GAAgD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1E,sBAAiB,GAAgD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9F,wBAAmB,GAAqB,MAAM,CAAC;QAC/C,cAAS,GAA+B,IAAI,CAAC;QAC7C,oBAAe,GAAW,GAAG,CAAC;IAqCvC,CAAC;IAnCA,qBAAqB,CAAC,MAAwB;QAC7C,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;IACnC,CAAC;IAED,IAAY,oBAAoB;QAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,CAAC,GAAQ;QACf,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC;gBACJ,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAC9B,OAAO,GAAG,CAAC;YACZ,CAAC;QACF,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QAChC,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAClE,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC;QACpB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,KAAK,GAAG,QAAQ,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACzC,KAAK,IAAI,IAAI,wBAAwB,IAAI,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAAC;QAChF,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC;YACf,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB;YAChF,SAAS,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,oBAAoB;YAC/B,KAAK;SACL,CAAC,CAAC;IACJ,CAAC;CACD;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,qBAAqB,EAAE,CAAC;AAE7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAE7C,MAAM,cAAc;aAEK,uBAAkB,GAAG,gBAAgB,CAAC;IAE9D;;;;;OAKG;IACH,eAAe,CAAC,GAAQ;QACvB,6CAA6C;QAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;YACzC,OAAO,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,sCAAsC;QACtC;QACC,oCAAoC;QACpC,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI;YAC3B;YACC,uCAAuC;YACvC,QAAQ,CAAC,QAAQ;gBACjB,yCAAyC;gBACzC,CAAC,QAAQ,CAAC,eAAe,KAAK,GAAG,OAAO,CAAC,kBAAkB,MAAM,cAAc,CAAC,kBAAkB,EAAE,CAAC,CACrG,EACA,CAAC;YACF,OAAO,GAAG,CAAC,IAAI,CAAC;gBACf,MAAM,EAAE,OAAO,CAAC,kBAAkB;gBAClC,4DAA4D;gBAC5D,yDAAyD;gBACzD,yDAAyD;gBACzD,cAAc;gBACd,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,cAAc,CAAC,kBAAkB;gBAC7D,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;aACd,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACZ,CAAC;;AAGF,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,cAAc,EAAE,CAAC;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAA2B,MAAM,CAAC,MAAM,CAAC;IACxE,eAAe,EAAE,oBAAoB;CACrC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAA2B,MAAM,CAAC,MAAM,CAAC;IAC1E,iBAAiB,EAAE,yCAAyC;CAC5D,CAAC,CAAC;AAEH,MAAM,KAAW,GAAG,CAgDnB;AAhDD,WAAiB,GAAG;IAEnB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAmD;QAC5E,CAAC,GAAG,EAAE,EAAE,4BAA4B,EAAE,aAAa,EAAE,CAAC;QACtD,CAAC,GAAG,EAAE,EAAE,8BAA8B,EAAE,cAAc,EAAE,CAAC;QACzD,CAAC,GAAG,EAAE,EAAE,4BAA4B,EAAE,aAAa,EAAE,8BAA8B,EAAE,cAAc,EAAE,CAAC;KACtG,CAAC,CAAC;IAEU,eAAW,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9D,MAAM,kBAAkB,GAAG,YAAY,CAAC;IAExC;;OAEG;IACH,SAAgB,mBAAmB,CAAC,GAAuB;QAC1D,IAAI,MAAmC,CAAC;QACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;QACpC,CAAC;aAAM,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QACnD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAde,uBAAmB,sBAclC,CAAA;IAED;;;OAGG;IACH,SAAgB,cAAc,CAAC,WAAqD,EAAE,IAAa,EAAE,IAAa;QACjH,mDAAmD;QACnD,IAAI,CAAO,UAAW,CAAC,mBAAmB,EAAE,CAAC;YAC5C,2CAA2C;YAC3C,OAAO;QACR,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACpD,IAAI,WAAW,YAAY,eAAe,EAAE,CAAC;YAC5C,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACkB,WAAY,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC;QACnE,CAAC;IACF,CAAC;IAZe,kBAAc,iBAY7B,CAAA;AACF,CAAC,EAhDgB,GAAG,KAAH,GAAG,QAgDnB","file":"network.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as errors from './errors.js';\nimport * as platform from './platform.js';\nimport { equalsIgnoreCase, startsWithIgnoreCase } from './strings.js';\nimport { URI } from './uri.js';\nimport * as paths from './path.js';\n\nexport namespace Schemas {\n\n\t/**\n\t * A schema that is used for models that exist in memory\n\t * only and that have no correspondence on a server or such.\n\t */\n\texport const inMemory = 'inmemory';\n\n\t/**\n\t * A schema that is used for setting files\n\t */\n\texport const vscode = 'vscode';\n\n\t/**\n\t * A schema that is used for internal private files\n\t */\n\texport const internal = 'private';\n\n\t/**\n\t * A walk-through document.\n\t */\n\texport const walkThrough = 'walkThrough';\n\n\t/**\n\t * An embedded code snippet.\n\t */\n\texport const walkThroughSnippet = 'walkThroughSnippet';\n\n\texport const http = 'http';\n\n\texport const https = 'https';\n\n\texport const file = 'file';\n\n\texport const mailto = 'mailto';\n\n\texport const untitled = 'untitled';\n\n\texport const data = 'data';\n\n\texport const command = 'command';\n\n\texport const vscodeRemote = 'vscode-remote';\n\n\texport const vscodeRemoteResource = 'vscode-remote-resource';\n\n\texport const vscodeManagedRemoteResource = 'vscode-managed-remote-resource';\n\n\texport const vscodeUserData = 'vscode-userdata';\n\n\texport const vscodeCustomEditor = 'vscode-custom-editor';\n\n\texport const vscodeNotebookCell = 'vscode-notebook-cell';\n\texport const vscodeNotebookCellMetadata = 'vscode-notebook-cell-metadata';\n\texport const vscodeNotebookCellMetadataDiff = 'vscode-notebook-cell-metadata-diff';\n\texport const vscodeNotebookCellOutput = 'vscode-notebook-cell-output';\n\texport const vscodeNotebookCellOutputDiff = 'vscode-notebook-cell-output-diff';\n\texport const vscodeNotebookMetadata = 'vscode-notebook-metadata';\n\texport const vscodeInteractiveInput = 'vscode-interactive-input';\n\n\texport const vscodeSettings = 'vscode-settings';\n\n\texport const vscodeWorkspaceTrust = 'vscode-workspace-trust';\n\n\texport const vscodeTerminal = 'vscode-terminal';\n\n\t/** Scheme used for code blocks in chat. */\n\texport const vscodeChatCodeBlock = 'vscode-chat-code-block';\n\n\t/** Scheme used for LHS of code compare (aka diff) blocks in chat. */\n\texport const vscodeChatCodeCompareBlock = 'vscode-chat-code-compare-block';\n\n\t/** Scheme used for the chat input editor. */\n\texport const vscodeChatEditor = 'vscode-chat-editor';\n\n\t/** Scheme used for the chat input part */\n\texport const vscodeChatInput = 'chatSessionInput';\n\n\t/** Scheme for chat session content */\n\texport const vscodeChatSession = 'vscode-chat-session';\n\n\t/**\n\t * Scheme used internally for webviews that aren't linked to a resource (i.e. not custom editors)\n\t */\n\texport const webviewPanel = 'webview-panel';\n\n\t/**\n\t * Scheme used for loading the wrapper html and script in webviews.\n\t */\n\texport const vscodeWebview = 'vscode-webview';\n\n\t/**\n\t * Scheme used for extension pages\n\t */\n\texport const extension = 'extension';\n\n\t/**\n\t * Scheme used as a replacement of `file` scheme to load\n\t * files with our custom protocol handler (desktop only).\n\t */\n\texport const vscodeFileResource = 'vscode-file';\n\n\t/**\n\t * Scheme used for temporary resources\n\t */\n\texport const tmp = 'tmp';\n\n\t/**\n\t * Scheme used vs live share\n\t */\n\texport const vsls = 'vsls';\n\n\t/**\n\t * Scheme used for the Source Control commit input's text document\n\t */\n\texport const vscodeSourceControl = 'vscode-scm';\n\n\t/**\n\t * Scheme used for input box for creating comments.\n\t */\n\texport const commentsInput = 'comment';\n\n\t/**\n\t * Scheme used for special rendering of settings in the release notes\n\t */\n\texport const codeSetting = 'code-setting';\n\n\t/**\n\t * Scheme used for output panel resources\n\t */\n\texport const outputChannel = 'output';\n\n\t/**\n\t * Scheme used for the accessible view\n\t */\n\texport const accessibleView = 'accessible-view';\n\n\t/**\n\t * Used for snapshots of chat edits\n\t */\n\texport const chatEditingSnapshotScheme = 'chat-editing-snapshot-text-model';\n\texport const chatEditingModel = 'chat-editing-text-model';\n}\n\nexport function matchesScheme(target: URI | string, scheme: string): boolean {\n\tif (URI.isUri(target)) {\n\t\treturn equalsIgnoreCase(target.scheme, scheme);\n\t} else {\n\t\treturn startsWithIgnoreCase(target, scheme + ':');\n\t}\n}\n\nexport function matchesSomeScheme(target: URI | string, ...schemes: string[]): boolean {\n\treturn schemes.some(scheme => matchesScheme(target, scheme));\n}\nexport const connectionTokenQueryName = 'tkn';\n\nclass RemoteAuthoritiesImpl {\n\tprivate readonly _hosts: { [authority: string]: string | undefined } = Object.create(null);\n\tprivate readonly _ports: { [authority: string]: number | undefined } = Object.create(null);\n\tprivate readonly _connectionTokens: { [authority: string]: string | undefined } = Object.create(null);\n\tprivate _preferredWebSchema: 'http' | 'https' = 'http';\n\tprivate _delegate: ((uri: URI) => URI) | null = null;\n\tprivate _serverRootPath: string = '/';\n\n\tsetPreferredWebSchema(schema: 'http' | 'https') {\n\t\tthis._preferredWebSchema = schema;\n\t}\n\n\tprivate get _remoteResourcesPath(): string {\n\t\treturn paths.posix.join(this._serverRootPath, Schemas.vscodeRemoteResource);\n\t}\n\n\trewrite(uri: URI): URI {\n\t\tif (this._delegate) {\n\t\t\ttry {\n\t\t\t\treturn this._delegate(uri);\n\t\t\t} catch (err) {\n\t\t\t\terrors.onUnexpectedError(err);\n\t\t\t\treturn uri;\n\t\t\t}\n\t\t}\n\t\tconst authority = uri.authority;\n\t\tlet host = this._hosts[authority];\n\t\tif (host && host.indexOf(':') !== -1 && host.indexOf('[') === -1) {\n\t\t\thost = `[${host}]`;\n\t\t}\n\t\tconst port = this._ports[authority];\n\t\tconst connectionToken = this._connectionTokens[authority];\n\t\tlet query = `path=${encodeURIComponent(uri.path)}`;\n\t\tif (typeof connectionToken === 'string') {\n\t\t\tquery += `&${connectionTokenQueryName}=${encodeURIComponent(connectionToken)}`;\n\t\t}\n\t\treturn URI.from({\n\t\t\tscheme: platform.isWeb ? this._preferredWebSchema : Schemas.vscodeRemoteResource,\n\t\t\tauthority: `${host}:${port}`,\n\t\t\tpath: this._remoteResourcesPath,\n\t\t\tquery\n\t\t});\n\t}\n}\n\nexport const RemoteAuthorities = new RemoteAuthoritiesImpl();\n\nexport const VSCODE_AUTHORITY = 'vscode-app';\n\nclass FileAccessImpl {\n\n\tprivate static readonly FALLBACK_AUTHORITY = VSCODE_AUTHORITY;\n\n\t/**\n\t * Returns a URI to use in contexts where the browser is responsible\n\t * for loading (e.g. fetch()) or when used within the DOM.\n\t *\n\t * **Note:** use `dom.ts#asCSSUrl` whenever the URL is to be used in CSS context.\n\t */\n\turiToBrowserUri(uri: URI): URI {\n\t\t// Handle remote URIs via `RemoteAuthorities`\n\t\tif (uri.scheme === Schemas.vscodeRemote) {\n\t\t\treturn RemoteAuthorities.rewrite(uri);\n\t\t}\n\n\t\t// Convert to `vscode-file` resource..\n\t\tif (\n\t\t\t// ...only ever for `file` resources\n\t\t\turi.scheme === Schemas.file &&\n\t\t\t(\n\t\t\t\t// ...and we run in native environments\n\t\t\t\tplatform.isNative ||\n\t\t\t\t// ...or web worker extensions on desktop\n\t\t\t\t(platform.webWorkerOrigin === `${Schemas.vscodeFileResource}://${FileAccessImpl.FALLBACK_AUTHORITY}`)\n\t\t\t)\n\t\t) {\n\t\t\treturn uri.with({\n\t\t\t\tscheme: Schemas.vscodeFileResource,\n\t\t\t\t// We need to provide an authority here so that it can serve\n\t\t\t\t// as origin for network and loading matters in chromium.\n\t\t\t\t// If the URI is not coming with an authority already, we\n\t\t\t\t// add our own\n\t\t\t\tauthority: uri.authority || FileAccessImpl.FALLBACK_AUTHORITY,\n\t\t\t\tquery: null,\n\t\t\t\tfragment: null\n\t\t\t});\n\t\t}\n\n\t\treturn uri;\n\t}\n}\n\nexport const FileAccess = new FileAccessImpl();\n\nexport const CacheControlheaders: Record<string, string> = Object.freeze({\n\t'Cache-Control': 'no-cache, no-store'\n});\n\nexport const DocumentPolicyheaders: Record<string, string> = Object.freeze({\n\t'Document-Policy': 'include-js-call-stacks-in-crash-reports'\n});\n\nexport namespace COI {\n\n\tconst coiHeaders = new Map<'3' | '2' | '1' | string, Record<string, string>>([\n\t\t['1', { 'Cross-Origin-Opener-Policy': 'same-origin' }],\n\t\t['2', { 'Cross-Origin-Embedder-Policy': 'require-corp' }],\n\t\t['3', { 'Cross-Origin-Opener-Policy': 'same-origin', 'Cross-Origin-Embedder-Policy': 'require-corp' }],\n\t]);\n\n\texport const CoopAndCoep = Object.freeze(coiHeaders.get('3'));\n\n\tconst coiSearchParamName = 'vscode-coi';\n\n\t/**\n\t * Extract desired headers from `vscode-coi` invocation\n\t */\n\texport function getHeadersFromQuery(url: string | URI | URL): Record<string, string> | undefined {\n\t\tlet params: URLSearchParams | undefined;\n\t\tif (typeof url === 'string') {\n\t\t\tparams = new URL(url).searchParams;\n\t\t} else if (url instanceof URL) {\n\t\t\tparams = url.searchParams;\n\t\t} else if (URI.isUri(url)) {\n\t\t\tparams = new URL(url.toString(true)).searchParams;\n\t\t}\n\t\tconst value = params?.get(coiSearchParamName);\n\t\tif (!value) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn coiHeaders.get(value);\n\t}\n\n\t/**\n\t * Add the `vscode-coi` query attribute based on wanting `COOP` and `COEP`. Will be a noop when `crossOriginIsolated`\n\t * isn't enabled the current context\n\t */\n\texport function addSearchParam(urlOrSearch: URLSearchParams | Record<string, string>, coop: boolean, coep: boolean): void {\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tif (!(<any>globalThis).crossOriginIsolated) {\n\t\t\t// depends on the current context being COI\n\t\t\treturn;\n\t\t}\n\t\tconst value = coop && coep ? '3' : coep ? '2' : '1';\n\t\tif (urlOrSearch instanceof URLSearchParams) {\n\t\t\turlOrSearch.set(coiSearchParamName, value);\n\t\t} else {\n\t\t\t(<Record<string, string>>urlOrSearch)[coiSearchParamName] = value;\n\t\t}\n\t}\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as errors from './errors.js';\nimport * as platform from './platform.js';\nimport { equalsIgnoreCase, startsWithIgnoreCase } from './strings.js';\nimport { URI } from './uri.js';\nimport * as paths from './path.js';\n\nexport namespace Schemas {\n\n\t/**\n\t * A schema that is used for models that exist in memory\n\t * only and that have no correspondence on a server or such.\n\t */\n\texport const inMemory = 'inmemory';\n\n\t/**\n\t * A schema that is used for setting files\n\t */\n\texport const vscode = 'vscode';\n\n\t/**\n\t * A schema that is used for internal private files\n\t */\n\texport const internal = 'private';\n\n\t/**\n\t * A walk-through document.\n\t */\n\texport const walkThrough = 'walkThrough';\n\n\t/**\n\t * An embedded code snippet.\n\t */\n\texport const walkThroughSnippet = 'walkThroughSnippet';\n\n\texport const http = 'http';\n\n\texport const https = 'https';\n\n\texport const file = 'file';\n\n\texport const mailto = 'mailto';\n\n\texport const untitled = 'untitled';\n\n\texport const data = 'data';\n\n\texport const command = 'command';\n\n\texport const vscodeRemote = 'vscode-remote';\n\n\texport const vscodeRemoteResource = 'vscode-remote-resource';\n\n\texport const vscodeManagedRemoteResource = 'vscode-managed-remote-resource';\n\n\texport const vscodeUserData = 'vscode-userdata';\n\n\texport const vscodeCustomEditor = 'vscode-custom-editor';\n\n\texport const vscodeNotebookCell = 'vscode-notebook-cell';\n\texport const vscodeNotebookCellMetadata = 'vscode-notebook-cell-metadata';\n\texport const vscodeNotebookCellMetadataDiff = 'vscode-notebook-cell-metadata-diff';\n\texport const vscodeNotebookCellOutput = 'vscode-notebook-cell-output';\n\texport const vscodeNotebookCellOutputDiff = 'vscode-notebook-cell-output-diff';\n\texport const vscodeNotebookMetadata = 'vscode-notebook-metadata';\n\texport const vscodeInteractiveInput = 'vscode-interactive-input';\n\n\texport const vscodeSettings = 'vscode-settings';\n\n\texport const vscodeWorkspaceTrust = 'vscode-workspace-trust';\n\n\texport const vscodeTerminal = 'vscode-terminal';\n\n\t/** Scheme used for code blocks in chat. */\n\texport const vscodeChatCodeBlock = 'vscode-chat-code-block';\n\n\t/** Scheme used for LHS of code compare (aka diff) blocks in chat. */\n\texport const vscodeChatCodeCompareBlock = 'vscode-chat-code-compare-block';\n\n\t/** Scheme used for the chat input editor. */\n\texport const vscodeChatEditor = 'vscode-chat-editor';\n\n\t/** Scheme used for the chat input part */\n\texport const vscodeChatInput = 'chatSessionInput';\n\n\t/** Scheme for chat session content */\n\texport const vscodeChatSession = 'vscode-chat-session';\n\n\t/**\n\t * Scheme used internally for webviews that aren't linked to a resource (i.e. not custom editors)\n\t */\n\texport const webviewPanel = 'webview-panel';\n\n\t/**\n\t * Scheme used for loading the wrapper html and script in webviews.\n\t */\n\texport const vscodeWebview = 'vscode-webview';\n\n\t/**\n\t * Scheme used for extension pages\n\t */\n\texport const extension = 'extension';\n\n\t/**\n\t * Scheme used as a replacement of `file` scheme to load\n\t * files with our custom protocol handler (desktop only).\n\t */\n\texport const vscodeFileResource = 'vscode-file';\n\n\t/**\n\t * Scheme used for temporary resources\n\t */\n\texport const tmp = 'tmp';\n\n\t/**\n\t * Scheme used vs live share\n\t */\n\texport const vsls = 'vsls';\n\n\t/**\n\t * Scheme used for the Source Control commit input's text document\n\t */\n\texport const vscodeSourceControl = 'vscode-scm';\n\n\t/**\n\t * Scheme used for input box for creating comments.\n\t */\n\texport const commentsInput = 'comment';\n\n\t/**\n\t * Scheme used for special rendering of settings in the release notes\n\t */\n\texport const codeSetting = 'code-setting';\n\n\t/**\n\t * Scheme used for output panel resources\n\t */\n\texport const outputChannel = 'output';\n\n\t/**\n\t * Scheme used for the accessible view\n\t */\n\texport const accessibleView = 'accessible-view';\n\n\t/**\n\t * Used for snapshots of chat edits\n\t */\n\texport const chatEditingSnapshotScheme = 'chat-editing-snapshot-text-model';\n\texport const chatEditingModel = 'chat-editing-text-model';\n}\n\nexport function matchesScheme(target: URI | string, scheme: string): boolean {\n\tif (URI.isUri(target)) {\n\t\treturn equalsIgnoreCase(target.scheme, scheme);\n\t} else {\n\t\treturn startsWithIgnoreCase(target, scheme + ':');\n\t}\n}\n\nexport function matchesSomeScheme(target: URI | string, ...schemes: string[]): boolean {\n\treturn schemes.some(scheme => matchesScheme(target, scheme));\n}\nexport const connectionTokenQueryName = 'tkn';\n\nclass RemoteAuthoritiesImpl {\n\tprivate readonly _hosts: { [authority: string]: string | undefined } = Object.create(null);\n\tprivate readonly _ports: { [authority: string]: number | undefined } = Object.create(null);\n\tprivate readonly _connectionTokens: { [authority: string]: string | undefined } = Object.create(null);\n\tprivate _preferredWebSchema: 'http' | 'https' = 'http';\n\tprivate _delegate: ((uri: URI) => URI) | null = null;\n\tprivate _serverRootPath: string = '/';\n\n\tsetPreferredWebSchema(schema: 'http' | 'https') {\n\t\tthis._preferredWebSchema = schema;\n\t}\n\n\tprivate get _remoteResourcesPath(): string {\n\t\treturn paths.posix.join(this._serverRootPath, Schemas.vscodeRemoteResource);\n\t}\n\n\trewrite(uri: URI): URI {\n\t\tif (this._delegate) {\n\t\t\ttry {\n\t\t\t\treturn this._delegate(uri);\n\t\t\t} catch (err) {\n\t\t\t\terrors.onUnexpectedError(err);\n\t\t\t\treturn uri;\n\t\t\t}\n\t\t}\n\t\tconst authority = uri.authority;\n\t\tlet host = this._hosts[authority];\n\t\tif (host && host.indexOf(':') !== -1 && host.indexOf('[') === -1) {\n\t\t\thost = `[${host}]`;\n\t\t}\n\t\tconst port = this._ports[authority];\n\t\tconst connectionToken = this._connectionTokens[authority];\n\t\tlet query = `path=${encodeURIComponent(uri.path)}`;\n\t\tif (typeof connectionToken === 'string') {\n\t\t\tquery += `&${connectionTokenQueryName}=${encodeURIComponent(connectionToken)}`;\n\t\t}\n\t\treturn URI.from({\n\t\t\tscheme: platform.isWeb ? this._preferredWebSchema : Schemas.vscodeRemoteResource,\n\t\t\tauthority: `${host}:${port}`,\n\t\t\tpath: this._remoteResourcesPath,\n\t\t\tquery\n\t\t});\n\t}\n}\n\nexport const RemoteAuthorities = new RemoteAuthoritiesImpl();\n\nexport const VSCODE_AUTHORITY = 'vscode-app';\n\nclass FileAccessImpl {\n\n\tprivate static readonly FALLBACK_AUTHORITY = VSCODE_AUTHORITY;\n\n\t/**\n\t * Returns a URI to use in contexts where the browser is responsible\n\t * for loading (e.g. fetch()) or when used within the DOM.\n\t *\n\t * **Note:** use `dom.ts#asCSSUrl` whenever the URL is to be used in CSS context.\n\t */\n\turiToBrowserUri(uri: URI): URI {\n\t\t// Handle remote URIs via `RemoteAuthorities`\n\t\tif (uri.scheme === Schemas.vscodeRemote) {\n\t\t\treturn RemoteAuthorities.rewrite(uri);\n\t\t}\n\n\t\t// Convert to `vscode-file` resource..\n\t\tif (\n\t\t\t// ...only ever for `file` resources\n\t\t\turi.scheme === Schemas.file &&\n\t\t\t(\n\t\t\t\t// ...and we run in native environments\n\t\t\t\tplatform.isNative ||\n\t\t\t\t// ...or web worker extensions on desktop\n\t\t\t\t(platform.webWorkerOrigin === `${Schemas.vscodeFileResource}://${FileAccessImpl.FALLBACK_AUTHORITY}`)\n\t\t\t)\n\t\t) {\n\t\t\treturn uri.with({\n\t\t\t\tscheme: Schemas.vscodeFileResource,\n\t\t\t\t// We need to provide an authority here so that it can serve\n\t\t\t\t// as origin for network and loading matters in chromium.\n\t\t\t\t// If the URI is not coming with an authority already, we\n\t\t\t\t// add our own\n\t\t\t\tauthority: uri.authority || FileAccessImpl.FALLBACK_AUTHORITY,\n\t\t\t\tquery: null,\n\t\t\t\tfragment: null\n\t\t\t});\n\t\t}\n\n\t\treturn uri;\n\t}\n}\n\nexport const FileAccess = new FileAccessImpl();\n\nexport const CacheControlheaders: Record<string, string> = Object.freeze({\n\t'Cache-Control': 'no-cache, no-store'\n});\n\nexport const DocumentPolicyheaders: Record<string, string> = Object.freeze({\n\t'Document-Policy': 'include-js-call-stacks-in-crash-reports'\n});\n\nexport namespace COI {\n\n\tconst coiHeaders = new Map<'3' | '2' | '1' | string, Record<string, string>>([\n\t\t['1', { 'Cross-Origin-Opener-Policy': 'same-origin' }],\n\t\t['2', { 'Cross-Origin-Embedder-Policy': 'require-corp' }],\n\t\t['3', { 'Cross-Origin-Opener-Policy': 'same-origin', 'Cross-Origin-Embedder-Policy': 'require-corp' }],\n\t]);\n\n\texport const CoopAndCoep = Object.freeze(coiHeaders.get('3'));\n\n\tconst coiSearchParamName = 'vscode-coi';\n\n\t/**\n\t * Extract desired headers from `vscode-coi` invocation\n\t */\n\texport function getHeadersFromQuery(url: string | URI | URL): Record<string, string> | undefined {\n\t\tlet params: URLSearchParams | undefined;\n\t\tif (typeof url === 'string') {\n\t\t\tparams = new URL(url).searchParams;\n\t\t} else if (url instanceof URL) {\n\t\t\tparams = url.searchParams;\n\t\t} else if (URI.isUri(url)) {\n\t\t\tparams = new URL(url.toString(true)).searchParams;\n\t\t}\n\t\tconst value = params?.get(coiSearchParamName);\n\t\tif (!value) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn coiHeaders.get(value);\n\t}\n\n\t/**\n\t * Add the `vscode-coi` query attribute based on wanting `COOP` and `COEP`. Will be a noop when `crossOriginIsolated`\n\t * isn't enabled the current context\n\t */\n\texport function addSearchParam(urlOrSearch: URLSearchParams | Record<string, string>, coop: boolean, coep: boolean): void {\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tif (!(<any>globalThis).crossOriginIsolated) {\n\t\t\t// depends on the current context being COI\n\t\t\treturn;\n\t\t}\n\t\tconst value = coop && coep ? '3' : coep ? '2' : '1';\n\t\tif (urlOrSearch instanceof URLSearchParams) {\n\t\t\turlOrSearch.set(coiSearchParamName, value);\n\t\t} else {\n\t\t\t(<Record<string, string>>urlOrSearch)[coiSearchParamName] = value;\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/base/common/network.ts","vs/base/common/network.ts"],"names":[],"mappings":"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","file":"network.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as errors from './errors.js';\nimport * as platform from './platform.js';\nimport { equalsIgnoreCase, startsWithIgnoreCase } from './strings.js';\nimport { URI } from './uri.js';\nimport * as paths from './path.js';\n\nexport namespace Schemas {\n\n\t/**\n\t * A schema that is used for models that exist in memory\n\t * only and that have no correspondence on a server or such.\n\t */\n\texport const inMemory = 'inmemory';\n\n\t/**\n\t * A schema that is used for setting files\n\t */\n\texport const vscode = 'vscode';\n\n\t/**\n\t * A schema that is used for internal private files\n\t */\n\texport const internal = 'private';\n\n\t/**\n\t * A walk-through document.\n\t */\n\texport const walkThrough = 'walkThrough';\n\n\t/**\n\t * An embedded code snippet.\n\t */\n\texport const walkThroughSnippet = 'walkThroughSnippet';\n\n\texport const http = 'http';\n\n\texport const https = 'https';\n\n\texport const file = 'file';\n\n\texport const mailto = 'mailto';\n\n\texport const untitled = 'untitled';\n\n\texport const data = 'data';\n\n\texport const command = 'command';\n\n\texport const vscodeRemote = 'vscode-remote';\n\n\texport const vscodeRemoteResource = 'vscode-remote-resource';\n\n\texport const vscodeManagedRemoteResource = 'vscode-managed-remote-resource';\n\n\texport const vscodeUserData = 'vscode-userdata';\n\n\texport const vscodeCustomEditor = 'vscode-custom-editor';\n\n\texport const vscodeNotebookCell = 'vscode-notebook-cell';\n\texport const vscodeNotebookCellMetadata = 'vscode-notebook-cell-metadata';\n\texport const vscodeNotebookCellMetadataDiff = 'vscode-notebook-cell-metadata-diff';\n\texport const vscodeNotebookCellOutput = 'vscode-notebook-cell-output';\n\texport const vscodeNotebookCellOutputDiff = 'vscode-notebook-cell-output-diff';\n\texport const vscodeNotebookMetadata = 'vscode-notebook-metadata';\n\texport const vscodeInteractiveInput = 'vscode-interactive-input';\n\n\texport const vscodeSettings = 'vscode-settings';\n\n\texport const vscodeWorkspaceTrust = 'vscode-workspace-trust';\n\n\texport const vscodeTerminal = 'vscode-terminal';\n\n\t/** Scheme used for code blocks in chat. */\n\texport const vscodeChatCodeBlock = 'vscode-chat-code-block';\n\n\t/** Scheme used for LHS of code compare (aka diff) blocks in chat. */\n\texport const vscodeChatCodeCompareBlock = 'vscode-chat-code-compare-block';\n\n\t/** Scheme used for the chat input editor. */\n\texport const vscodeChatEditor = 'vscode-chat-editor';\n\n\t/** Scheme used for the chat input part */\n\texport const vscodeChatInput = 'chatSessionInput';\n\n\t/**\n\t * Scheme for chat session content\n\t *\n\t * @deprecated\n\t * */\n\texport const vscodeChatSession = 'vscode-chat-session';\n\n\t/**\n\t * Scheme used internally for webviews that aren't linked to a resource (i.e. not custom editors)\n\t */\n\texport const webviewPanel = 'webview-panel';\n\n\t/**\n\t * Scheme used for loading the wrapper html and script in webviews.\n\t */\n\texport const vscodeWebview = 'vscode-webview';\n\n\t/**\n\t * Scheme used for extension pages\n\t */\n\texport const extension = 'extension';\n\n\t/**\n\t * Scheme used as a replacement of `file` scheme to load\n\t * files with our custom protocol handler (desktop only).\n\t */\n\texport const vscodeFileResource = 'vscode-file';\n\n\t/**\n\t * Scheme used for temporary resources\n\t */\n\texport const tmp = 'tmp';\n\n\t/**\n\t * Scheme used vs live share\n\t */\n\texport const vsls = 'vsls';\n\n\t/**\n\t * Scheme used for the Source Control commit input's text document\n\t */\n\texport const vscodeSourceControl = 'vscode-scm';\n\n\t/**\n\t * Scheme used for input box for creating comments.\n\t */\n\texport const commentsInput = 'comment';\n\n\t/**\n\t * Scheme used for special rendering of settings in the release notes\n\t */\n\texport const codeSetting = 'code-setting';\n\n\t/**\n\t * Scheme used for output panel resources\n\t */\n\texport const outputChannel = 'output';\n\n\t/**\n\t * Scheme used for the accessible view\n\t */\n\texport const accessibleView = 'accessible-view';\n\n\t/**\n\t * Used for snapshots of chat edits\n\t */\n\texport const chatEditingSnapshotScheme = 'chat-editing-snapshot-text-model';\n\texport const chatEditingModel = 'chat-editing-text-model';\n}\n\nexport function matchesScheme(target: URI | string, scheme: string): boolean {\n\tif (URI.isUri(target)) {\n\t\treturn equalsIgnoreCase(target.scheme, scheme);\n\t} else {\n\t\treturn startsWithIgnoreCase(target, scheme + ':');\n\t}\n}\n\nexport function matchesSomeScheme(target: URI | string, ...schemes: string[]): boolean {\n\treturn schemes.some(scheme => matchesScheme(target, scheme));\n}\nexport const connectionTokenQueryName = 'tkn';\n\nclass RemoteAuthoritiesImpl {\n\tprivate readonly _hosts: { [authority: string]: string | undefined } = Object.create(null);\n\tprivate readonly _ports: { [authority: string]: number | undefined } = Object.create(null);\n\tprivate readonly _connectionTokens: { [authority: string]: string | undefined } = Object.create(null);\n\tprivate _preferredWebSchema: 'http' | 'https' = 'http';\n\tprivate _delegate: ((uri: URI) => URI) | null = null;\n\tprivate _serverRootPath: string = '/';\n\n\tsetPreferredWebSchema(schema: 'http' | 'https') {\n\t\tthis._preferredWebSchema = schema;\n\t}\n\n\tprivate get _remoteResourcesPath(): string {\n\t\treturn paths.posix.join(this._serverRootPath, Schemas.vscodeRemoteResource);\n\t}\n\n\trewrite(uri: URI): URI {\n\t\tif (this._delegate) {\n\t\t\ttry {\n\t\t\t\treturn this._delegate(uri);\n\t\t\t} catch (err) {\n\t\t\t\terrors.onUnexpectedError(err);\n\t\t\t\treturn uri;\n\t\t\t}\n\t\t}\n\t\tconst authority = uri.authority;\n\t\tlet host = this._hosts[authority];\n\t\tif (host && host.indexOf(':') !== -1 && host.indexOf('[') === -1) {\n\t\t\thost = `[${host}]`;\n\t\t}\n\t\tconst port = this._ports[authority];\n\t\tconst connectionToken = this._connectionTokens[authority];\n\t\tlet query = `path=${encodeURIComponent(uri.path)}`;\n\t\tif (typeof connectionToken === 'string') {\n\t\t\tquery += `&${connectionTokenQueryName}=${encodeURIComponent(connectionToken)}`;\n\t\t}\n\t\treturn URI.from({\n\t\t\tscheme: platform.isWeb ? this._preferredWebSchema : Schemas.vscodeRemoteResource,\n\t\t\tauthority: `${host}:${port}`,\n\t\t\tpath: this._remoteResourcesPath,\n\t\t\tquery\n\t\t});\n\t}\n}\n\nexport const RemoteAuthorities = new RemoteAuthoritiesImpl();\n\nexport const VSCODE_AUTHORITY = 'vscode-app';\n\nclass FileAccessImpl {\n\n\tprivate static readonly FALLBACK_AUTHORITY = VSCODE_AUTHORITY;\n\n\t/**\n\t * Returns a URI to use in contexts where the browser is responsible\n\t * for loading (e.g. fetch()) or when used within the DOM.\n\t *\n\t * **Note:** use `dom.ts#asCSSUrl` whenever the URL is to be used in CSS context.\n\t */\n\turiToBrowserUri(uri: URI): URI {\n\t\t// Handle remote URIs via `RemoteAuthorities`\n\t\tif (uri.scheme === Schemas.vscodeRemote) {\n\t\t\treturn RemoteAuthorities.rewrite(uri);\n\t\t}\n\n\t\t// Convert to `vscode-file` resource..\n\t\tif (\n\t\t\t// ...only ever for `file` resources\n\t\t\turi.scheme === Schemas.file &&\n\t\t\t(\n\t\t\t\t// ...and we run in native environments\n\t\t\t\tplatform.isNative ||\n\t\t\t\t// ...or web worker extensions on desktop\n\t\t\t\t(platform.webWorkerOrigin === `${Schemas.vscodeFileResource}://${FileAccessImpl.FALLBACK_AUTHORITY}`)\n\t\t\t)\n\t\t) {\n\t\t\treturn uri.with({\n\t\t\t\tscheme: Schemas.vscodeFileResource,\n\t\t\t\t// We need to provide an authority here so that it can serve\n\t\t\t\t// as origin for network and loading matters in chromium.\n\t\t\t\t// If the URI is not coming with an authority already, we\n\t\t\t\t// add our own\n\t\t\t\tauthority: uri.authority || FileAccessImpl.FALLBACK_AUTHORITY,\n\t\t\t\tquery: null,\n\t\t\t\tfragment: null\n\t\t\t});\n\t\t}\n\n\t\treturn uri;\n\t}\n}\n\nexport const FileAccess = new FileAccessImpl();\n\nexport const CacheControlheaders: Record<string, string> = Object.freeze({\n\t'Cache-Control': 'no-cache, no-store'\n});\n\nexport const DocumentPolicyheaders: Record<string, string> = Object.freeze({\n\t'Document-Policy': 'include-js-call-stacks-in-crash-reports'\n});\n\nexport namespace COI {\n\n\tconst coiHeaders = new Map<'3' | '2' | '1' | string, Record<string, string>>([\n\t\t['1', { 'Cross-Origin-Opener-Policy': 'same-origin' }],\n\t\t['2', { 'Cross-Origin-Embedder-Policy': 'require-corp' }],\n\t\t['3', { 'Cross-Origin-Opener-Policy': 'same-origin', 'Cross-Origin-Embedder-Policy': 'require-corp' }],\n\t]);\n\n\texport const CoopAndCoep = Object.freeze(coiHeaders.get('3'));\n\n\tconst coiSearchParamName = 'vscode-coi';\n\n\t/**\n\t * Extract desired headers from `vscode-coi` invocation\n\t */\n\texport function getHeadersFromQuery(url: string | URI | URL): Record<string, string> | undefined {\n\t\tlet params: URLSearchParams | undefined;\n\t\tif (typeof url === 'string') {\n\t\t\tparams = new URL(url).searchParams;\n\t\t} else if (url instanceof URL) {\n\t\t\tparams = url.searchParams;\n\t\t} else if (URI.isUri(url)) {\n\t\t\tparams = new URL(url.toString(true)).searchParams;\n\t\t}\n\t\tconst value = params?.get(coiSearchParamName);\n\t\tif (!value) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn coiHeaders.get(value);\n\t}\n\n\t/**\n\t * Add the `vscode-coi` query attribute based on wanting `COOP` and `COEP`. Will be a noop when `crossOriginIsolated`\n\t * isn't enabled the current context\n\t */\n\texport function addSearchParam(urlOrSearch: URLSearchParams | Record<string, string>, coop: boolean, coep: boolean): void {\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tif (!(<any>globalThis).crossOriginIsolated) {\n\t\t\t// depends on the current context being COI\n\t\t\treturn;\n\t\t}\n\t\tconst value = coop && coep ? '3' : coep ? '2' : '1';\n\t\tif (urlOrSearch instanceof URLSearchParams) {\n\t\t\turlOrSearch.set(coiSearchParamName, value);\n\t\t} else {\n\t\t\t(<Record<string, string>>urlOrSearch)[coiSearchParamName] = value;\n\t\t}\n\t}\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as errors from './errors.js';\nimport * as platform from './platform.js';\nimport { equalsIgnoreCase, startsWithIgnoreCase } from './strings.js';\nimport { URI } from './uri.js';\nimport * as paths from './path.js';\n\nexport namespace Schemas {\n\n\t/**\n\t * A schema that is used for models that exist in memory\n\t * only and that have no correspondence on a server or such.\n\t */\n\texport const inMemory = 'inmemory';\n\n\t/**\n\t * A schema that is used for setting files\n\t */\n\texport const vscode = 'vscode';\n\n\t/**\n\t * A schema that is used for internal private files\n\t */\n\texport const internal = 'private';\n\n\t/**\n\t * A walk-through document.\n\t */\n\texport const walkThrough = 'walkThrough';\n\n\t/**\n\t * An embedded code snippet.\n\t */\n\texport const walkThroughSnippet = 'walkThroughSnippet';\n\n\texport const http = 'http';\n\n\texport const https = 'https';\n\n\texport const file = 'file';\n\n\texport const mailto = 'mailto';\n\n\texport const untitled = 'untitled';\n\n\texport const data = 'data';\n\n\texport const command = 'command';\n\n\texport const vscodeRemote = 'vscode-remote';\n\n\texport const vscodeRemoteResource = 'vscode-remote-resource';\n\n\texport const vscodeManagedRemoteResource = 'vscode-managed-remote-resource';\n\n\texport const vscodeUserData = 'vscode-userdata';\n\n\texport const vscodeCustomEditor = 'vscode-custom-editor';\n\n\texport const vscodeNotebookCell = 'vscode-notebook-cell';\n\texport const vscodeNotebookCellMetadata = 'vscode-notebook-cell-metadata';\n\texport const vscodeNotebookCellMetadataDiff = 'vscode-notebook-cell-metadata-diff';\n\texport const vscodeNotebookCellOutput = 'vscode-notebook-cell-output';\n\texport const vscodeNotebookCellOutputDiff = 'vscode-notebook-cell-output-diff';\n\texport const vscodeNotebookMetadata = 'vscode-notebook-metadata';\n\texport const vscodeInteractiveInput = 'vscode-interactive-input';\n\n\texport const vscodeSettings = 'vscode-settings';\n\n\texport const vscodeWorkspaceTrust = 'vscode-workspace-trust';\n\n\texport const vscodeTerminal = 'vscode-terminal';\n\n\t/** Scheme used for code blocks in chat. */\n\texport const vscodeChatCodeBlock = 'vscode-chat-code-block';\n\n\t/** Scheme used for LHS of code compare (aka diff) blocks in chat. */\n\texport const vscodeChatCodeCompareBlock = 'vscode-chat-code-compare-block';\n\n\t/** Scheme used for the chat input editor. */\n\texport const vscodeChatEditor = 'vscode-chat-editor';\n\n\t/** Scheme used for the chat input part */\n\texport const vscodeChatInput = 'chatSessionInput';\n\n\t/**\n\t * Scheme for chat session content\n\t *\n\t * @deprecated\n\t * */\n\texport const vscodeChatSession = 'vscode-chat-session';\n\n\t/**\n\t * Scheme used internally for webviews that aren't linked to a resource (i.e. not custom editors)\n\t */\n\texport const webviewPanel = 'webview-panel';\n\n\t/**\n\t * Scheme used for loading the wrapper html and script in webviews.\n\t */\n\texport const vscodeWebview = 'vscode-webview';\n\n\t/**\n\t * Scheme used for extension pages\n\t */\n\texport const extension = 'extension';\n\n\t/**\n\t * Scheme used as a replacement of `file` scheme to load\n\t * files with our custom protocol handler (desktop only).\n\t */\n\texport const vscodeFileResource = 'vscode-file';\n\n\t/**\n\t * Scheme used for temporary resources\n\t */\n\texport const tmp = 'tmp';\n\n\t/**\n\t * Scheme used vs live share\n\t */\n\texport const vsls = 'vsls';\n\n\t/**\n\t * Scheme used for the Source Control commit input's text document\n\t */\n\texport const vscodeSourceControl = 'vscode-scm';\n\n\t/**\n\t * Scheme used for input box for creating comments.\n\t */\n\texport const commentsInput = 'comment';\n\n\t/**\n\t * Scheme used for special rendering of settings in the release notes\n\t */\n\texport const codeSetting = 'code-setting';\n\n\t/**\n\t * Scheme used for output panel resources\n\t */\n\texport const outputChannel = 'output';\n\n\t/**\n\t * Scheme used for the accessible view\n\t */\n\texport const accessibleView = 'accessible-view';\n\n\t/**\n\t * Used for snapshots of chat edits\n\t */\n\texport const chatEditingSnapshotScheme = 'chat-editing-snapshot-text-model';\n\texport const chatEditingModel = 'chat-editing-text-model';\n}\n\nexport function matchesScheme(target: URI | string, scheme: string): boolean {\n\tif (URI.isUri(target)) {\n\t\treturn equalsIgnoreCase(target.scheme, scheme);\n\t} else {\n\t\treturn startsWithIgnoreCase(target, scheme + ':');\n\t}\n}\n\nexport function matchesSomeScheme(target: URI | string, ...schemes: string[]): boolean {\n\treturn schemes.some(scheme => matchesScheme(target, scheme));\n}\nexport const connectionTokenQueryName = 'tkn';\n\nclass RemoteAuthoritiesImpl {\n\tprivate readonly _hosts: { [authority: string]: string | undefined } = Object.create(null);\n\tprivate readonly _ports: { [authority: string]: number | undefined } = Object.create(null);\n\tprivate readonly _connectionTokens: { [authority: string]: string | undefined } = Object.create(null);\n\tprivate _preferredWebSchema: 'http' | 'https' = 'http';\n\tprivate _delegate: ((uri: URI) => URI) | null = null;\n\tprivate _serverRootPath: string = '/';\n\n\tsetPreferredWebSchema(schema: 'http' | 'https') {\n\t\tthis._preferredWebSchema = schema;\n\t}\n\n\tprivate get _remoteResourcesPath(): string {\n\t\treturn paths.posix.join(this._serverRootPath, Schemas.vscodeRemoteResource);\n\t}\n\n\trewrite(uri: URI): URI {\n\t\tif (this._delegate) {\n\t\t\ttry {\n\t\t\t\treturn this._delegate(uri);\n\t\t\t} catch (err) {\n\t\t\t\terrors.onUnexpectedError(err);\n\t\t\t\treturn uri;\n\t\t\t}\n\t\t}\n\t\tconst authority = uri.authority;\n\t\tlet host = this._hosts[authority];\n\t\tif (host && host.indexOf(':') !== -1 && host.indexOf('[') === -1) {\n\t\t\thost = `[${host}]`;\n\t\t}\n\t\tconst port = this._ports[authority];\n\t\tconst connectionToken = this._connectionTokens[authority];\n\t\tlet query = `path=${encodeURIComponent(uri.path)}`;\n\t\tif (typeof connectionToken === 'string') {\n\t\t\tquery += `&${connectionTokenQueryName}=${encodeURIComponent(connectionToken)}`;\n\t\t}\n\t\treturn URI.from({\n\t\t\tscheme: platform.isWeb ? this._preferredWebSchema : Schemas.vscodeRemoteResource,\n\t\t\tauthority: `${host}:${port}`,\n\t\t\tpath: this._remoteResourcesPath,\n\t\t\tquery\n\t\t});\n\t}\n}\n\nexport const RemoteAuthorities = new RemoteAuthoritiesImpl();\n\nexport const VSCODE_AUTHORITY = 'vscode-app';\n\nclass FileAccessImpl {\n\n\tprivate static readonly FALLBACK_AUTHORITY = VSCODE_AUTHORITY;\n\n\t/**\n\t * Returns a URI to use in contexts where the browser is responsible\n\t * for loading (e.g. fetch()) or when used within the DOM.\n\t *\n\t * **Note:** use `dom.ts#asCSSUrl` whenever the URL is to be used in CSS context.\n\t */\n\turiToBrowserUri(uri: URI): URI {\n\t\t// Handle remote URIs via `RemoteAuthorities`\n\t\tif (uri.scheme === Schemas.vscodeRemote) {\n\t\t\treturn RemoteAuthorities.rewrite(uri);\n\t\t}\n\n\t\t// Convert to `vscode-file` resource..\n\t\tif (\n\t\t\t// ...only ever for `file` resources\n\t\t\turi.scheme === Schemas.file &&\n\t\t\t(\n\t\t\t\t// ...and we run in native environments\n\t\t\t\tplatform.isNative ||\n\t\t\t\t// ...or web worker extensions on desktop\n\t\t\t\t(platform.webWorkerOrigin === `${Schemas.vscodeFileResource}://${FileAccessImpl.FALLBACK_AUTHORITY}`)\n\t\t\t)\n\t\t) {\n\t\t\treturn uri.with({\n\t\t\t\tscheme: Schemas.vscodeFileResource,\n\t\t\t\t// We need to provide an authority here so that it can serve\n\t\t\t\t// as origin for network and loading matters in chromium.\n\t\t\t\t// If the URI is not coming with an authority already, we\n\t\t\t\t// add our own\n\t\t\t\tauthority: uri.authority || FileAccessImpl.FALLBACK_AUTHORITY,\n\t\t\t\tquery: null,\n\t\t\t\tfragment: null\n\t\t\t});\n\t\t}\n\n\t\treturn uri;\n\t}\n}\n\nexport const FileAccess = new FileAccessImpl();\n\nexport const CacheControlheaders: Record<string, string> = Object.freeze({\n\t'Cache-Control': 'no-cache, no-store'\n});\n\nexport const DocumentPolicyheaders: Record<string, string> = Object.freeze({\n\t'Document-Policy': 'include-js-call-stacks-in-crash-reports'\n});\n\nexport namespace COI {\n\n\tconst coiHeaders = new Map<'3' | '2' | '1' | string, Record<string, string>>([\n\t\t['1', { 'Cross-Origin-Opener-Policy': 'same-origin' }],\n\t\t['2', { 'Cross-Origin-Embedder-Policy': 'require-corp' }],\n\t\t['3', { 'Cross-Origin-Opener-Policy': 'same-origin', 'Cross-Origin-Embedder-Policy': 'require-corp' }],\n\t]);\n\n\texport const CoopAndCoep = Object.freeze(coiHeaders.get('3'));\n\n\tconst coiSearchParamName = 'vscode-coi';\n\n\t/**\n\t * Extract desired headers from `vscode-coi` invocation\n\t */\n\texport function getHeadersFromQuery(url: string | URI | URL): Record<string, string> | undefined {\n\t\tlet params: URLSearchParams | undefined;\n\t\tif (typeof url === 'string') {\n\t\t\tparams = new URL(url).searchParams;\n\t\t} else if (url instanceof URL) {\n\t\t\tparams = url.searchParams;\n\t\t} else if (URI.isUri(url)) {\n\t\t\tparams = new URL(url.toString(true)).searchParams;\n\t\t}\n\t\tconst value = params?.get(coiSearchParamName);\n\t\tif (!value) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn coiHeaders.get(value);\n\t}\n\n\t/**\n\t * Add the `vscode-coi` query attribute based on wanting `COOP` and `COEP`. Will be a noop when `crossOriginIsolated`\n\t * isn't enabled the current context\n\t */\n\texport function addSearchParam(urlOrSearch: URLSearchParams | Record<string, string>, coop: boolean, coep: boolean): void {\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tif (!(<any>globalThis).crossOriginIsolated) {\n\t\t\t// depends on the current context being COI\n\t\t\treturn;\n\t\t}\n\t\tconst value = coop && coep ? '3' : coep ? '2' : '1';\n\t\tif (urlOrSearch instanceof URLSearchParams) {\n\t\t\turlOrSearch.set(coiSearchParamName, value);\n\t\t} else {\n\t\t\t(<Record<string, string>>urlOrSearch)[coiSearchParamName] = value;\n\t\t}\n\t}\n}\n"]}
|
|
@@ -153,5 +153,4 @@ export const isFirefox = !!(userAgent && userAgent.indexOf('Firefox') >= 0);
|
|
|
153
153
|
export const isSafari = !!(!isChrome && (userAgent && userAgent.indexOf('Safari') >= 0));
|
|
154
154
|
export const isEdge = !!(userAgent && userAgent.indexOf('Edg/') >= 0);
|
|
155
155
|
export const isAndroid = !!(userAgent && userAgent.indexOf('Android') >= 0);
|
|
156
|
-
export const hasElectronUserAgent = !!(userAgent && userAgent.indexOf('Electron') >= 0);
|
|
157
156
|
//# sourceMappingURL=platform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/base/common/platform.ts","vs/base/common/platform.ts"],"names":[],"mappings":"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","file":"platform.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as nls from '../../nls.js';\n\nexport const LANGUAGE_DEFAULT = 'en';\n\nlet _isWindows = false;\nlet _isMacintosh = false;\nlet _isLinux = false;\nlet _isLinuxSnap = false;\nlet _isNative = false;\nlet _isWeb = false;\nlet _isElectron = false;\nlet _isIOS = false;\nlet _isCI = false;\nlet _isMobile = false;\nlet _locale: string | undefined = undefined;\nlet _language: string = LANGUAGE_DEFAULT;\nlet _platformLocale: string = LANGUAGE_DEFAULT;\nlet _translationsConfigFile: string | undefined = undefined;\nlet _userAgent: string | undefined = undefined;\n\nexport interface IProcessEnvironment {\n\t[key: string]: string | undefined;\n}\n\n/**\n * This interface is intentionally not identical to node.js\n * process because it also works in sandboxed environments\n * where the process object is implemented differently. We\n * define the properties here that we need for `platform`\n * to work and nothing else.\n */\nexport interface INodeProcess {\n\tplatform: string;\n\tarch: string;\n\tenv: IProcessEnvironment;\n\tversions?: {\n\t\tnode?: string;\n\t\telectron?: string;\n\t\tchrome?: string;\n\t};\n\ttype?: string;\n\tcwd: () => string;\n}\n\ndeclare const process: INodeProcess;\n\nconst $globalThis: any = globalThis;\n\nlet nodeProcess: INodeProcess | undefined = undefined;\nif (typeof $globalThis.vscode !== 'undefined' && typeof $globalThis.vscode.process !== 'undefined') {\n\t// Native environment (sandboxed)\n\tnodeProcess = $globalThis.vscode.process;\n} else if (typeof process !== 'undefined' && typeof process?.versions?.node === 'string') {\n\t// Native environment (non-sandboxed)\n\tnodeProcess = process;\n}\n\nconst isElectronProcess = typeof nodeProcess?.versions?.electron === 'string';\nconst isElectronRenderer = isElectronProcess && nodeProcess?.type === 'renderer';\n\ninterface INavigator {\n\tuserAgent: string;\n\tmaxTouchPoints?: number;\n\tlanguage: string;\n}\ndeclare const navigator: INavigator;\n\n// Native environment\nif (typeof nodeProcess === 'object') {\n\t_isWindows = (nodeProcess.platform === 'win32');\n\t_isMacintosh = (nodeProcess.platform === 'darwin');\n\t_isLinux = (nodeProcess.platform === 'linux');\n\t_isLinuxSnap = _isLinux && !!nodeProcess.env['SNAP'] && !!nodeProcess.env['SNAP_REVISION'];\n\t_isElectron = isElectronProcess;\n\t_isCI = !!nodeProcess.env['CI'] || !!nodeProcess.env['BUILD_ARTIFACTSTAGINGDIRECTORY'] || !!nodeProcess.env['GITHUB_WORKSPACE'];\n\t_locale = LANGUAGE_DEFAULT;\n\t_language = LANGUAGE_DEFAULT;\n\tconst rawNlsConfig = nodeProcess.env['VSCODE_NLS_CONFIG'];\n\tif (rawNlsConfig) {\n\t\ttry {\n\t\t\tconst nlsConfig: nls.INLSConfiguration = JSON.parse(rawNlsConfig);\n\t\t\t_locale = nlsConfig.userLocale;\n\t\t\t_platformLocale = nlsConfig.osLocale;\n\t\t\t_language = nlsConfig.resolvedLanguage || LANGUAGE_DEFAULT;\n\t\t\t_translationsConfigFile = nlsConfig.languagePack?.translationsConfigFile;\n\t\t} catch (e) {\n\t\t}\n\t}\n\t_isNative = true;\n}\n\n// Web environment\nelse if (typeof navigator === 'object' && !isElectronRenderer) {\n\t_userAgent = navigator.userAgent;\n\t_isWindows = _userAgent.indexOf('Windows') >= 0;\n\t_isMacintosh = _userAgent.indexOf('Macintosh') >= 0;\n\t_isIOS = (_userAgent.indexOf('Macintosh') >= 0 || _userAgent.indexOf('iPad') >= 0 || _userAgent.indexOf('iPhone') >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0;\n\t_isLinux = _userAgent.indexOf('Linux') >= 0;\n\t_isMobile = _userAgent?.indexOf('Mobi') >= 0;\n\t_isWeb = true;\n\t_language = nls.getNLSLanguage() || LANGUAGE_DEFAULT;\n\t_locale = navigator.language.toLowerCase();\n\t_platformLocale = _locale;\n}\n\n// Unknown environment\nelse {\n\tconsole.error('Unable to resolve platform.');\n}\n\nexport const enum Platform {\n\tWeb,\n\tMac,\n\tLinux,\n\tWindows\n}\n\nlet _platform: Platform = Platform.Web;\nif (_isMacintosh) {\n\t_platform = Platform.Mac;\n} else if (_isWindows) {\n\t_platform = Platform.Windows;\n} else if (_isLinux) {\n\t_platform = Platform.Linux;\n}\n\nexport const isWindows = _isWindows;\nexport const isMacintosh = _isMacintosh;\nexport const isLinux = _isLinux;\nexport const isNative = _isNative;\nexport const isElectron = _isElectron;\nexport const isWeb = _isWeb;\nexport const isWebWorker = (_isWeb && typeof $globalThis.importScripts === 'function');\nexport const webWorkerOrigin = isWebWorker ? $globalThis.origin : undefined;\nexport const isIOS = _isIOS;\nexport const isMobile = _isMobile;\nexport const platform = _platform;\nexport const userAgent = _userAgent;\n\n/**\n * The language used for the user interface. The format of\n * the string is all lower case (e.g. zh-tw for Traditional\n * Chinese or de for German)\n */\nexport const language = _language;\n\nexport const setTimeout0IsFaster = (typeof $globalThis.postMessage === 'function' && !$globalThis.importScripts);\n\n/**\n * See https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#:~:text=than%204%2C%20then-,set%20timeout%20to%204,-.\n *\n * Works similarly to `setTimeout(0)` but doesn't suffer from the 4ms artificial delay\n * that browsers set when the nesting level is > 5.\n */\nexport const setTimeout0 = (() => {\n\tif (setTimeout0IsFaster) {\n\t\tinterface IQueueElement {\n\t\t\tid: number;\n\t\t\tcallback: () => void;\n\t\t}\n\t\tconst pending: IQueueElement[] = [];\n\n\t\t$globalThis.addEventListener('message', (e: any) => {\n\t\t\tif (e.data && e.data.vscodeScheduleAsyncWork) {\n\t\t\t\tfor (let i = 0, len = pending.length; i < len; i++) {\n\t\t\t\t\tconst candidate = pending[i];\n\t\t\t\t\tif (candidate.id === e.data.vscodeScheduleAsyncWork) {\n\t\t\t\t\t\tpending.splice(i, 1);\n\t\t\t\t\t\tcandidate.callback();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tlet lastId = 0;\n\t\treturn (callback: () => void) => {\n\t\t\tconst myId = ++lastId;\n\t\t\tpending.push({\n\t\t\t\tid: myId,\n\t\t\t\tcallback: callback\n\t\t\t});\n\t\t\t$globalThis.postMessage({ vscodeScheduleAsyncWork: myId }, '*');\n\t\t};\n\t}\n\treturn (callback: () => void) => setTimeout(callback);\n})();\n\nexport const enum OperatingSystem {\n\tWindows = 1,\n\tMacintosh = 2,\n\tLinux = 3\n}\nexport const OS = (_isMacintosh || _isIOS ? OperatingSystem.Macintosh : (_isWindows ? OperatingSystem.Windows : OperatingSystem.Linux));\n\nlet _isLittleEndian = true;\nlet _isLittleEndianComputed = false;\nexport function isLittleEndian(): boolean {\n\tif (!_isLittleEndianComputed) {\n\t\t_isLittleEndianComputed = true;\n\t\tconst test = new Uint8Array(2);\n\t\ttest[0] = 1;\n\t\ttest[1] = 2;\n\t\tconst view = new Uint16Array(test.buffer);\n\t\t_isLittleEndian = (view[0] === (2 << 8) + 1);\n\t}\n\treturn _isLittleEndian;\n}\n\nexport const isChrome = !!(userAgent && userAgent.indexOf('Chrome') >= 0);\nexport const isFirefox = !!(userAgent && userAgent.indexOf('Firefox') >= 0);\nexport const isSafari = !!(!isChrome && (userAgent && userAgent.indexOf('Safari') >= 0));\nexport const isEdge = !!(userAgent && userAgent.indexOf('Edg/') >= 0);\nexport const isAndroid = !!(userAgent && userAgent.indexOf('Android') >= 0);\nexport const hasElectronUserAgent = !!(userAgent && userAgent.indexOf('Electron') >= 0);\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as nls from '../../nls.js';\n\nexport const LANGUAGE_DEFAULT = 'en';\n\nlet _isWindows = false;\nlet _isMacintosh = false;\nlet _isLinux = false;\nlet _isLinuxSnap = false;\nlet _isNative = false;\nlet _isWeb = false;\nlet _isElectron = false;\nlet _isIOS = false;\nlet _isCI = false;\nlet _isMobile = false;\nlet _locale: string | undefined = undefined;\nlet _language: string = LANGUAGE_DEFAULT;\nlet _platformLocale: string = LANGUAGE_DEFAULT;\nlet _translationsConfigFile: string | undefined = undefined;\nlet _userAgent: string | undefined = undefined;\n\nexport interface IProcessEnvironment {\n\t[key: string]: string | undefined;\n}\n\n/**\n * This interface is intentionally not identical to node.js\n * process because it also works in sandboxed environments\n * where the process object is implemented differently. We\n * define the properties here that we need for `platform`\n * to work and nothing else.\n */\nexport interface INodeProcess {\n\tplatform: string;\n\tarch: string;\n\tenv: IProcessEnvironment;\n\tversions?: {\n\t\tnode?: string;\n\t\telectron?: string;\n\t\tchrome?: string;\n\t};\n\ttype?: string;\n\tcwd: () => string;\n}\n\ndeclare const process: INodeProcess;\n\nconst $globalThis: any = globalThis;\n\nlet nodeProcess: INodeProcess | undefined = undefined;\nif (typeof $globalThis.vscode !== 'undefined' && typeof $globalThis.vscode.process !== 'undefined') {\n\t// Native environment (sandboxed)\n\tnodeProcess = $globalThis.vscode.process;\n} else if (typeof process !== 'undefined' && typeof process?.versions?.node === 'string') {\n\t// Native environment (non-sandboxed)\n\tnodeProcess = process;\n}\n\nconst isElectronProcess = typeof nodeProcess?.versions?.electron === 'string';\nconst isElectronRenderer = isElectronProcess && nodeProcess?.type === 'renderer';\n\ninterface INavigator {\n\tuserAgent: string;\n\tmaxTouchPoints?: number;\n\tlanguage: string;\n}\ndeclare const navigator: INavigator;\n\n// Native environment\nif (typeof nodeProcess === 'object') {\n\t_isWindows = (nodeProcess.platform === 'win32');\n\t_isMacintosh = (nodeProcess.platform === 'darwin');\n\t_isLinux = (nodeProcess.platform === 'linux');\n\t_isLinuxSnap = _isLinux && !!nodeProcess.env['SNAP'] && !!nodeProcess.env['SNAP_REVISION'];\n\t_isElectron = isElectronProcess;\n\t_isCI = !!nodeProcess.env['CI'] || !!nodeProcess.env['BUILD_ARTIFACTSTAGINGDIRECTORY'] || !!nodeProcess.env['GITHUB_WORKSPACE'];\n\t_locale = LANGUAGE_DEFAULT;\n\t_language = LANGUAGE_DEFAULT;\n\tconst rawNlsConfig = nodeProcess.env['VSCODE_NLS_CONFIG'];\n\tif (rawNlsConfig) {\n\t\ttry {\n\t\t\tconst nlsConfig: nls.INLSConfiguration = JSON.parse(rawNlsConfig);\n\t\t\t_locale = nlsConfig.userLocale;\n\t\t\t_platformLocale = nlsConfig.osLocale;\n\t\t\t_language = nlsConfig.resolvedLanguage || LANGUAGE_DEFAULT;\n\t\t\t_translationsConfigFile = nlsConfig.languagePack?.translationsConfigFile;\n\t\t} catch (e) {\n\t\t}\n\t}\n\t_isNative = true;\n}\n\n// Web environment\nelse if (typeof navigator === 'object' && !isElectronRenderer) {\n\t_userAgent = navigator.userAgent;\n\t_isWindows = _userAgent.indexOf('Windows') >= 0;\n\t_isMacintosh = _userAgent.indexOf('Macintosh') >= 0;\n\t_isIOS = (_userAgent.indexOf('Macintosh') >= 0 || _userAgent.indexOf('iPad') >= 0 || _userAgent.indexOf('iPhone') >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0;\n\t_isLinux = _userAgent.indexOf('Linux') >= 0;\n\t_isMobile = _userAgent?.indexOf('Mobi') >= 0;\n\t_isWeb = true;\n\t_language = nls.getNLSLanguage() || LANGUAGE_DEFAULT;\n\t_locale = navigator.language.toLowerCase();\n\t_platformLocale = _locale;\n}\n\n// Unknown environment\nelse {\n\tconsole.error('Unable to resolve platform.');\n}\n\nexport const enum Platform {\n\tWeb,\n\tMac,\n\tLinux,\n\tWindows\n}\n\nlet _platform: Platform = Platform.Web;\nif (_isMacintosh) {\n\t_platform = Platform.Mac;\n} else if (_isWindows) {\n\t_platform = Platform.Windows;\n} else if (_isLinux) {\n\t_platform = Platform.Linux;\n}\n\nexport const isWindows = _isWindows;\nexport const isMacintosh = _isMacintosh;\nexport const isLinux = _isLinux;\nexport const isNative = _isNative;\nexport const isElectron = _isElectron;\nexport const isWeb = _isWeb;\nexport const isWebWorker = (_isWeb && typeof $globalThis.importScripts === 'function');\nexport const webWorkerOrigin = isWebWorker ? $globalThis.origin : undefined;\nexport const isIOS = _isIOS;\nexport const isMobile = _isMobile;\nexport const platform = _platform;\nexport const userAgent = _userAgent;\n\n/**\n * The language used for the user interface. The format of\n * the string is all lower case (e.g. zh-tw for Traditional\n * Chinese or de for German)\n */\nexport const language = _language;\n\nexport const setTimeout0IsFaster = (typeof $globalThis.postMessage === 'function' && !$globalThis.importScripts);\n\n/**\n * See https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#:~:text=than%204%2C%20then-,set%20timeout%20to%204,-.\n *\n * Works similarly to `setTimeout(0)` but doesn't suffer from the 4ms artificial delay\n * that browsers set when the nesting level is > 5.\n */\nexport const setTimeout0 = (() => {\n\tif (setTimeout0IsFaster) {\n\t\tinterface IQueueElement {\n\t\t\tid: number;\n\t\t\tcallback: () => void;\n\t\t}\n\t\tconst pending: IQueueElement[] = [];\n\n\t\t$globalThis.addEventListener('message', (e: any) => {\n\t\t\tif (e.data && e.data.vscodeScheduleAsyncWork) {\n\t\t\t\tfor (let i = 0, len = pending.length; i < len; i++) {\n\t\t\t\t\tconst candidate = pending[i];\n\t\t\t\t\tif (candidate.id === e.data.vscodeScheduleAsyncWork) {\n\t\t\t\t\t\tpending.splice(i, 1);\n\t\t\t\t\t\tcandidate.callback();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tlet lastId = 0;\n\t\treturn (callback: () => void) => {\n\t\t\tconst myId = ++lastId;\n\t\t\tpending.push({\n\t\t\t\tid: myId,\n\t\t\t\tcallback: callback\n\t\t\t});\n\t\t\t$globalThis.postMessage({ vscodeScheduleAsyncWork: myId }, '*');\n\t\t};\n\t}\n\treturn (callback: () => void) => setTimeout(callback);\n})();\n\nexport const enum OperatingSystem {\n\tWindows = 1,\n\tMacintosh = 2,\n\tLinux = 3\n}\nexport const OS = (_isMacintosh || _isIOS ? OperatingSystem.Macintosh : (_isWindows ? OperatingSystem.Windows : OperatingSystem.Linux));\n\nlet _isLittleEndian = true;\nlet _isLittleEndianComputed = false;\nexport function isLittleEndian(): boolean {\n\tif (!_isLittleEndianComputed) {\n\t\t_isLittleEndianComputed = true;\n\t\tconst test = new Uint8Array(2);\n\t\ttest[0] = 1;\n\t\ttest[1] = 2;\n\t\tconst view = new Uint16Array(test.buffer);\n\t\t_isLittleEndian = (view[0] === (2 << 8) + 1);\n\t}\n\treturn _isLittleEndian;\n}\n\nexport const isChrome = !!(userAgent && userAgent.indexOf('Chrome') >= 0);\nexport const isFirefox = !!(userAgent && userAgent.indexOf('Firefox') >= 0);\nexport const isSafari = !!(!isChrome && (userAgent && userAgent.indexOf('Safari') >= 0));\nexport const isEdge = !!(userAgent && userAgent.indexOf('Edg/') >= 0);\nexport const isAndroid = !!(userAgent && userAgent.indexOf('Android') >= 0);\nexport const hasElectronUserAgent = !!(userAgent && userAgent.indexOf('Electron') >= 0);\n"]}
|
|
1
|
+
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/base/common/platform.ts","vs/base/common/platform.ts"],"names":[],"mappings":"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","file":"platform.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as nls from '../../nls.js';\n\nexport const LANGUAGE_DEFAULT = 'en';\n\nlet _isWindows = false;\nlet _isMacintosh = false;\nlet _isLinux = false;\nlet _isLinuxSnap = false;\nlet _isNative = false;\nlet _isWeb = false;\nlet _isElectron = false;\nlet _isIOS = false;\nlet _isCI = false;\nlet _isMobile = false;\nlet _locale: string | undefined = undefined;\nlet _language: string = LANGUAGE_DEFAULT;\nlet _platformLocale: string = LANGUAGE_DEFAULT;\nlet _translationsConfigFile: string | undefined = undefined;\nlet _userAgent: string | undefined = undefined;\n\nexport interface IProcessEnvironment {\n\t[key: string]: string | undefined;\n}\n\n/**\n * This interface is intentionally not identical to node.js\n * process because it also works in sandboxed environments\n * where the process object is implemented differently. We\n * define the properties here that we need for `platform`\n * to work and nothing else.\n */\nexport interface INodeProcess {\n\tplatform: string;\n\tarch: string;\n\tenv: IProcessEnvironment;\n\tversions?: {\n\t\tnode?: string;\n\t\telectron?: string;\n\t\tchrome?: string;\n\t};\n\ttype?: string;\n\tcwd: () => string;\n}\n\ndeclare const process: INodeProcess;\n\nconst $globalThis: any = globalThis;\n\nlet nodeProcess: INodeProcess | undefined = undefined;\nif (typeof $globalThis.vscode !== 'undefined' && typeof $globalThis.vscode.process !== 'undefined') {\n\t// Native environment (sandboxed)\n\tnodeProcess = $globalThis.vscode.process;\n} else if (typeof process !== 'undefined' && typeof process?.versions?.node === 'string') {\n\t// Native environment (non-sandboxed)\n\tnodeProcess = process;\n}\n\nconst isElectronProcess = typeof nodeProcess?.versions?.electron === 'string';\nconst isElectronRenderer = isElectronProcess && nodeProcess?.type === 'renderer';\n\ninterface INavigator {\n\tuserAgent: string;\n\tmaxTouchPoints?: number;\n\tlanguage: string;\n}\ndeclare const navigator: INavigator;\n\n// Native environment\nif (typeof nodeProcess === 'object') {\n\t_isWindows = (nodeProcess.platform === 'win32');\n\t_isMacintosh = (nodeProcess.platform === 'darwin');\n\t_isLinux = (nodeProcess.platform === 'linux');\n\t_isLinuxSnap = _isLinux && !!nodeProcess.env['SNAP'] && !!nodeProcess.env['SNAP_REVISION'];\n\t_isElectron = isElectronProcess;\n\t_isCI = !!nodeProcess.env['CI'] || !!nodeProcess.env['BUILD_ARTIFACTSTAGINGDIRECTORY'] || !!nodeProcess.env['GITHUB_WORKSPACE'];\n\t_locale = LANGUAGE_DEFAULT;\n\t_language = LANGUAGE_DEFAULT;\n\tconst rawNlsConfig = nodeProcess.env['VSCODE_NLS_CONFIG'];\n\tif (rawNlsConfig) {\n\t\ttry {\n\t\t\tconst nlsConfig: nls.INLSConfiguration = JSON.parse(rawNlsConfig);\n\t\t\t_locale = nlsConfig.userLocale;\n\t\t\t_platformLocale = nlsConfig.osLocale;\n\t\t\t_language = nlsConfig.resolvedLanguage || LANGUAGE_DEFAULT;\n\t\t\t_translationsConfigFile = nlsConfig.languagePack?.translationsConfigFile;\n\t\t} catch (e) {\n\t\t}\n\t}\n\t_isNative = true;\n}\n\n// Web environment\nelse if (typeof navigator === 'object' && !isElectronRenderer) {\n\t_userAgent = navigator.userAgent;\n\t_isWindows = _userAgent.indexOf('Windows') >= 0;\n\t_isMacintosh = _userAgent.indexOf('Macintosh') >= 0;\n\t_isIOS = (_userAgent.indexOf('Macintosh') >= 0 || _userAgent.indexOf('iPad') >= 0 || _userAgent.indexOf('iPhone') >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0;\n\t_isLinux = _userAgent.indexOf('Linux') >= 0;\n\t_isMobile = _userAgent?.indexOf('Mobi') >= 0;\n\t_isWeb = true;\n\t_language = nls.getNLSLanguage() || LANGUAGE_DEFAULT;\n\t_locale = navigator.language.toLowerCase();\n\t_platformLocale = _locale;\n}\n\n// Unknown environment\nelse {\n\tconsole.error('Unable to resolve platform.');\n}\n\nexport const enum Platform {\n\tWeb,\n\tMac,\n\tLinux,\n\tWindows\n}\n\nlet _platform: Platform = Platform.Web;\nif (_isMacintosh) {\n\t_platform = Platform.Mac;\n} else if (_isWindows) {\n\t_platform = Platform.Windows;\n} else if (_isLinux) {\n\t_platform = Platform.Linux;\n}\n\nexport const isWindows = _isWindows;\nexport const isMacintosh = _isMacintosh;\nexport const isLinux = _isLinux;\nexport const isNative = _isNative;\nexport const isElectron = _isElectron;\nexport const isWeb = _isWeb;\nexport const isWebWorker = (_isWeb && typeof $globalThis.importScripts === 'function');\nexport const webWorkerOrigin = isWebWorker ? $globalThis.origin : undefined;\nexport const isIOS = _isIOS;\nexport const isMobile = _isMobile;\nexport const platform = _platform;\nexport const userAgent = _userAgent;\n\n/**\n * The language used for the user interface. The format of\n * the string is all lower case (e.g. zh-tw for Traditional\n * Chinese or de for German)\n */\nexport const language = _language;\n\nexport const setTimeout0IsFaster = (typeof $globalThis.postMessage === 'function' && !$globalThis.importScripts);\n\n/**\n * See https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#:~:text=than%204%2C%20then-,set%20timeout%20to%204,-.\n *\n * Works similarly to `setTimeout(0)` but doesn't suffer from the 4ms artificial delay\n * that browsers set when the nesting level is > 5.\n */\nexport const setTimeout0 = (() => {\n\tif (setTimeout0IsFaster) {\n\t\tinterface IQueueElement {\n\t\t\tid: number;\n\t\t\tcallback: () => void;\n\t\t}\n\t\tconst pending: IQueueElement[] = [];\n\n\t\t$globalThis.addEventListener('message', (e: any) => {\n\t\t\tif (e.data && e.data.vscodeScheduleAsyncWork) {\n\t\t\t\tfor (let i = 0, len = pending.length; i < len; i++) {\n\t\t\t\t\tconst candidate = pending[i];\n\t\t\t\t\tif (candidate.id === e.data.vscodeScheduleAsyncWork) {\n\t\t\t\t\t\tpending.splice(i, 1);\n\t\t\t\t\t\tcandidate.callback();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tlet lastId = 0;\n\t\treturn (callback: () => void) => {\n\t\t\tconst myId = ++lastId;\n\t\t\tpending.push({\n\t\t\t\tid: myId,\n\t\t\t\tcallback: callback\n\t\t\t});\n\t\t\t$globalThis.postMessage({ vscodeScheduleAsyncWork: myId }, '*');\n\t\t};\n\t}\n\treturn (callback: () => void) => setTimeout(callback);\n})();\n\nexport const enum OperatingSystem {\n\tWindows = 1,\n\tMacintosh = 2,\n\tLinux = 3\n}\nexport const OS = (_isMacintosh || _isIOS ? OperatingSystem.Macintosh : (_isWindows ? OperatingSystem.Windows : OperatingSystem.Linux));\n\nlet _isLittleEndian = true;\nlet _isLittleEndianComputed = false;\nexport function isLittleEndian(): boolean {\n\tif (!_isLittleEndianComputed) {\n\t\t_isLittleEndianComputed = true;\n\t\tconst test = new Uint8Array(2);\n\t\ttest[0] = 1;\n\t\ttest[1] = 2;\n\t\tconst view = new Uint16Array(test.buffer);\n\t\t_isLittleEndian = (view[0] === (2 << 8) + 1);\n\t}\n\treturn _isLittleEndian;\n}\n\nexport const isChrome = !!(userAgent && userAgent.indexOf('Chrome') >= 0);\nexport const isFirefox = !!(userAgent && userAgent.indexOf('Firefox') >= 0);\nexport const isSafari = !!(!isChrome && (userAgent && userAgent.indexOf('Safari') >= 0));\nexport const isEdge = !!(userAgent && userAgent.indexOf('Edg/') >= 0);\nexport const isAndroid = !!(userAgent && userAgent.indexOf('Android') >= 0);\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as nls from '../../nls.js';\n\nexport const LANGUAGE_DEFAULT = 'en';\n\nlet _isWindows = false;\nlet _isMacintosh = false;\nlet _isLinux = false;\nlet _isLinuxSnap = false;\nlet _isNative = false;\nlet _isWeb = false;\nlet _isElectron = false;\nlet _isIOS = false;\nlet _isCI = false;\nlet _isMobile = false;\nlet _locale: string | undefined = undefined;\nlet _language: string = LANGUAGE_DEFAULT;\nlet _platformLocale: string = LANGUAGE_DEFAULT;\nlet _translationsConfigFile: string | undefined = undefined;\nlet _userAgent: string | undefined = undefined;\n\nexport interface IProcessEnvironment {\n\t[key: string]: string | undefined;\n}\n\n/**\n * This interface is intentionally not identical to node.js\n * process because it also works in sandboxed environments\n * where the process object is implemented differently. We\n * define the properties here that we need for `platform`\n * to work and nothing else.\n */\nexport interface INodeProcess {\n\tplatform: string;\n\tarch: string;\n\tenv: IProcessEnvironment;\n\tversions?: {\n\t\tnode?: string;\n\t\telectron?: string;\n\t\tchrome?: string;\n\t};\n\ttype?: string;\n\tcwd: () => string;\n}\n\ndeclare const process: INodeProcess;\n\nconst $globalThis: any = globalThis;\n\nlet nodeProcess: INodeProcess | undefined = undefined;\nif (typeof $globalThis.vscode !== 'undefined' && typeof $globalThis.vscode.process !== 'undefined') {\n\t// Native environment (sandboxed)\n\tnodeProcess = $globalThis.vscode.process;\n} else if (typeof process !== 'undefined' && typeof process?.versions?.node === 'string') {\n\t// Native environment (non-sandboxed)\n\tnodeProcess = process;\n}\n\nconst isElectronProcess = typeof nodeProcess?.versions?.electron === 'string';\nconst isElectronRenderer = isElectronProcess && nodeProcess?.type === 'renderer';\n\ninterface INavigator {\n\tuserAgent: string;\n\tmaxTouchPoints?: number;\n\tlanguage: string;\n}\ndeclare const navigator: INavigator;\n\n// Native environment\nif (typeof nodeProcess === 'object') {\n\t_isWindows = (nodeProcess.platform === 'win32');\n\t_isMacintosh = (nodeProcess.platform === 'darwin');\n\t_isLinux = (nodeProcess.platform === 'linux');\n\t_isLinuxSnap = _isLinux && !!nodeProcess.env['SNAP'] && !!nodeProcess.env['SNAP_REVISION'];\n\t_isElectron = isElectronProcess;\n\t_isCI = !!nodeProcess.env['CI'] || !!nodeProcess.env['BUILD_ARTIFACTSTAGINGDIRECTORY'] || !!nodeProcess.env['GITHUB_WORKSPACE'];\n\t_locale = LANGUAGE_DEFAULT;\n\t_language = LANGUAGE_DEFAULT;\n\tconst rawNlsConfig = nodeProcess.env['VSCODE_NLS_CONFIG'];\n\tif (rawNlsConfig) {\n\t\ttry {\n\t\t\tconst nlsConfig: nls.INLSConfiguration = JSON.parse(rawNlsConfig);\n\t\t\t_locale = nlsConfig.userLocale;\n\t\t\t_platformLocale = nlsConfig.osLocale;\n\t\t\t_language = nlsConfig.resolvedLanguage || LANGUAGE_DEFAULT;\n\t\t\t_translationsConfigFile = nlsConfig.languagePack?.translationsConfigFile;\n\t\t} catch (e) {\n\t\t}\n\t}\n\t_isNative = true;\n}\n\n// Web environment\nelse if (typeof navigator === 'object' && !isElectronRenderer) {\n\t_userAgent = navigator.userAgent;\n\t_isWindows = _userAgent.indexOf('Windows') >= 0;\n\t_isMacintosh = _userAgent.indexOf('Macintosh') >= 0;\n\t_isIOS = (_userAgent.indexOf('Macintosh') >= 0 || _userAgent.indexOf('iPad') >= 0 || _userAgent.indexOf('iPhone') >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0;\n\t_isLinux = _userAgent.indexOf('Linux') >= 0;\n\t_isMobile = _userAgent?.indexOf('Mobi') >= 0;\n\t_isWeb = true;\n\t_language = nls.getNLSLanguage() || LANGUAGE_DEFAULT;\n\t_locale = navigator.language.toLowerCase();\n\t_platformLocale = _locale;\n}\n\n// Unknown environment\nelse {\n\tconsole.error('Unable to resolve platform.');\n}\n\nexport const enum Platform {\n\tWeb,\n\tMac,\n\tLinux,\n\tWindows\n}\n\nlet _platform: Platform = Platform.Web;\nif (_isMacintosh) {\n\t_platform = Platform.Mac;\n} else if (_isWindows) {\n\t_platform = Platform.Windows;\n} else if (_isLinux) {\n\t_platform = Platform.Linux;\n}\n\nexport const isWindows = _isWindows;\nexport const isMacintosh = _isMacintosh;\nexport const isLinux = _isLinux;\nexport const isNative = _isNative;\nexport const isElectron = _isElectron;\nexport const isWeb = _isWeb;\nexport const isWebWorker = (_isWeb && typeof $globalThis.importScripts === 'function');\nexport const webWorkerOrigin = isWebWorker ? $globalThis.origin : undefined;\nexport const isIOS = _isIOS;\nexport const isMobile = _isMobile;\nexport const platform = _platform;\nexport const userAgent = _userAgent;\n\n/**\n * The language used for the user interface. The format of\n * the string is all lower case (e.g. zh-tw for Traditional\n * Chinese or de for German)\n */\nexport const language = _language;\n\nexport const setTimeout0IsFaster = (typeof $globalThis.postMessage === 'function' && !$globalThis.importScripts);\n\n/**\n * See https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#:~:text=than%204%2C%20then-,set%20timeout%20to%204,-.\n *\n * Works similarly to `setTimeout(0)` but doesn't suffer from the 4ms artificial delay\n * that browsers set when the nesting level is > 5.\n */\nexport const setTimeout0 = (() => {\n\tif (setTimeout0IsFaster) {\n\t\tinterface IQueueElement {\n\t\t\tid: number;\n\t\t\tcallback: () => void;\n\t\t}\n\t\tconst pending: IQueueElement[] = [];\n\n\t\t$globalThis.addEventListener('message', (e: any) => {\n\t\t\tif (e.data && e.data.vscodeScheduleAsyncWork) {\n\t\t\t\tfor (let i = 0, len = pending.length; i < len; i++) {\n\t\t\t\t\tconst candidate = pending[i];\n\t\t\t\t\tif (candidate.id === e.data.vscodeScheduleAsyncWork) {\n\t\t\t\t\t\tpending.splice(i, 1);\n\t\t\t\t\t\tcandidate.callback();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tlet lastId = 0;\n\t\treturn (callback: () => void) => {\n\t\t\tconst myId = ++lastId;\n\t\t\tpending.push({\n\t\t\t\tid: myId,\n\t\t\t\tcallback: callback\n\t\t\t});\n\t\t\t$globalThis.postMessage({ vscodeScheduleAsyncWork: myId }, '*');\n\t\t};\n\t}\n\treturn (callback: () => void) => setTimeout(callback);\n})();\n\nexport const enum OperatingSystem {\n\tWindows = 1,\n\tMacintosh = 2,\n\tLinux = 3\n}\nexport const OS = (_isMacintosh || _isIOS ? OperatingSystem.Macintosh : (_isWindows ? OperatingSystem.Windows : OperatingSystem.Linux));\n\nlet _isLittleEndian = true;\nlet _isLittleEndianComputed = false;\nexport function isLittleEndian(): boolean {\n\tif (!_isLittleEndianComputed) {\n\t\t_isLittleEndianComputed = true;\n\t\tconst test = new Uint8Array(2);\n\t\ttest[0] = 1;\n\t\ttest[1] = 2;\n\t\tconst view = new Uint16Array(test.buffer);\n\t\t_isLittleEndian = (view[0] === (2 << 8) + 1);\n\t}\n\treturn _isLittleEndian;\n}\n\nexport const isChrome = !!(userAgent && userAgent.indexOf('Chrome') >= 0);\nexport const isFirefox = !!(userAgent && userAgent.indexOf('Firefox') >= 0);\nexport const isSafari = !!(!isChrome && (userAgent && userAgent.indexOf('Safari') >= 0));\nexport const isEdge = !!(userAgent && userAgent.indexOf('Edg/') >= 0);\nexport const isAndroid = !!(userAgent && userAgent.indexOf('Android') >= 0);\n"]}
|
|
@@ -105,6 +105,12 @@ class ConfigurationRegistry extends Disposable {
|
|
|
105
105
|
}
|
|
106
106
|
updateDefaultOverrideProperty(key, newDefaultOverride, source) {
|
|
107
107
|
const property = {
|
|
108
|
+
section: {
|
|
109
|
+
id: this.defaultLanguageConfigurationOverridesNode.id,
|
|
110
|
+
title: this.defaultLanguageConfigurationOverridesNode.title,
|
|
111
|
+
order: this.defaultLanguageConfigurationOverridesNode.order,
|
|
112
|
+
extensionInfo: this.defaultLanguageConfigurationOverridesNode.extensionInfo
|
|
113
|
+
},
|
|
108
114
|
type: 'object',
|
|
109
115
|
default: newDefaultOverride.value,
|
|
110
116
|
description: nls.localize(1661, "Configure settings to be overridden for {0}.", getLanguageTagSettingPlainKey(key)),
|
|
@@ -198,6 +204,12 @@ class ConfigurationRegistry extends Disposable {
|
|
|
198
204
|
if (properties) {
|
|
199
205
|
for (const key in properties) {
|
|
200
206
|
const property = properties[key];
|
|
207
|
+
property.section = {
|
|
208
|
+
id: configuration.id,
|
|
209
|
+
title: configuration.title,
|
|
210
|
+
order: configuration.order,
|
|
211
|
+
extensionInfo: configuration.extensionInfo
|
|
212
|
+
};
|
|
201
213
|
if (validate && validateProperty(key, property)) {
|
|
202
214
|
delete properties[key];
|
|
203
215
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vs/platform/configuration/common/configurationRegistry.ts"],"names":[],"mappings":"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","file":"configurationRegistry.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { distinct } from '../../../base/common/arrays.js';\nimport { IStringDictionary } from '../../../base/common/collections.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { IJSONSchema } from '../../../base/common/jsonSchema.js';\nimport * as types from '../../../base/common/types.js';\nimport * as nls from '../../../nls.js';\nimport { getLanguageTagSettingPlainKey } from './configuration.js';\nimport { Extensions as JSONExtensions, IJSONContributionRegistry } from '../../jsonschemas/common/jsonContributionRegistry.js';\nimport { Registry } from '../../registry/common/platform.js';\nimport { IPolicy, PolicyName } from '../../../base/common/policy.js';\nimport { Disposable } from '../../../base/common/lifecycle.js';\n\nexport const Extensions = {\n\tConfiguration: 'base.contributions.configuration'\n};\n\nexport interface IConfigurationRegistry {\n\n\t/**\n\t * Register a configuration to the registry.\n\t */\n\tregisterConfiguration(configuration: IConfigurationNode): IConfigurationNode;\n\n\t/**\n\t * Register multiple default configurations to the registry.\n\t */\n\tregisterDefaultConfigurations(defaultConfigurations: IConfigurationDefaults[]): void;\n\n\t/**\n\t * Returns all configurations settings of all configuration nodes contributed to this registry.\n\t */\n\tgetConfigurationProperties(): IStringDictionary<IRegisteredConfigurationPropertySchema>;\n\n\t/**\n\t * Returns all excluded configurations settings of all configuration nodes contributed to this registry.\n\t */\n\tgetExcludedConfigurationProperties(): IStringDictionary<IRegisteredConfigurationPropertySchema>;\n\n\t/**\n\t * Register the identifiers for editor configurations\n\t */\n\tregisterOverrideIdentifiers(identifiers: string[]): void;\n}\n\nexport const enum ConfigurationScope {\n\t/**\n\t * Application specific configuration, which can be configured only in default profile user settings.\n\t */\n\tAPPLICATION = 1,\n\t/**\n\t * Machine specific configuration, which can be configured only in local and remote user settings.\n\t */\n\tMACHINE,\n\t/**\n\t * An application machine specific configuration, which can be configured only in default profile user settings and remote user settings.\n\t */\n\tAPPLICATION_MACHINE,\n\t/**\n\t * Window specific configuration, which can be configured in the user or workspace settings.\n\t */\n\tWINDOW,\n\t/**\n\t * Resource specific configuration, which can be configured in the user, workspace or folder settings.\n\t */\n\tRESOURCE,\n\t/**\n\t * Resource specific configuration that can be configured in language specific settings\n\t */\n\tLANGUAGE_OVERRIDABLE,\n\t/**\n\t * Machine specific configuration that can also be configured in workspace or folder settings.\n\t */\n\tMACHINE_OVERRIDABLE,\n}\n\n\nexport interface IConfigurationPropertySchema extends IJSONSchema {\n\n\tscope?: ConfigurationScope;\n\n\t/**\n\t * When restricted, value of this configuration will be read only from trusted sources.\n\t * For eg., If the workspace is not trusted, then the value of this configuration is not read from workspace settings file.\n\t */\n\trestricted?: boolean;\n\n\t/**\n\t * When `false` this property is excluded from the registry. Default is to include.\n\t */\n\tincluded?: boolean;\n\n\t/**\n\t * List of tags associated to the property.\n\t * - A tag can be used for filtering\n\t * - Use `experimental` tag for marking the setting as experimental.\n\t */\n\ttags?: string[];\n\n\t/**\n\t * Disallow extensions to contribute configuration default value for this setting.\n\t */\n\tdisallowConfigurationDefault?: boolean;\n\n\t/**\n\t * When specified, this setting's value can always be overwritten by\n\t * a system-wide policy.\n\t */\n\tpolicy?: IPolicy;\n\n\t/**\n\t * When specified, this setting's default value can always be overwritten by\n\t * an experiment.\n\t */\n\texperiment?: {\n\t\t/**\n\t\t * The mode of the experiment.\n\t\t * - `startup`: The setting value is updated to the experiment value only on startup.\n\t\t * - `auto`: The setting value is updated to the experiment value automatically (whenever the experiment value changes).\n\t\t */\n\t\tmode: 'startup' | 'auto';\n\n\t\t/**\n\t\t * The name of the experiment. By default, this is `config.${settingId}`\n\t\t */\n\t\tname?: string;\n\t};\n}\n\nexport interface IExtensionInfo {\n}\n\nexport interface IConfigurationNode {\n\tid?: string;\n\torder?: number;\n\ttype?: string | string[];\n\ttitle?: string;\n\tproperties?: IStringDictionary<IConfigurationPropertySchema>;\n\tallOf?: IConfigurationNode[];\n\tscope?: ConfigurationScope;\n\textensionInfo?: IExtensionInfo;\n\trestrictedProperties?: string[];\n}\n\nexport type ConfigurationDefaultValueSource = IExtensionInfo | Map<string, IExtensionInfo>;\n\nexport interface IConfigurationDefaults {\n\toverrides: IStringDictionary<any>;\n\tsource?: IExtensionInfo;\n}\n\nexport type IRegisteredConfigurationPropertySchema = IConfigurationPropertySchema & {\n\tdefaultDefaultValue?: any;\n\tsource?: IExtensionInfo; // Source of the Property\n\tdefaultValueSource?: ConfigurationDefaultValueSource; // Source of the Default Value\n};\n\nexport interface IConfigurationDefaultOverride {\n\treadonly value: any;\n\treadonly source?: IExtensionInfo; // Source of the default override\n}\n\nexport interface IConfigurationDefaultOverrideValue {\n\treadonly value: any;\n\treadonly source?: ConfigurationDefaultValueSource;\n}\n\nexport const allSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\nexport const applicationSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\nexport const applicationMachineSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\nexport const machineSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\nexport const machineOverridableSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\nexport const windowSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\nexport const resourceSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\n\nexport const resourceLanguageSettingsSchemaId = 'vscode://schemas/settings/resourceLanguage';\n\nconst contributionRegistry = Registry.as<IJSONContributionRegistry>(JSONExtensions.JSONContribution);\n\nclass ConfigurationRegistry extends Disposable implements IConfigurationRegistry {\n\n\tprivate readonly registeredConfigurationDefaults: IConfigurationDefaults[] = [];\n\tprivate readonly configurationDefaultsOverrides: Map<string, { configurationDefaultOverrides: IConfigurationDefaultOverride[]; configurationDefaultOverrideValue?: IConfigurationDefaultOverrideValue }>;\n\tprivate readonly defaultLanguageConfigurationOverridesNode: IConfigurationNode;\n\tprivate readonly configurationContributors: IConfigurationNode[];\n\tprivate readonly configurationProperties: IStringDictionary<IRegisteredConfigurationPropertySchema>;\n\tprivate readonly policyConfigurations: Map<PolicyName, string>;\n\tprivate readonly excludedConfigurationProperties: IStringDictionary<IRegisteredConfigurationPropertySchema>;\n\tprivate readonly resourceLanguageSettingsSchema: IJSONSchema;\n\tprivate readonly overrideIdentifiers = new Set<string>();\n\n\tprivate readonly _onDidSchemaChange = this._register(new Emitter<void>());\n\n\tprivate readonly _onDidUpdateConfiguration = this._register(new Emitter<{ properties: ReadonlySet<string>; defaultsOverrides?: boolean }>());\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.configurationDefaultsOverrides = new Map();\n\t\tthis.defaultLanguageConfigurationOverridesNode = {\n\t\t\tid: 'defaultOverrides',\n\t\t\ttitle: nls.localize('defaultLanguageConfigurationOverrides.title', \"Default Language Configuration Overrides\"),\n\t\t\tproperties: {}\n\t\t};\n\t\tthis.configurationContributors = [this.defaultLanguageConfigurationOverridesNode];\n\t\tthis.resourceLanguageSettingsSchema = {\n\t\t\tproperties: {},\n\t\t\tpatternProperties: {},\n\t\t\tadditionalProperties: true,\n\t\t\tallowTrailingCommas: true,\n\t\t\tallowComments: true\n\t\t};\n\t\tthis.configurationProperties = {};\n\t\tthis.policyConfigurations = new Map<PolicyName, string>();\n\t\tthis.excludedConfigurationProperties = {};\n\n\t\tcontributionRegistry.registerSchema(resourceLanguageSettingsSchemaId, this.resourceLanguageSettingsSchema);\n\t\tthis.registerOverridePropertyPatternKey();\n\t}\n\n\tpublic registerConfiguration(configuration: IConfigurationNode, validate: boolean = true): IConfigurationNode {\n\t\tthis.registerConfigurations([configuration], validate);\n\t\treturn configuration;\n\t}\n\n\tpublic registerConfigurations(configurations: IConfigurationNode[], validate: boolean = true): void {\n\t\tconst properties = new Set<string>();\n\t\tthis.doRegisterConfigurations(configurations, validate, properties);\n\n\t\tcontributionRegistry.registerSchema(resourceLanguageSettingsSchemaId, this.resourceLanguageSettingsSchema);\n\t\tthis._onDidSchemaChange.fire();\n\t\tthis._onDidUpdateConfiguration.fire({ properties });\n\t}\n\n\tpublic registerDefaultConfigurations(configurationDefaults: IConfigurationDefaults[]): void {\n\t\tconst properties = new Set<string>();\n\t\tthis.doRegisterDefaultConfigurations(configurationDefaults, properties);\n\t\tthis._onDidSchemaChange.fire();\n\t\tthis._onDidUpdateConfiguration.fire({ properties, defaultsOverrides: true });\n\t}\n\n\tprivate doRegisterDefaultConfigurations(configurationDefaults: IConfigurationDefaults[], bucket: Set<string>) {\n\n\t\tthis.registeredConfigurationDefaults.push(...configurationDefaults);\n\n\t\tconst overrideIdentifiers: string[] = [];\n\n\t\tfor (const { overrides, source } of configurationDefaults) {\n\t\t\tfor (const key in overrides) {\n\t\t\t\tbucket.add(key);\n\n\t\t\t\tconst configurationDefaultOverridesForKey = this.configurationDefaultsOverrides.get(key)\n\t\t\t\t\t?? this.configurationDefaultsOverrides.set(key, { configurationDefaultOverrides: [] }).get(key)!;\n\n\t\t\t\tconst value = overrides[key];\n\t\t\t\tconfigurationDefaultOverridesForKey.configurationDefaultOverrides.push({ value, source });\n\n\t\t\t\t// Configuration defaults for Override Identifiers\n\t\t\t\tif (OVERRIDE_PROPERTY_REGEX.test(key)) {\n\t\t\t\t\tconst newDefaultOverride = this.mergeDefaultConfigurationsForOverrideIdentifier(key, value, source, configurationDefaultOverridesForKey.configurationDefaultOverrideValue);\n\t\t\t\t\tif (!newDefaultOverride) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconfigurationDefaultOverridesForKey.configurationDefaultOverrideValue = newDefaultOverride;\n\t\t\t\t\tthis.updateDefaultOverrideProperty(key, newDefaultOverride, source);\n\t\t\t\t\toverrideIdentifiers.push(...overrideIdentifiersFromKey(key));\n\t\t\t\t}\n\n\t\t\t\t// Configuration defaults for Configuration Properties\n\t\t\t\telse {\n\t\t\t\t\tconst newDefaultOverride = this.mergeDefaultConfigurationsForConfigurationProperty(key, value, source, configurationDefaultOverridesForKey.configurationDefaultOverrideValue);\n\t\t\t\t\tif (!newDefaultOverride) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconfigurationDefaultOverridesForKey.configurationDefaultOverrideValue = newDefaultOverride;\n\t\t\t\t\tconst property = this.configurationProperties[key];\n\t\t\t\t\tif (property) {\n\t\t\t\t\t\tthis.updatePropertyDefaultValue(key, property);\n\t\t\t\t\t\tthis.updateSchema(key, property);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\n\t\tthis.doRegisterOverrideIdentifiers(overrideIdentifiers);\n\t}\n\n\tprivate updateDefaultOverrideProperty(key: string, newDefaultOverride: IConfigurationDefaultOverrideValue, source: IExtensionInfo | undefined): void {\n\t\tconst property: IRegisteredConfigurationPropertySchema = {\n\t\t\ttype: 'object',\n\t\t\tdefault: newDefaultOverride.value,\n\t\t\tdescription: nls.localize('defaultLanguageConfiguration.description', \"Configure settings to be overridden for {0}.\", getLanguageTagSettingPlainKey(key)),\n\t\t\t$ref: resourceLanguageSettingsSchemaId,\n\t\t\tdefaultDefaultValue: newDefaultOverride.value,\n\t\t\tsource,\n\t\t\tdefaultValueSource: source\n\t\t};\n\t\tthis.configurationProperties[key] = property;\n\t\tthis.defaultLanguageConfigurationOverridesNode.properties![key] = property;\n\t}\n\n\tprivate mergeDefaultConfigurationsForOverrideIdentifier(overrideIdentifier: string, configurationValueObject: IStringDictionary<any>, valueSource: IExtensionInfo | undefined, existingDefaultOverride: IConfigurationDefaultOverrideValue | undefined): IConfigurationDefaultOverrideValue | undefined {\n\t\tconst defaultValue = existingDefaultOverride?.value || {};\n\t\tconst source = existingDefaultOverride?.source ?? new Map<string, IExtensionInfo>();\n\n\t\t// This should not happen\n\t\tif (!(source instanceof Map)) {\n\t\t\tconsole.error('objectConfigurationSources is not a Map');\n\t\t\treturn undefined;\n\t\t}\n\n\t\tfor (const propertyKey of Object.keys(configurationValueObject)) {\n\t\t\tconst propertyDefaultValue = configurationValueObject[propertyKey];\n\n\t\t\tconst isObjectSetting = types.isObject(propertyDefaultValue) &&\n\t\t\t\t(types.isUndefined(defaultValue[propertyKey]) || types.isObject(defaultValue[propertyKey]));\n\n\t\t\t// If the default value is an object, merge the objects and store the source of each keys\n\t\t\tif (isObjectSetting) {\n\t\t\t\tdefaultValue[propertyKey] = { ...(defaultValue[propertyKey] ?? {}), ...propertyDefaultValue };\n\t\t\t\t// Track the source of each value in the object\n\t\t\t\tif (valueSource) {\n\t\t\t\t\tfor (const objectKey in propertyDefaultValue) {\n\t\t\t\t\t\tsource.set(`${propertyKey}.${objectKey}`, valueSource);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Primitive values are overridden\n\t\t\telse {\n\t\t\t\tdefaultValue[propertyKey] = propertyDefaultValue;\n\t\t\t\tif (valueSource) {\n\t\t\t\t\tsource.set(propertyKey, valueSource);\n\t\t\t\t} else {\n\t\t\t\t\tsource.delete(propertyKey);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn { value: defaultValue, source };\n\t}\n\n\tprivate mergeDefaultConfigurationsForConfigurationProperty(propertyKey: string, value: any, valuesSource: IExtensionInfo | undefined, existingDefaultOverride: IConfigurationDefaultOverrideValue | undefined): IConfigurationDefaultOverrideValue | undefined {\n\t\tconst property = this.configurationProperties[propertyKey];\n\t\tconst existingDefaultValue = existingDefaultOverride?.value ?? property?.defaultDefaultValue;\n\t\tlet source: ConfigurationDefaultValueSource | undefined = valuesSource;\n\n\t\tconst isObjectSetting = types.isObject(value) &&\n\t\t\t(\n\t\t\t\tproperty !== undefined && property.type === 'object' ||\n\t\t\t\tproperty === undefined && (types.isUndefined(existingDefaultValue) || types.isObject(existingDefaultValue))\n\t\t\t);\n\n\t\t// If the default value is an object, merge the objects and store the source of each keys\n\t\tif (isObjectSetting) {\n\t\t\tsource = existingDefaultOverride?.source ?? new Map<string, IExtensionInfo>();\n\n\t\t\t// This should not happen\n\t\t\tif (!(source instanceof Map)) {\n\t\t\t\tconsole.error('defaultValueSource is not a Map');\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tfor (const objectKey in value) {\n\t\t\t\tif (valuesSource) {\n\t\t\t\t\tsource.set(`${propertyKey}.${objectKey}`, valuesSource);\n\t\t\t\t}\n\t\t\t}\n\t\t\tvalue = { ...(types.isObject(existingDefaultValue) ? existingDefaultValue : {}), ...value };\n\t\t}\n\n\t\treturn { value, source };\n\t}\n\n\tpublic registerOverrideIdentifiers(overrideIdentifiers: string[]): void {\n\t\tthis.doRegisterOverrideIdentifiers(overrideIdentifiers);\n\t\tthis._onDidSchemaChange.fire();\n\t}\n\n\tprivate doRegisterOverrideIdentifiers(overrideIdentifiers: string[]) {\n\t\tfor (const overrideIdentifier of overrideIdentifiers) {\n\t\t\tthis.overrideIdentifiers.add(overrideIdentifier);\n\t\t}\n\t\tthis.updateOverridePropertyPatternKey();\n\t}\n\n\tprivate doRegisterConfigurations(configurations: IConfigurationNode[], validate: boolean, bucket: Set<string>): void {\n\n\t\tconfigurations.forEach(configuration => {\n\n\t\t\tthis.validateAndRegisterProperties(configuration, validate, configuration.extensionInfo, configuration.restrictedProperties, undefined, bucket);\n\n\t\t\tthis.configurationContributors.push(configuration);\n\t\t\tthis.registerJSONConfiguration(configuration);\n\t\t});\n\t}\n\n\tprivate validateAndRegisterProperties(configuration: IConfigurationNode, validate: boolean = true, extensionInfo: IExtensionInfo | undefined, restrictedProperties: string[] | undefined, scope: ConfigurationScope = ConfigurationScope.WINDOW, bucket: Set<string>): void {\n\t\tscope = types.isUndefinedOrNull(configuration.scope) ? scope : configuration.scope;\n\t\tconst properties = configuration.properties;\n\t\tif (properties) {\n\t\t\tfor (const key in properties) {\n\t\t\t\tconst property: IRegisteredConfigurationPropertySchema = properties[key];\n\t\t\t\tif (validate && validateProperty(key, property)) {\n\t\t\t\t\tdelete properties[key];\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tproperty.source = extensionInfo;\n\n\t\t\t\t// update default value\n\t\t\t\tproperty.defaultDefaultValue = properties[key].default;\n\t\t\t\tthis.updatePropertyDefaultValue(key, property);\n\n\t\t\t\t// update scope\n\t\t\t\tif (OVERRIDE_PROPERTY_REGEX.test(key)) {\n\t\t\t\t\tproperty.scope = undefined; // No scope for overridable properties `[${identifier}]`\n\t\t\t\t} else {\n\t\t\t\t\tproperty.scope = types.isUndefinedOrNull(property.scope) ? scope : property.scope;\n\t\t\t\t\tproperty.restricted = types.isUndefinedOrNull(property.restricted) ? !!restrictedProperties?.includes(key) : property.restricted;\n\t\t\t\t}\n\n\t\t\t\tif (property.experiment) {\n\t\t\t\t\tif (!property.tags?.some(tag => tag.toLowerCase() === 'onexp')) {\n\t\t\t\t\t\tproperty.tags = property.tags ?? [];\n\t\t\t\t\t\tproperty.tags.push('onExP');\n\t\t\t\t\t}\n\t\t\t\t} else if (property.tags?.some(tag => tag.toLowerCase() === 'onexp')) {\n\t\t\t\t\tconsole.error(`Invalid tag 'onExP' found for property '${key}'. Please use 'experiment' property instead.`);\n\t\t\t\t\tproperty.experiment = { mode: 'startup' };\n\t\t\t\t}\n\n\t\t\t\tconst excluded = properties[key].hasOwnProperty('included') && !properties[key].included;\n\t\t\t\tconst policyName = properties[key].policy?.name;\n\n\t\t\t\tif (excluded) {\n\t\t\t\t\tthis.excludedConfigurationProperties[key] = properties[key];\n\t\t\t\t\tif (policyName) {\n\t\t\t\t\t\tthis.policyConfigurations.set(policyName, key);\n\t\t\t\t\t\tbucket.add(key);\n\t\t\t\t\t}\n\t\t\t\t\tdelete properties[key];\n\t\t\t\t} else {\n\t\t\t\t\tbucket.add(key);\n\t\t\t\t\tif (policyName) {\n\t\t\t\t\t\tthis.policyConfigurations.set(policyName, key);\n\t\t\t\t\t}\n\t\t\t\t\tthis.configurationProperties[key] = properties[key];\n\t\t\t\t\tif (!properties[key].deprecationMessage && properties[key].markdownDeprecationMessage) {\n\t\t\t\t\t\t// If not set, default deprecationMessage to the markdown source\n\t\t\t\t\t\tproperties[key].deprecationMessage = properties[key].markdownDeprecationMessage;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t}\n\t\t}\n\t\tconst subNodes = configuration.allOf;\n\t\tif (subNodes) {\n\t\t\tfor (const node of subNodes) {\n\t\t\t\tthis.validateAndRegisterProperties(node, validate, extensionInfo, restrictedProperties, scope, bucket);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetConfigurationProperties(): IStringDictionary<IRegisteredConfigurationPropertySchema> {\n\t\treturn this.configurationProperties;\n\t}\n\n\tgetPolicyConfigurations(): Map<PolicyName, string> {\n\t\treturn this.policyConfigurations;\n\t}\n\n\tgetExcludedConfigurationProperties(): IStringDictionary<IRegisteredConfigurationPropertySchema> {\n\t\treturn this.excludedConfigurationProperties;\n\t}\n\n\tprivate registerJSONConfiguration(configuration: IConfigurationNode) {\n\t\tconst register = (configuration: IConfigurationNode) => {\n\t\t\tconst properties = configuration.properties;\n\t\t\tif (properties) {\n\t\t\t\tfor (const key in properties) {\n\t\t\t\t\tthis.updateSchema(key, properties[key]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst subNodes = configuration.allOf;\n\t\t\tsubNodes?.forEach(register);\n\t\t};\n\t\tregister(configuration);\n\t}\n\n\tprivate updateSchema(key: string, property: IConfigurationPropertySchema): void {\n\t\tallSettings.properties[key] = property;\n\t\tswitch (property.scope) {\n\t\t\tcase ConfigurationScope.APPLICATION:\n\t\t\t\tapplicationSettings.properties[key] = property;\n\t\t\t\tbreak;\n\t\t\tcase ConfigurationScope.MACHINE:\n\t\t\t\tmachineSettings.properties[key] = property;\n\t\t\t\tbreak;\n\t\t\tcase ConfigurationScope.APPLICATION_MACHINE:\n\t\t\t\tapplicationMachineSettings.properties[key] = property;\n\t\t\t\tbreak;\n\t\t\tcase ConfigurationScope.MACHINE_OVERRIDABLE:\n\t\t\t\tmachineOverridableSettings.properties[key] = property;\n\t\t\t\tbreak;\n\t\t\tcase ConfigurationScope.WINDOW:\n\t\t\t\twindowSettings.properties[key] = property;\n\t\t\t\tbreak;\n\t\t\tcase ConfigurationScope.RESOURCE:\n\t\t\t\tresourceSettings.properties[key] = property;\n\t\t\t\tbreak;\n\t\t\tcase ConfigurationScope.LANGUAGE_OVERRIDABLE:\n\t\t\t\tresourceSettings.properties[key] = property;\n\t\t\t\tthis.resourceLanguageSettingsSchema.properties![key] = property;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprivate updateOverridePropertyPatternKey(): void {\n\t\tfor (const overrideIdentifier of this.overrideIdentifiers.values()) {\n\t\t\tconst overrideIdentifierProperty = `[${overrideIdentifier}]`;\n\t\t\tconst resourceLanguagePropertiesSchema: IJSONSchema = {\n\t\t\t\ttype: 'object',\n\t\t\t\tdescription: nls.localize('overrideSettings.defaultDescription', \"Configure editor settings to be overridden for a language.\"),\n\t\t\t\terrorMessage: nls.localize('overrideSettings.errorMessage', \"This setting does not support per-language configuration.\"),\n\t\t\t\t$ref: resourceLanguageSettingsSchemaId,\n\t\t\t};\n\t\t\tthis.updatePropertyDefaultValue(overrideIdentifierProperty, resourceLanguagePropertiesSchema);\n\t\t\tallSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t\tapplicationSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t\tapplicationMachineSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t\tmachineSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t\tmachineOverridableSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t\twindowSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t\tresourceSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t}\n\t}\n\n\tprivate registerOverridePropertyPatternKey(): void {\n\t\tconst resourceLanguagePropertiesSchema: IJSONSchema = {\n\t\t\ttype: 'object',\n\t\t\tdescription: nls.localize('overrideSettings.defaultDescription', \"Configure editor settings to be overridden for a language.\"),\n\t\t\terrorMessage: nls.localize('overrideSettings.errorMessage', \"This setting does not support per-language configuration.\"),\n\t\t\t$ref: resourceLanguageSettingsSchemaId,\n\t\t};\n\t\tallSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\tapplicationSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\tapplicationMachineSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\tmachineSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\tmachineOverridableSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\twindowSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\tresourceSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\tthis._onDidSchemaChange.fire();\n\t}\n\n\tprivate updatePropertyDefaultValue(key: string, property: IRegisteredConfigurationPropertySchema): void {\n\t\tconst configurationdefaultOverride = this.configurationDefaultsOverrides.get(key)?.configurationDefaultOverrideValue;\n\t\tlet defaultValue = undefined;\n\t\tlet defaultSource = undefined;\n\t\tif (configurationdefaultOverride\n\t\t\t&& (!property.disallowConfigurationDefault || !configurationdefaultOverride.source) // Prevent overriding the default value if the property is disallowed to be overridden by configuration defaults from extensions\n\t\t) {\n\t\t\tdefaultValue = configurationdefaultOverride.value;\n\t\t\tdefaultSource = configurationdefaultOverride.source;\n\t\t}\n\t\tif (types.isUndefined(defaultValue)) {\n\t\t\tdefaultValue = property.defaultDefaultValue;\n\t\t\tdefaultSource = undefined;\n\t\t}\n\t\tif (types.isUndefined(defaultValue)) {\n\t\t\tdefaultValue = getDefaultValue(property.type);\n\t\t}\n\t\tproperty.default = defaultValue;\n\t\tproperty.defaultValueSource = defaultSource;\n\t}\n}\n\nconst OVERRIDE_IDENTIFIER_PATTERN = `\\\\[([^\\\\]]+)\\\\]`;\nconst OVERRIDE_IDENTIFIER_REGEX = new RegExp(OVERRIDE_IDENTIFIER_PATTERN, 'g');\nexport const OVERRIDE_PROPERTY_PATTERN = `^(${OVERRIDE_IDENTIFIER_PATTERN})+$`;\nexport const OVERRIDE_PROPERTY_REGEX = new RegExp(OVERRIDE_PROPERTY_PATTERN);\n\nexport function overrideIdentifiersFromKey(key: string): string[] {\n\tconst identifiers: string[] = [];\n\tif (OVERRIDE_PROPERTY_REGEX.test(key)) {\n\t\tlet matches = OVERRIDE_IDENTIFIER_REGEX.exec(key);\n\t\twhile (matches?.length) {\n\t\t\tconst identifier = matches[1].trim();\n\t\t\tif (identifier) {\n\t\t\t\tidentifiers.push(identifier);\n\t\t\t}\n\t\t\tmatches = OVERRIDE_IDENTIFIER_REGEX.exec(key);\n\t\t}\n\t}\n\treturn distinct(identifiers);\n}\n\nexport function getDefaultValue(type: string | string[] | undefined) {\n\tconst t = Array.isArray(type) ? (<string[]>type)[0] : <string>type;\n\tswitch (t) {\n\t\tcase 'boolean':\n\t\t\treturn false;\n\t\tcase 'integer':\n\t\tcase 'number':\n\t\t\treturn 0;\n\t\tcase 'string':\n\t\t\treturn '';\n\t\tcase 'array':\n\t\t\treturn [];\n\t\tcase 'object':\n\t\t\treturn {};\n\t\tdefault:\n\t\t\treturn null;\n\t}\n}\n\nconst configurationRegistry = new ConfigurationRegistry();\nRegistry.add(Extensions.Configuration, configurationRegistry);\n\nexport function validateProperty(property: string, schema: IRegisteredConfigurationPropertySchema): string | null {\n\tif (!property.trim()) {\n\t\treturn nls.localize('config.property.empty', \"Cannot register an empty property\");\n\t}\n\tif (OVERRIDE_PROPERTY_REGEX.test(property)) {\n\t\treturn nls.localize('config.property.languageDefault', \"Cannot register '{0}'. This matches property pattern '\\\\\\\\[.*\\\\\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.\", property);\n\t}\n\tif (configurationRegistry.getConfigurationProperties()[property] !== undefined) {\n\t\treturn nls.localize('config.property.duplicate', \"Cannot register '{0}'. This property is already registered.\", property);\n\t}\n\tif (schema.policy?.name && configurationRegistry.getPolicyConfigurations().get(schema.policy?.name) !== undefined) {\n\t\treturn nls.localize('config.policy.duplicate', \"Cannot register '{0}'. The associated policy {1} is already registered with {2}.\", property, schema.policy?.name, configurationRegistry.getPolicyConfigurations().get(schema.policy?.name));\n\t}\n\treturn null;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["vs/platform/configuration/common/configurationRegistry.ts"],"names":[],"mappings":"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","file":"configurationRegistry.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { distinct } from '../../../base/common/arrays.js';\nimport { IStringDictionary } from '../../../base/common/collections.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { IJSONSchema } from '../../../base/common/jsonSchema.js';\nimport * as types from '../../../base/common/types.js';\nimport * as nls from '../../../nls.js';\nimport { getLanguageTagSettingPlainKey } from './configuration.js';\nimport { Extensions as JSONExtensions, IJSONContributionRegistry } from '../../jsonschemas/common/jsonContributionRegistry.js';\nimport { Registry } from '../../registry/common/platform.js';\nimport { IPolicy, PolicyName } from '../../../base/common/policy.js';\nimport { Disposable } from '../../../base/common/lifecycle.js';\n\nexport const Extensions = {\n\tConfiguration: 'base.contributions.configuration'\n};\n\nexport interface IConfigurationRegistry {\n\n\t/**\n\t * Register a configuration to the registry.\n\t */\n\tregisterConfiguration(configuration: IConfigurationNode): IConfigurationNode;\n\n\t/**\n\t * Register multiple default configurations to the registry.\n\t */\n\tregisterDefaultConfigurations(defaultConfigurations: IConfigurationDefaults[]): void;\n\n\t/**\n\t * Returns all configurations settings of all configuration nodes contributed to this registry.\n\t */\n\tgetConfigurationProperties(): IStringDictionary<IRegisteredConfigurationPropertySchema>;\n\n\t/**\n\t * Returns all excluded configurations settings of all configuration nodes contributed to this registry.\n\t */\n\tgetExcludedConfigurationProperties(): IStringDictionary<IRegisteredConfigurationPropertySchema>;\n\n\t/**\n\t * Register the identifiers for editor configurations\n\t */\n\tregisterOverrideIdentifiers(identifiers: string[]): void;\n}\n\nexport const enum ConfigurationScope {\n\t/**\n\t * Application specific configuration, which can be configured only in default profile user settings.\n\t */\n\tAPPLICATION = 1,\n\t/**\n\t * Machine specific configuration, which can be configured only in local and remote user settings.\n\t */\n\tMACHINE,\n\t/**\n\t * An application machine specific configuration, which can be configured only in default profile user settings and remote user settings.\n\t */\n\tAPPLICATION_MACHINE,\n\t/**\n\t * Window specific configuration, which can be configured in the user or workspace settings.\n\t */\n\tWINDOW,\n\t/**\n\t * Resource specific configuration, which can be configured in the user, workspace or folder settings.\n\t */\n\tRESOURCE,\n\t/**\n\t * Resource specific configuration that can be configured in language specific settings\n\t */\n\tLANGUAGE_OVERRIDABLE,\n\t/**\n\t * Machine specific configuration that can also be configured in workspace or folder settings.\n\t */\n\tMACHINE_OVERRIDABLE,\n}\n\n\nexport interface IConfigurationPropertySchema extends IJSONSchema {\n\n\tscope?: ConfigurationScope;\n\n\t/**\n\t * When restricted, value of this configuration will be read only from trusted sources.\n\t * For eg., If the workspace is not trusted, then the value of this configuration is not read from workspace settings file.\n\t */\n\trestricted?: boolean;\n\n\t/**\n\t * When `false` this property is excluded from the registry. Default is to include.\n\t */\n\tincluded?: boolean;\n\n\t/**\n\t * List of tags associated to the property.\n\t * - A tag can be used for filtering\n\t * - Use `experimental` tag for marking the setting as experimental.\n\t */\n\ttags?: string[];\n\n\t/**\n\t * Disallow extensions to contribute configuration default value for this setting.\n\t */\n\tdisallowConfigurationDefault?: boolean;\n\n\t/**\n\t * When specified, this setting's value can always be overwritten by\n\t * a system-wide policy.\n\t */\n\tpolicy?: IPolicy;\n\n\t/**\n\t * When specified, this setting's default value can always be overwritten by\n\t * an experiment.\n\t */\n\texperiment?: {\n\t\t/**\n\t\t * The mode of the experiment.\n\t\t * - `startup`: The setting value is updated to the experiment value only on startup.\n\t\t * - `auto`: The setting value is updated to the experiment value automatically (whenever the experiment value changes).\n\t\t */\n\t\tmode: 'startup' | 'auto';\n\n\t\t/**\n\t\t * The name of the experiment. By default, this is `config.${settingId}`\n\t\t */\n\t\tname?: string;\n\t};\n}\n\nexport interface IExtensionInfo {\n}\n\nexport interface IConfigurationNode {\n\tid?: string;\n\torder?: number;\n\ttype?: string | string[];\n\ttitle?: string;\n\tproperties?: IStringDictionary<IConfigurationPropertySchema>;\n\tallOf?: IConfigurationNode[];\n\tscope?: ConfigurationScope;\n\textensionInfo?: IExtensionInfo;\n\trestrictedProperties?: string[];\n}\n\nexport type ConfigurationDefaultValueSource = IExtensionInfo | Map<string, IExtensionInfo>;\n\nexport interface IConfigurationDefaults {\n\toverrides: IStringDictionary<any>;\n\tsource?: IExtensionInfo;\n}\n\nexport type IRegisteredConfigurationPropertySchema = IConfigurationPropertySchema & {\n\tsection?: {\n\t\tid?: string;\n\t\ttitle?: string;\n\t\torder?: number;\n\t\textensionInfo?: IExtensionInfo;\n\t};\n\tdefaultDefaultValue?: any;\n\tsource?: IExtensionInfo; // Source of the Property\n\tdefaultValueSource?: ConfigurationDefaultValueSource; // Source of the Default Value\n};\n\nexport interface IConfigurationDefaultOverride {\n\treadonly value: any;\n\treadonly source?: IExtensionInfo; // Source of the default override\n}\n\nexport interface IConfigurationDefaultOverrideValue {\n\treadonly value: any;\n\treadonly source?: ConfigurationDefaultValueSource;\n}\n\nexport const allSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\nexport const applicationSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\nexport const applicationMachineSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\nexport const machineSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\nexport const machineOverridableSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\nexport const windowSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\nexport const resourceSettings: { properties: IStringDictionary<IConfigurationPropertySchema>; patternProperties: IStringDictionary<IConfigurationPropertySchema> } = { properties: {}, patternProperties: {} };\n\nexport const resourceLanguageSettingsSchemaId = 'vscode://schemas/settings/resourceLanguage';\n\nconst contributionRegistry = Registry.as<IJSONContributionRegistry>(JSONExtensions.JSONContribution);\n\nclass ConfigurationRegistry extends Disposable implements IConfigurationRegistry {\n\n\tprivate readonly registeredConfigurationDefaults: IConfigurationDefaults[] = [];\n\tprivate readonly configurationDefaultsOverrides: Map<string, { configurationDefaultOverrides: IConfigurationDefaultOverride[]; configurationDefaultOverrideValue?: IConfigurationDefaultOverrideValue }>;\n\tprivate readonly defaultLanguageConfigurationOverridesNode: IConfigurationNode;\n\tprivate readonly configurationContributors: IConfigurationNode[];\n\tprivate readonly configurationProperties: IStringDictionary<IRegisteredConfigurationPropertySchema>;\n\tprivate readonly policyConfigurations: Map<PolicyName, string>;\n\tprivate readonly excludedConfigurationProperties: IStringDictionary<IRegisteredConfigurationPropertySchema>;\n\tprivate readonly resourceLanguageSettingsSchema: IJSONSchema;\n\tprivate readonly overrideIdentifiers = new Set<string>();\n\n\tprivate readonly _onDidSchemaChange = this._register(new Emitter<void>());\n\n\tprivate readonly _onDidUpdateConfiguration = this._register(new Emitter<{ properties: ReadonlySet<string>; defaultsOverrides?: boolean }>());\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.configurationDefaultsOverrides = new Map();\n\t\tthis.defaultLanguageConfigurationOverridesNode = {\n\t\t\tid: 'defaultOverrides',\n\t\t\ttitle: nls.localize('defaultLanguageConfigurationOverrides.title', \"Default Language Configuration Overrides\"),\n\t\t\tproperties: {}\n\t\t};\n\t\tthis.configurationContributors = [this.defaultLanguageConfigurationOverridesNode];\n\t\tthis.resourceLanguageSettingsSchema = {\n\t\t\tproperties: {},\n\t\t\tpatternProperties: {},\n\t\t\tadditionalProperties: true,\n\t\t\tallowTrailingCommas: true,\n\t\t\tallowComments: true\n\t\t};\n\t\tthis.configurationProperties = {};\n\t\tthis.policyConfigurations = new Map<PolicyName, string>();\n\t\tthis.excludedConfigurationProperties = {};\n\n\t\tcontributionRegistry.registerSchema(resourceLanguageSettingsSchemaId, this.resourceLanguageSettingsSchema);\n\t\tthis.registerOverridePropertyPatternKey();\n\t}\n\n\tpublic registerConfiguration(configuration: IConfigurationNode, validate: boolean = true): IConfigurationNode {\n\t\tthis.registerConfigurations([configuration], validate);\n\t\treturn configuration;\n\t}\n\n\tpublic registerConfigurations(configurations: IConfigurationNode[], validate: boolean = true): void {\n\t\tconst properties = new Set<string>();\n\t\tthis.doRegisterConfigurations(configurations, validate, properties);\n\n\t\tcontributionRegistry.registerSchema(resourceLanguageSettingsSchemaId, this.resourceLanguageSettingsSchema);\n\t\tthis._onDidSchemaChange.fire();\n\t\tthis._onDidUpdateConfiguration.fire({ properties });\n\t}\n\n\tpublic registerDefaultConfigurations(configurationDefaults: IConfigurationDefaults[]): void {\n\t\tconst properties = new Set<string>();\n\t\tthis.doRegisterDefaultConfigurations(configurationDefaults, properties);\n\t\tthis._onDidSchemaChange.fire();\n\t\tthis._onDidUpdateConfiguration.fire({ properties, defaultsOverrides: true });\n\t}\n\n\tprivate doRegisterDefaultConfigurations(configurationDefaults: IConfigurationDefaults[], bucket: Set<string>) {\n\n\t\tthis.registeredConfigurationDefaults.push(...configurationDefaults);\n\n\t\tconst overrideIdentifiers: string[] = [];\n\n\t\tfor (const { overrides, source } of configurationDefaults) {\n\t\t\tfor (const key in overrides) {\n\t\t\t\tbucket.add(key);\n\n\t\t\t\tconst configurationDefaultOverridesForKey = this.configurationDefaultsOverrides.get(key)\n\t\t\t\t\t?? this.configurationDefaultsOverrides.set(key, { configurationDefaultOverrides: [] }).get(key)!;\n\n\t\t\t\tconst value = overrides[key];\n\t\t\t\tconfigurationDefaultOverridesForKey.configurationDefaultOverrides.push({ value, source });\n\n\t\t\t\t// Configuration defaults for Override Identifiers\n\t\t\t\tif (OVERRIDE_PROPERTY_REGEX.test(key)) {\n\t\t\t\t\tconst newDefaultOverride = this.mergeDefaultConfigurationsForOverrideIdentifier(key, value, source, configurationDefaultOverridesForKey.configurationDefaultOverrideValue);\n\t\t\t\t\tif (!newDefaultOverride) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconfigurationDefaultOverridesForKey.configurationDefaultOverrideValue = newDefaultOverride;\n\t\t\t\t\tthis.updateDefaultOverrideProperty(key, newDefaultOverride, source);\n\t\t\t\t\toverrideIdentifiers.push(...overrideIdentifiersFromKey(key));\n\t\t\t\t}\n\n\t\t\t\t// Configuration defaults for Configuration Properties\n\t\t\t\telse {\n\t\t\t\t\tconst newDefaultOverride = this.mergeDefaultConfigurationsForConfigurationProperty(key, value, source, configurationDefaultOverridesForKey.configurationDefaultOverrideValue);\n\t\t\t\t\tif (!newDefaultOverride) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconfigurationDefaultOverridesForKey.configurationDefaultOverrideValue = newDefaultOverride;\n\t\t\t\t\tconst property = this.configurationProperties[key];\n\t\t\t\t\tif (property) {\n\t\t\t\t\t\tthis.updatePropertyDefaultValue(key, property);\n\t\t\t\t\t\tthis.updateSchema(key, property);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\n\t\tthis.doRegisterOverrideIdentifiers(overrideIdentifiers);\n\t}\n\n\tprivate updateDefaultOverrideProperty(key: string, newDefaultOverride: IConfigurationDefaultOverrideValue, source: IExtensionInfo | undefined): void {\n\t\tconst property: IRegisteredConfigurationPropertySchema = {\n\t\t\tsection: {\n\t\t\t\tid: this.defaultLanguageConfigurationOverridesNode.id,\n\t\t\t\ttitle: this.defaultLanguageConfigurationOverridesNode.title,\n\t\t\t\torder: this.defaultLanguageConfigurationOverridesNode.order,\n\t\t\t\textensionInfo: this.defaultLanguageConfigurationOverridesNode.extensionInfo\n\t\t\t},\n\t\t\ttype: 'object',\n\t\t\tdefault: newDefaultOverride.value,\n\t\t\tdescription: nls.localize('defaultLanguageConfiguration.description', \"Configure settings to be overridden for {0}.\", getLanguageTagSettingPlainKey(key)),\n\t\t\t$ref: resourceLanguageSettingsSchemaId,\n\t\t\tdefaultDefaultValue: newDefaultOverride.value,\n\t\t\tsource,\n\t\t\tdefaultValueSource: source\n\t\t};\n\t\tthis.configurationProperties[key] = property;\n\t\tthis.defaultLanguageConfigurationOverridesNode.properties![key] = property;\n\t}\n\n\tprivate mergeDefaultConfigurationsForOverrideIdentifier(overrideIdentifier: string, configurationValueObject: IStringDictionary<any>, valueSource: IExtensionInfo | undefined, existingDefaultOverride: IConfigurationDefaultOverrideValue | undefined): IConfigurationDefaultOverrideValue | undefined {\n\t\tconst defaultValue = existingDefaultOverride?.value || {};\n\t\tconst source = existingDefaultOverride?.source ?? new Map<string, IExtensionInfo>();\n\n\t\t// This should not happen\n\t\tif (!(source instanceof Map)) {\n\t\t\tconsole.error('objectConfigurationSources is not a Map');\n\t\t\treturn undefined;\n\t\t}\n\n\t\tfor (const propertyKey of Object.keys(configurationValueObject)) {\n\t\t\tconst propertyDefaultValue = configurationValueObject[propertyKey];\n\n\t\t\tconst isObjectSetting = types.isObject(propertyDefaultValue) &&\n\t\t\t\t(types.isUndefined(defaultValue[propertyKey]) || types.isObject(defaultValue[propertyKey]));\n\n\t\t\t// If the default value is an object, merge the objects and store the source of each keys\n\t\t\tif (isObjectSetting) {\n\t\t\t\tdefaultValue[propertyKey] = { ...(defaultValue[propertyKey] ?? {}), ...propertyDefaultValue };\n\t\t\t\t// Track the source of each value in the object\n\t\t\t\tif (valueSource) {\n\t\t\t\t\tfor (const objectKey in propertyDefaultValue) {\n\t\t\t\t\t\tsource.set(`${propertyKey}.${objectKey}`, valueSource);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Primitive values are overridden\n\t\t\telse {\n\t\t\t\tdefaultValue[propertyKey] = propertyDefaultValue;\n\t\t\t\tif (valueSource) {\n\t\t\t\t\tsource.set(propertyKey, valueSource);\n\t\t\t\t} else {\n\t\t\t\t\tsource.delete(propertyKey);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn { value: defaultValue, source };\n\t}\n\n\tprivate mergeDefaultConfigurationsForConfigurationProperty(propertyKey: string, value: any, valuesSource: IExtensionInfo | undefined, existingDefaultOverride: IConfigurationDefaultOverrideValue | undefined): IConfigurationDefaultOverrideValue | undefined {\n\t\tconst property = this.configurationProperties[propertyKey];\n\t\tconst existingDefaultValue = existingDefaultOverride?.value ?? property?.defaultDefaultValue;\n\t\tlet source: ConfigurationDefaultValueSource | undefined = valuesSource;\n\n\t\tconst isObjectSetting = types.isObject(value) &&\n\t\t\t(\n\t\t\t\tproperty !== undefined && property.type === 'object' ||\n\t\t\t\tproperty === undefined && (types.isUndefined(existingDefaultValue) || types.isObject(existingDefaultValue))\n\t\t\t);\n\n\t\t// If the default value is an object, merge the objects and store the source of each keys\n\t\tif (isObjectSetting) {\n\t\t\tsource = existingDefaultOverride?.source ?? new Map<string, IExtensionInfo>();\n\n\t\t\t// This should not happen\n\t\t\tif (!(source instanceof Map)) {\n\t\t\t\tconsole.error('defaultValueSource is not a Map');\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tfor (const objectKey in value) {\n\t\t\t\tif (valuesSource) {\n\t\t\t\t\tsource.set(`${propertyKey}.${objectKey}`, valuesSource);\n\t\t\t\t}\n\t\t\t}\n\t\t\tvalue = { ...(types.isObject(existingDefaultValue) ? existingDefaultValue : {}), ...value };\n\t\t}\n\n\t\treturn { value, source };\n\t}\n\n\tpublic registerOverrideIdentifiers(overrideIdentifiers: string[]): void {\n\t\tthis.doRegisterOverrideIdentifiers(overrideIdentifiers);\n\t\tthis._onDidSchemaChange.fire();\n\t}\n\n\tprivate doRegisterOverrideIdentifiers(overrideIdentifiers: string[]) {\n\t\tfor (const overrideIdentifier of overrideIdentifiers) {\n\t\t\tthis.overrideIdentifiers.add(overrideIdentifier);\n\t\t}\n\t\tthis.updateOverridePropertyPatternKey();\n\t}\n\n\tprivate doRegisterConfigurations(configurations: IConfigurationNode[], validate: boolean, bucket: Set<string>): void {\n\n\t\tconfigurations.forEach(configuration => {\n\n\t\t\tthis.validateAndRegisterProperties(configuration, validate, configuration.extensionInfo, configuration.restrictedProperties, undefined, bucket);\n\n\t\t\tthis.configurationContributors.push(configuration);\n\t\t\tthis.registerJSONConfiguration(configuration);\n\t\t});\n\t}\n\n\tprivate validateAndRegisterProperties(configuration: IConfigurationNode, validate: boolean = true, extensionInfo: IExtensionInfo | undefined, restrictedProperties: string[] | undefined, scope: ConfigurationScope = ConfigurationScope.WINDOW, bucket: Set<string>): void {\n\t\tscope = types.isUndefinedOrNull(configuration.scope) ? scope : configuration.scope;\n\t\tconst properties = configuration.properties;\n\t\tif (properties) {\n\t\t\tfor (const key in properties) {\n\t\t\t\tconst property: IRegisteredConfigurationPropertySchema = properties[key];\n\t\t\t\tproperty.section = {\n\t\t\t\t\tid: configuration.id,\n\t\t\t\t\ttitle: configuration.title,\n\t\t\t\t\torder: configuration.order,\n\t\t\t\t\textensionInfo: configuration.extensionInfo\n\t\t\t\t};\n\t\t\t\tif (validate && validateProperty(key, property)) {\n\t\t\t\t\tdelete properties[key];\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tproperty.source = extensionInfo;\n\n\t\t\t\t// update default value\n\t\t\t\tproperty.defaultDefaultValue = properties[key].default;\n\t\t\t\tthis.updatePropertyDefaultValue(key, property);\n\n\t\t\t\t// update scope\n\t\t\t\tif (OVERRIDE_PROPERTY_REGEX.test(key)) {\n\t\t\t\t\tproperty.scope = undefined; // No scope for overridable properties `[${identifier}]`\n\t\t\t\t} else {\n\t\t\t\t\tproperty.scope = types.isUndefinedOrNull(property.scope) ? scope : property.scope;\n\t\t\t\t\tproperty.restricted = types.isUndefinedOrNull(property.restricted) ? !!restrictedProperties?.includes(key) : property.restricted;\n\t\t\t\t}\n\n\t\t\t\tif (property.experiment) {\n\t\t\t\t\tif (!property.tags?.some(tag => tag.toLowerCase() === 'onexp')) {\n\t\t\t\t\t\tproperty.tags = property.tags ?? [];\n\t\t\t\t\t\tproperty.tags.push('onExP');\n\t\t\t\t\t}\n\t\t\t\t} else if (property.tags?.some(tag => tag.toLowerCase() === 'onexp')) {\n\t\t\t\t\tconsole.error(`Invalid tag 'onExP' found for property '${key}'. Please use 'experiment' property instead.`);\n\t\t\t\t\tproperty.experiment = { mode: 'startup' };\n\t\t\t\t}\n\n\t\t\t\tconst excluded = properties[key].hasOwnProperty('included') && !properties[key].included;\n\t\t\t\tconst policyName = properties[key].policy?.name;\n\n\t\t\t\tif (excluded) {\n\t\t\t\t\tthis.excludedConfigurationProperties[key] = properties[key];\n\t\t\t\t\tif (policyName) {\n\t\t\t\t\t\tthis.policyConfigurations.set(policyName, key);\n\t\t\t\t\t\tbucket.add(key);\n\t\t\t\t\t}\n\t\t\t\t\tdelete properties[key];\n\t\t\t\t} else {\n\t\t\t\t\tbucket.add(key);\n\t\t\t\t\tif (policyName) {\n\t\t\t\t\t\tthis.policyConfigurations.set(policyName, key);\n\t\t\t\t\t}\n\t\t\t\t\tthis.configurationProperties[key] = properties[key];\n\t\t\t\t\tif (!properties[key].deprecationMessage && properties[key].markdownDeprecationMessage) {\n\t\t\t\t\t\t// If not set, default deprecationMessage to the markdown source\n\t\t\t\t\t\tproperties[key].deprecationMessage = properties[key].markdownDeprecationMessage;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t}\n\t\t}\n\t\tconst subNodes = configuration.allOf;\n\t\tif (subNodes) {\n\t\t\tfor (const node of subNodes) {\n\t\t\t\tthis.validateAndRegisterProperties(node, validate, extensionInfo, restrictedProperties, scope, bucket);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetConfigurationProperties(): IStringDictionary<IRegisteredConfigurationPropertySchema> {\n\t\treturn this.configurationProperties;\n\t}\n\n\tgetPolicyConfigurations(): Map<PolicyName, string> {\n\t\treturn this.policyConfigurations;\n\t}\n\n\tgetExcludedConfigurationProperties(): IStringDictionary<IRegisteredConfigurationPropertySchema> {\n\t\treturn this.excludedConfigurationProperties;\n\t}\n\n\tprivate registerJSONConfiguration(configuration: IConfigurationNode) {\n\t\tconst register = (configuration: IConfigurationNode) => {\n\t\t\tconst properties = configuration.properties;\n\t\t\tif (properties) {\n\t\t\t\tfor (const key in properties) {\n\t\t\t\t\tthis.updateSchema(key, properties[key]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst subNodes = configuration.allOf;\n\t\t\tsubNodes?.forEach(register);\n\t\t};\n\t\tregister(configuration);\n\t}\n\n\tprivate updateSchema(key: string, property: IConfigurationPropertySchema): void {\n\t\tallSettings.properties[key] = property;\n\t\tswitch (property.scope) {\n\t\t\tcase ConfigurationScope.APPLICATION:\n\t\t\t\tapplicationSettings.properties[key] = property;\n\t\t\t\tbreak;\n\t\t\tcase ConfigurationScope.MACHINE:\n\t\t\t\tmachineSettings.properties[key] = property;\n\t\t\t\tbreak;\n\t\t\tcase ConfigurationScope.APPLICATION_MACHINE:\n\t\t\t\tapplicationMachineSettings.properties[key] = property;\n\t\t\t\tbreak;\n\t\t\tcase ConfigurationScope.MACHINE_OVERRIDABLE:\n\t\t\t\tmachineOverridableSettings.properties[key] = property;\n\t\t\t\tbreak;\n\t\t\tcase ConfigurationScope.WINDOW:\n\t\t\t\twindowSettings.properties[key] = property;\n\t\t\t\tbreak;\n\t\t\tcase ConfigurationScope.RESOURCE:\n\t\t\t\tresourceSettings.properties[key] = property;\n\t\t\t\tbreak;\n\t\t\tcase ConfigurationScope.LANGUAGE_OVERRIDABLE:\n\t\t\t\tresourceSettings.properties[key] = property;\n\t\t\t\tthis.resourceLanguageSettingsSchema.properties![key] = property;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprivate updateOverridePropertyPatternKey(): void {\n\t\tfor (const overrideIdentifier of this.overrideIdentifiers.values()) {\n\t\t\tconst overrideIdentifierProperty = `[${overrideIdentifier}]`;\n\t\t\tconst resourceLanguagePropertiesSchema: IJSONSchema = {\n\t\t\t\ttype: 'object',\n\t\t\t\tdescription: nls.localize('overrideSettings.defaultDescription', \"Configure editor settings to be overridden for a language.\"),\n\t\t\t\terrorMessage: nls.localize('overrideSettings.errorMessage', \"This setting does not support per-language configuration.\"),\n\t\t\t\t$ref: resourceLanguageSettingsSchemaId,\n\t\t\t};\n\t\t\tthis.updatePropertyDefaultValue(overrideIdentifierProperty, resourceLanguagePropertiesSchema);\n\t\t\tallSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t\tapplicationSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t\tapplicationMachineSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t\tmachineSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t\tmachineOverridableSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t\twindowSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t\tresourceSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\n\t\t}\n\t}\n\n\tprivate registerOverridePropertyPatternKey(): void {\n\t\tconst resourceLanguagePropertiesSchema: IJSONSchema = {\n\t\t\ttype: 'object',\n\t\t\tdescription: nls.localize('overrideSettings.defaultDescription', \"Configure editor settings to be overridden for a language.\"),\n\t\t\terrorMessage: nls.localize('overrideSettings.errorMessage', \"This setting does not support per-language configuration.\"),\n\t\t\t$ref: resourceLanguageSettingsSchemaId,\n\t\t};\n\t\tallSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\tapplicationSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\tapplicationMachineSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\tmachineSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\tmachineOverridableSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\twindowSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\tresourceSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;\n\t\tthis._onDidSchemaChange.fire();\n\t}\n\n\tprivate updatePropertyDefaultValue(key: string, property: IRegisteredConfigurationPropertySchema): void {\n\t\tconst configurationdefaultOverride = this.configurationDefaultsOverrides.get(key)?.configurationDefaultOverrideValue;\n\t\tlet defaultValue = undefined;\n\t\tlet defaultSource = undefined;\n\t\tif (configurationdefaultOverride\n\t\t\t&& (!property.disallowConfigurationDefault || !configurationdefaultOverride.source) // Prevent overriding the default value if the property is disallowed to be overridden by configuration defaults from extensions\n\t\t) {\n\t\t\tdefaultValue = configurationdefaultOverride.value;\n\t\t\tdefaultSource = configurationdefaultOverride.source;\n\t\t}\n\t\tif (types.isUndefined(defaultValue)) {\n\t\t\tdefaultValue = property.defaultDefaultValue;\n\t\t\tdefaultSource = undefined;\n\t\t}\n\t\tif (types.isUndefined(defaultValue)) {\n\t\t\tdefaultValue = getDefaultValue(property.type);\n\t\t}\n\t\tproperty.default = defaultValue;\n\t\tproperty.defaultValueSource = defaultSource;\n\t}\n}\n\nconst OVERRIDE_IDENTIFIER_PATTERN = `\\\\[([^\\\\]]+)\\\\]`;\nconst OVERRIDE_IDENTIFIER_REGEX = new RegExp(OVERRIDE_IDENTIFIER_PATTERN, 'g');\nexport const OVERRIDE_PROPERTY_PATTERN = `^(${OVERRIDE_IDENTIFIER_PATTERN})+$`;\nexport const OVERRIDE_PROPERTY_REGEX = new RegExp(OVERRIDE_PROPERTY_PATTERN);\n\nexport function overrideIdentifiersFromKey(key: string): string[] {\n\tconst identifiers: string[] = [];\n\tif (OVERRIDE_PROPERTY_REGEX.test(key)) {\n\t\tlet matches = OVERRIDE_IDENTIFIER_REGEX.exec(key);\n\t\twhile (matches?.length) {\n\t\t\tconst identifier = matches[1].trim();\n\t\t\tif (identifier) {\n\t\t\t\tidentifiers.push(identifier);\n\t\t\t}\n\t\t\tmatches = OVERRIDE_IDENTIFIER_REGEX.exec(key);\n\t\t}\n\t}\n\treturn distinct(identifiers);\n}\n\nexport function getDefaultValue(type: string | string[] | undefined) {\n\tconst t = Array.isArray(type) ? (<string[]>type)[0] : <string>type;\n\tswitch (t) {\n\t\tcase 'boolean':\n\t\t\treturn false;\n\t\tcase 'integer':\n\t\tcase 'number':\n\t\t\treturn 0;\n\t\tcase 'string':\n\t\t\treturn '';\n\t\tcase 'array':\n\t\t\treturn [];\n\t\tcase 'object':\n\t\t\treturn {};\n\t\tdefault:\n\t\t\treturn null;\n\t}\n}\n\nconst configurationRegistry = new ConfigurationRegistry();\nRegistry.add(Extensions.Configuration, configurationRegistry);\n\nexport function validateProperty(property: string, schema: IRegisteredConfigurationPropertySchema): string | null {\n\tif (!property.trim()) {\n\t\treturn nls.localize('config.property.empty', \"Cannot register an empty property\");\n\t}\n\tif (OVERRIDE_PROPERTY_REGEX.test(property)) {\n\t\treturn nls.localize('config.property.languageDefault', \"Cannot register '{0}'. This matches property pattern '\\\\\\\\[.*\\\\\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.\", property);\n\t}\n\tif (configurationRegistry.getConfigurationProperties()[property] !== undefined) {\n\t\treturn nls.localize('config.property.duplicate', \"Cannot register '{0}'. This property is already registered.\", property);\n\t}\n\tif (schema.policy?.name && configurationRegistry.getPolicyConfigurations().get(schema.policy?.name) !== undefined) {\n\t\treturn nls.localize('config.policy.duplicate', \"Cannot register '{0}'. The associated policy {1} is already registered with {2}.\", property, schema.policy?.name, configurationRegistry.getPolicyConfigurations().get(schema.policy?.name));\n\t}\n\treturn null;\n}\n"]}
|
|
@@ -247,11 +247,13 @@ export class QuickInput extends Disposable {
|
|
|
247
247
|
this.busyDelay.setIfNotSet(() => {
|
|
248
248
|
if (this.visible) {
|
|
249
249
|
this.ui.progressBar.infinite();
|
|
250
|
+
this.ui.progressBar.getContainer().removeAttribute('aria-hidden');
|
|
250
251
|
}
|
|
251
252
|
}, 800);
|
|
252
253
|
}
|
|
253
254
|
if (!this.busy && this.busyDelay) {
|
|
254
255
|
this.ui.progressBar.stop();
|
|
256
|
+
this.ui.progressBar.getContainer().setAttribute('aria-hidden', 'true');
|
|
255
257
|
this.busyDelay.cancel();
|
|
256
258
|
this.busyDelay = undefined;
|
|
257
259
|
}
|