monaco-editor-core 0.55.0-dev-20251022 → 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.
Files changed (157) hide show
  1. package/esm/nls.keys.json +1 -1
  2. package/esm/nls.messages.cs.js +2 -2
  3. package/esm/nls.messages.de.js +2 -2
  4. package/esm/nls.messages.es.js +2 -2
  5. package/esm/nls.messages.fr.js +2 -2
  6. package/esm/nls.messages.it.js +2 -2
  7. package/esm/nls.messages.ja.js +2 -2
  8. package/esm/nls.messages.js +1 -1
  9. package/esm/nls.messages.json +1 -1
  10. package/esm/nls.messages.ko.js +2 -2
  11. package/esm/nls.messages.pl.js +2 -2
  12. package/esm/nls.messages.pt-br.js +2 -2
  13. package/esm/nls.messages.ru.js +2 -2
  14. package/esm/nls.messages.tr.js +2 -2
  15. package/esm/nls.messages.zh-cn.js +2 -2
  16. package/esm/nls.messages.zh-tw.js +2 -2
  17. package/esm/nls.metadata.json +6 -0
  18. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  19. package/esm/vs/base/browser/ui/iconLabel/iconlabel.css +2 -0
  20. package/esm/vs/base/browser/ui/list/listPaging.js +5 -1
  21. package/esm/vs/base/browser/ui/list/listPaging.js.map +1 -1
  22. package/esm/vs/base/browser/ui/list/listView.js +4 -3
  23. package/esm/vs/base/browser/ui/list/listView.js.map +1 -1
  24. package/esm/vs/base/browser/ui/toggle/toggle.js +2 -2
  25. package/esm/vs/base/browser/ui/toggle/toggle.js.map +1 -1
  26. package/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js +7 -0
  27. package/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js.map +1 -1
  28. package/esm/vs/base/browser/ui/tree/objectTree.js +3 -0
  29. package/esm/vs/base/browser/ui/tree/objectTree.js.map +1 -1
  30. package/esm/vs/base/browser/ui/tree/objectTreeModel.js +20 -0
  31. package/esm/vs/base/browser/ui/tree/objectTreeModel.js.map +1 -1
  32. package/esm/vs/base/common/arrays.js +10 -0
  33. package/esm/vs/base/common/arrays.js.map +1 -1
  34. package/esm/vs/base/common/codiconsLibrary.js +2 -0
  35. package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
  36. package/esm/vs/base/common/network.js +5 -1
  37. package/esm/vs/base/common/network.js.map +1 -1
  38. package/esm/vs/base/common/paging.js.map +1 -1
  39. package/esm/vs/base/common/validation.js +157 -0
  40. package/esm/vs/base/common/validation.js.map +1 -0
  41. package/esm/vs/editor/common/languages.js +10 -0
  42. package/esm/vs/editor/common/languages.js.map +1 -1
  43. package/esm/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js.map +1 -1
  44. package/esm/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.js +1 -1
  45. package/esm/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.js.map +1 -1
  46. package/esm/vs/editor/common/services/treeSitter/treeSitterLibraryService.js.map +1 -1
  47. package/esm/vs/editor/common/viewModel/viewModelLines.js.map +1 -1
  48. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  49. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +64 -20
  50. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js.map +1 -1
  51. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -12
  52. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +1 -1
  53. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +1 -1
  54. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  55. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +11 -12
  56. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  57. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +4 -4
  58. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js.map +1 -1
  59. package/esm/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js.map +1 -1
  60. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
  61. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +3 -0
  62. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js.map +1 -1
  63. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +1 -1
  64. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +5 -5
  65. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js.map +1 -1
  66. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  67. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  68. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  69. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -31
  70. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  71. package/esm/vs/editor/contrib/links/browser/links.js +10 -10
  72. package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
  73. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  74. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  75. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  76. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  77. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  78. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +8 -8
  79. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  80. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  81. package/esm/vs/editor/contrib/rename/browser/rename.js +11 -11
  82. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  83. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  84. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  85. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  86. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  87. package/esm/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  88. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  89. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  90. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  91. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  92. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  93. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  94. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  95. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  96. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  97. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  98. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  99. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  100. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  101. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  102. package/esm/vs/editor/standalone/browser/standaloneTreeSitterLibraryService.js +2 -12
  103. package/esm/vs/editor/standalone/browser/standaloneTreeSitterLibraryService.js.map +1 -1
  104. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  105. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  106. package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
  107. package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  108. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  109. package/esm/vs/platform/actions/browser/toolbar.js +2 -2
  110. package/esm/vs/platform/actions/common/actions.js +1 -0
  111. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  112. package/esm/vs/platform/actions/common/menuService.js +2 -2
  113. package/esm/vs/platform/configuration/common/configurationRegistry.js +22 -10
  114. package/esm/vs/platform/configuration/common/configurationRegistry.js.map +1 -1
  115. package/esm/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  116. package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
  117. package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
  118. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  119. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  120. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  121. package/esm/vs/platform/list/browser/listService.js +27 -27
  122. package/esm/vs/platform/markers/common/markerService.js +2 -2
  123. package/esm/vs/platform/markers/common/markers.js +6 -6
  124. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +19 -9
  125. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js.map +1 -1
  126. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  127. package/esm/vs/platform/quickinput/browser/quickInput.js +12 -10
  128. package/esm/vs/platform/quickinput/browser/quickInput.js.map +1 -1
  129. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  130. package/esm/vs/platform/quickinput/browser/quickInputController.js +12 -6
  131. package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
  132. package/esm/vs/platform/quickinput/browser/quickInputList.js +1 -1
  133. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  134. package/esm/vs/platform/quickinput/browser/tree/quickInputTree.js +9 -9
  135. package/esm/vs/platform/quickinput/browser/tree/quickInputTree.js.map +1 -1
  136. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +2 -2
  137. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js.map +1 -1
  138. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js +19 -26
  139. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js.map +1 -1
  140. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeSorter.js +46 -0
  141. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeSorter.js.map +1 -0
  142. package/esm/vs/platform/quickinput/common/quickInput.js.map +1 -1
  143. package/esm/vs/platform/theme/common/colorUtils.js +2 -2
  144. package/esm/vs/platform/theme/common/colors/baseColors.js +17 -17
  145. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
  146. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  147. package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
  148. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  149. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  150. package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
  151. package/esm/vs/platform/theme/common/colors/miscColors.js +15 -15
  152. package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  153. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  154. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  155. package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  156. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  157. package/package.json +2 -2
@@ -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"]}
@@ -448,7 +448,7 @@ CommandsRegistry.registerCommand({
448
448
  return [...RawContextKey.all()].sort((a, b) => a.key.localeCompare(b.key));
449
449
  },
450
450
  metadata: {
451
- description: localize(1667, "A command that returns information about context keys"),
451
+ description: localize(1670, "A command that returns information about context keys"),
452
452
  args: []
453
453
  }
454
454
  });
@@ -23,14 +23,14 @@ const hasOwnProperty = Object.prototype.hasOwnProperty;
23
23
  const defaultConfig = {
24
24
  regexParsingWithErrorRecovery: true
25
25
  };
26
- const errorEmptyString = localize(1668, "Empty context key expression");
27
- const hintEmptyString = localize(1669, "Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively.");
28
- const errorNoInAfterNot = localize(1670, "'in' after 'not'.");
29
- const errorClosingParenthesis = localize(1671, "closing parenthesis ')'");
30
- const errorUnexpectedToken = localize(1672, "Unexpected token");
31
- const hintUnexpectedToken = localize(1673, "Did you forget to put && or || before the token?");
32
- const errorUnexpectedEOF = localize(1674, "Unexpected end of expression");
33
- const hintUnexpectedEOF = localize(1675, "Did you forget to put a context key?");
26
+ const errorEmptyString = localize(1671, "Empty context key expression");
27
+ const hintEmptyString = localize(1672, "Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively.");
28
+ const errorNoInAfterNot = localize(1673, "'in' after 'not'.");
29
+ const errorClosingParenthesis = localize(1674, "closing parenthesis ')'");
30
+ const errorUnexpectedToken = localize(1675, "Unexpected token");
31
+ const hintUnexpectedToken = localize(1676, "Did you forget to put && or || before the token?");
32
+ const errorUnexpectedEOF = localize(1677, "Unexpected end of expression");
33
+ const hintUnexpectedEOF = localize(1678, "Did you forget to put a context key?");
34
34
  /**
35
35
  * A parser for context key expressions.
36
36
  *
@@ -375,7 +375,7 @@ export class Parser {
375
375
  throw this._errExpectedButGot(message, this._peek());
376
376
  }
377
377
  _errExpectedButGot(expected, got, additionalInfo) {
378
- const message = localize(1676, "Expected: {0}\nReceived: '{1}'.", expected, Scanner.getLexeme(got));
378
+ const message = localize(1679, "Expected: {0}\nReceived: '{1}'.", expected, Scanner.getLexeme(got));
379
379
  const offset = got.offset;
380
380
  const lexeme = Scanner.getLexeme(got);
381
381
  this._parsingErrors.push({ message, offset, lexeme, additionalInfo });
@@ -5,15 +5,15 @@
5
5
  import { isIOS, isLinux, isMacintosh, isMobile, isWeb, isWindows } from '../../../base/common/platform.js';
6
6
  import { localize } from '../../../nls.js';
7
7
  import { RawContextKey } from './contextkey.js';
8
- export const IsMacContext = new RawContextKey('isMac', isMacintosh, localize(1677, "Whether the operating system is macOS"));
9
- export const IsLinuxContext = new RawContextKey('isLinux', isLinux, localize(1678, "Whether the operating system is Linux"));
10
- export const IsWindowsContext = new RawContextKey('isWindows', isWindows, localize(1679, "Whether the operating system is Windows"));
11
- export const IsWebContext = new RawContextKey('isWeb', isWeb, localize(1680, "Whether the platform is a web browser"));
12
- export const IsMacNativeContext = new RawContextKey('isMacNative', isMacintosh && !isWeb, localize(1681, "Whether the operating system is macOS on a non-browser platform"));
13
- export const IsIOSContext = new RawContextKey('isIOS', isIOS, localize(1682, "Whether the operating system is iOS"));
14
- export const IsMobileContext = new RawContextKey('isMobile', isMobile, localize(1683, "Whether the platform is a mobile web browser"));
8
+ export const IsMacContext = new RawContextKey('isMac', isMacintosh, localize(1680, "Whether the operating system is macOS"));
9
+ export const IsLinuxContext = new RawContextKey('isLinux', isLinux, localize(1681, "Whether the operating system is Linux"));
10
+ export const IsWindowsContext = new RawContextKey('isWindows', isWindows, localize(1682, "Whether the operating system is Windows"));
11
+ export const IsWebContext = new RawContextKey('isWeb', isWeb, localize(1683, "Whether the platform is a web browser"));
12
+ export const IsMacNativeContext = new RawContextKey('isMacNative', isMacintosh && !isWeb, localize(1684, "Whether the operating system is macOS on a non-browser platform"));
13
+ export const IsIOSContext = new RawContextKey('isIOS', isIOS, localize(1685, "Whether the operating system is iOS"));
14
+ export const IsMobileContext = new RawContextKey('isMobile', isMobile, localize(1686, "Whether the platform is a mobile web browser"));
15
15
  export const IsDevelopmentContext = new RawContextKey('isDevelopment', false, true);
16
- export const ProductQualityContext = new RawContextKey('productQualityType', '', localize(1684, "Quality type of VS Code"));
16
+ export const ProductQualityContext = new RawContextKey('productQualityType', '', localize(1687, "Quality type of VS Code"));
17
17
  export const InputFocusedContextKey = 'inputFocus';
18
- export const InputFocusedContext = new RawContextKey(InputFocusedContextKey, false, localize(1685, "Whether keyboard focus is inside an input box"));
18
+ export const InputFocusedContext = new RawContextKey(InputFocusedContextKey, false, localize(1688, "Whether keyboard focus is inside an input box"));
19
19
  //# sourceMappingURL=contextkeys.js.map
@@ -7,17 +7,17 @@ import { localize } from '../../../nls.js';
7
7
  function hintDidYouMean(...meant) {
8
8
  switch (meant.length) {
9
9
  case 1:
10
- return localize(1686, "Did you mean {0}?", meant[0]);
10
+ return localize(1689, "Did you mean {0}?", meant[0]);
11
11
  case 2:
12
- return localize(1687, "Did you mean {0} or {1}?", meant[0], meant[1]);
12
+ return localize(1690, "Did you mean {0} or {1}?", meant[0], meant[1]);
13
13
  case 3:
14
- return localize(1688, "Did you mean {0}, {1} or {2}?", meant[0], meant[1], meant[2]);
14
+ return localize(1691, "Did you mean {0}, {1} or {2}?", meant[0], meant[1], meant[2]);
15
15
  default: // we just don't expect that many
16
16
  return undefined;
17
17
  }
18
18
  }
19
- const hintDidYouForgetToOpenOrCloseQuote = localize(1689, "Did you forget to open or close the quote?");
20
- const hintDidYouForgetToEscapeSlash = localize(1690, "Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/\'.");
19
+ const hintDidYouForgetToOpenOrCloseQuote = localize(1692, "Did you forget to open or close the quote?");
20
+ const hintDidYouForgetToEscapeSlash = localize(1693, "Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/\'.");
21
21
  /**
22
22
  * A simple scanner for context keys.
23
23
  *
@@ -18,7 +18,7 @@ import { KeybindingsRegistry } from '../../keybinding/common/keybindingsRegistry
18
18
  import { localize } from '../../../nls.js';
19
19
  import { DisposableStore, toDisposable } from '../../../base/common/lifecycle.js';
20
20
  import { isActiveElement } from '../../../base/browser/dom.js';
21
- export const historyNavigationVisible = new RawContextKey('suggestWidgetVisible', false, localize(1691, "Whether suggestion are visible"));
21
+ export const historyNavigationVisible = new RawContextKey('suggestWidgetVisible', false, localize(1694, "Whether suggestion are visible"));
22
22
  const HistoryNavigationWidgetFocusContext = 'historyNavigationWidgetFocus';
23
23
  const HistoryNavigationForwardsEnablementContext = 'historyNavigationForwardsEnabled';
24
24
  const HistoryNavigationBackwardsEnablementContext = 'historyNavigationBackwardsEnabled';
@@ -95,11 +95,11 @@ export class AbstractKeybindingService extends Disposable {
95
95
  throw illegalState('impossible');
96
96
  case 1:
97
97
  // TODO@ulugbekna: revise this message and the one below (at least, fix terminology)
98
- this._currentChordStatusMessage = this._notificationService.status(nls.localize(1692, "({0}) was pressed. Waiting for second key of chord...", keypressLabel));
98
+ this._currentChordStatusMessage = this._notificationService.status(nls.localize(1695, "({0}) was pressed. Waiting for second key of chord...", keypressLabel));
99
99
  break;
100
100
  default: {
101
101
  const fullKeypressLabel = this._currentChords.map(({ label }) => label).join(', ');
102
- this._currentChordStatusMessage = this._notificationService.status(nls.localize(1693, "({0}) was pressed. Waiting for next key of chord...", fullKeypressLabel));
102
+ this._currentChordStatusMessage = this._notificationService.status(nls.localize(1696, "({0}) was pressed. Waiting for next key of chord...", fullKeypressLabel));
103
103
  }
104
104
  }
105
105
  this._scheduleLeaveChordMode();
@@ -198,7 +198,7 @@ export class AbstractKeybindingService extends Disposable {
198
198
  if (this.inChordMode) {
199
199
  const currentChordsLabel = this._currentChords.map(({ label }) => label).join(', ');
200
200
  this._log(`+ Leaving multi-chord mode: Nothing bound to "${currentChordsLabel}, ${keypressLabel}".`);
201
- this._notificationService.status(nls.localize(1694, "The key combination ({0}, {1}) is not a command.", currentChordsLabel, keypressLabel), { hideAfter: 10 * 1000 /* 10s */ });
201
+ this._notificationService.status(nls.localize(1697, "The key combination ({0}, {1}) is not a command.", currentChordsLabel, keypressLabel), { hideAfter: 10 * 1000 /* 10s */ });
202
202
  this._leaveChordMode();
203
203
  shouldPreventDefault = true;
204
204
  }
@@ -217,7 +217,7 @@ export class AbstractKeybindingService extends Disposable {
217
217
  if (this.inChordMode) {
218
218
  const currentChordsLabel = this._currentChords.map(({ label }) => label).join(', ');
219
219
  this._log(`+ Leaving chord mode: Nothing bound to "${currentChordsLabel}, ${keypressLabel}".`);
220
- this._notificationService.status(nls.localize(1695, "The key combination ({0}, {1}) is not a command.", currentChordsLabel, keypressLabel), { hideAfter: 10 * 1000 /* 10s */ });
220
+ this._notificationService.status(nls.localize(1698, "The key combination ({0}, {1}) is not a command.", currentChordsLabel, keypressLabel), { hideAfter: 10 * 1000 /* 10s */ });
221
221
  this._leaveChordMode();
222
222
  shouldPreventDefault = true;
223
223
  }
@@ -904,18 +904,18 @@ const configurationRegistry = Registry.as(ConfigurationExtensions.Configuration)
904
904
  configurationRegistry.registerConfiguration({
905
905
  id: 'workbench',
906
906
  order: 7,
907
- title: localize(1696, "Workbench"),
907
+ title: localize(1699, "Workbench"),
908
908
  type: 'object',
909
909
  properties: {
910
910
  [multiSelectModifierSettingKey]: {
911
911
  type: 'string',
912
912
  enum: ['ctrlCmd', 'alt'],
913
913
  markdownEnumDescriptions: [
914
- localize(1697, "Maps to `Control` on Windows and Linux and to `Command` on macOS."),
915
- localize(1698, "Maps to `Alt` on Windows and Linux and to `Option` on macOS.")
914
+ localize(1700, "Maps to `Control` on Windows and Linux and to `Command` on macOS."),
915
+ localize(1701, "Maps to `Alt` on Windows and Linux and to `Option` on macOS.")
916
916
  ],
917
917
  default: 'ctrlCmd',
918
- description: localize(1699, "The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")
918
+ description: localize(1702, "The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")
919
919
 
920
920
 
921
921
 
@@ -927,7 +927,7 @@ configurationRegistry.registerConfiguration({
927
927
  type: 'string',
928
928
  enum: ['singleClick', 'doubleClick'],
929
929
  default: 'singleClick',
930
- description: localize(1700, "Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")
930
+ description: localize(1703, "Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")
931
931
 
932
932
 
933
933
 
@@ -935,96 +935,96 @@ configurationRegistry.registerConfiguration({
935
935
  [horizontalScrollingKey]: {
936
936
  type: 'boolean',
937
937
  default: false,
938
- description: localize(1701, "Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")
938
+ description: localize(1704, "Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")
939
939
  },
940
940
  [scrollByPageKey]: {
941
941
  type: 'boolean',
942
942
  default: false,
943
- description: localize(1702, "Controls whether clicks in the scrollbar scroll page by page.")
943
+ description: localize(1705, "Controls whether clicks in the scrollbar scroll page by page.")
944
944
  },
945
945
  [treeIndentKey]: {
946
946
  type: 'number',
947
947
  default: 8,
948
948
  minimum: 4,
949
949
  maximum: 40,
950
- description: localize(1703, "Controls tree indentation in pixels.")
950
+ description: localize(1706, "Controls tree indentation in pixels.")
951
951
  },
952
952
  [treeRenderIndentGuidesKey]: {
953
953
  type: 'string',
954
954
  enum: ['none', 'onHover', 'always'],
955
955
  default: 'onHover',
956
- description: localize(1704, "Controls whether the tree should render indent guides.")
956
+ description: localize(1707, "Controls whether the tree should render indent guides.")
957
957
  },
958
958
  [listSmoothScrolling]: {
959
959
  type: 'boolean',
960
960
  default: false,
961
- description: localize(1705, "Controls whether lists and trees have smooth scrolling."),
961
+ description: localize(1708, "Controls whether lists and trees have smooth scrolling."),
962
962
  },
963
963
  [mouseWheelScrollSensitivityKey]: {
964
964
  type: 'number',
965
965
  default: 1,
966
- markdownDescription: localize(1706, "A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")
966
+ markdownDescription: localize(1709, "A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")
967
967
  },
968
968
  [fastScrollSensitivityKey]: {
969
969
  type: 'number',
970
970
  default: 5,
971
- markdownDescription: localize(1707, "Scrolling speed multiplier when pressing `Alt`.")
971
+ markdownDescription: localize(1710, "Scrolling speed multiplier when pressing `Alt`.")
972
972
  },
973
973
  [defaultFindModeSettingKey]: {
974
974
  type: 'string',
975
975
  enum: ['highlight', 'filter'],
976
976
  enumDescriptions: [
977
- localize(1708, "Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),
978
- localize(1709, "Filter elements when searching.")
977
+ localize(1711, "Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),
978
+ localize(1712, "Filter elements when searching.")
979
979
  ],
980
980
  default: 'highlight',
981
- description: localize(1710, "Controls the default find mode for lists and trees in the workbench.")
981
+ description: localize(1713, "Controls the default find mode for lists and trees in the workbench.")
982
982
  },
983
983
  [keyboardNavigationSettingKey]: {
984
984
  type: 'string',
985
985
  enum: ['simple', 'highlight', 'filter'],
986
986
  enumDescriptions: [
987
- localize(1711, "Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),
988
- localize(1712, "Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),
989
- localize(1713, "Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")
987
+ localize(1714, "Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),
988
+ localize(1715, "Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),
989
+ localize(1716, "Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")
990
990
  ],
991
991
  default: 'highlight',
992
- description: localize(1714, "Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),
992
+ description: localize(1717, "Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),
993
993
  deprecated: true,
994
- deprecationMessage: localize(1715, "Please use 'workbench.list.defaultFindMode' and 'workbench.list.typeNavigationMode' instead.")
994
+ deprecationMessage: localize(1718, "Please use 'workbench.list.defaultFindMode' and 'workbench.list.typeNavigationMode' instead.")
995
995
  },
996
996
  [defaultFindMatchTypeSettingKey]: {
997
997
  type: 'string',
998
998
  enum: ['fuzzy', 'contiguous'],
999
999
  enumDescriptions: [
1000
- localize(1716, "Use fuzzy matching when searching."),
1001
- localize(1717, "Use contiguous matching when searching.")
1000
+ localize(1719, "Use fuzzy matching when searching."),
1001
+ localize(1720, "Use contiguous matching when searching.")
1002
1002
  ],
1003
1003
  default: 'fuzzy',
1004
- description: localize(1718, "Controls the type of matching used when searching lists and trees in the workbench.")
1004
+ description: localize(1721, "Controls the type of matching used when searching lists and trees in the workbench.")
1005
1005
  },
1006
1006
  [treeExpandMode]: {
1007
1007
  type: 'string',
1008
1008
  enum: ['singleClick', 'doubleClick'],
1009
1009
  default: 'singleClick',
1010
- description: localize(1719, "Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable."),
1010
+ description: localize(1722, "Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable."),
1011
1011
  },
1012
1012
  [treeStickyScroll]: {
1013
1013
  type: 'boolean',
1014
1014
  default: true,
1015
- description: localize(1720, "Controls whether sticky scrolling is enabled in trees."),
1015
+ description: localize(1723, "Controls whether sticky scrolling is enabled in trees."),
1016
1016
  },
1017
1017
  [treeStickyScrollMaxElements]: {
1018
1018
  type: 'number',
1019
1019
  minimum: 1,
1020
1020
  default: 7,
1021
- markdownDescription: localize(1721, "Controls the number of sticky elements displayed in the tree when {0} is enabled.", '`#workbench.tree.enableStickyScroll#`'),
1021
+ markdownDescription: localize(1724, "Controls the number of sticky elements displayed in the tree when {0} is enabled.", '`#workbench.tree.enableStickyScroll#`'),
1022
1022
  },
1023
1023
  [typeNavigationModeSettingKey]: {
1024
1024
  type: 'string',
1025
1025
  enum: ['automatic', 'trigger'],
1026
1026
  default: 'automatic',
1027
- markdownDescription: localize(1722, "Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run."),
1027
+ markdownDescription: localize(1725, "Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run."),
1028
1028
  }
1029
1029
  }
1030
1030
  });
@@ -239,8 +239,8 @@ export class MarkerService {
239
239
  */
240
240
  _createFilteredMarker(resource, reasons) {
241
241
  const message = reasons.length === 1
242
- ? localize(1729, "Problems are paused because: \"{0}\"", reasons[0])
243
- : localize(1730, "Problems are paused because: \"{0}\" and {1} more", reasons[0], reasons.length - 1);
242
+ ? localize(1732, "Problems are paused because: \"{0}\"", reasons[0])
243
+ : localize(1733, "Problems are paused because: \"{0}\" and {1} more", reasons[0], reasons.length - 1);
244
244
  return {
245
245
  owner: 'markersFilter',
246
246
  resource,
@@ -18,17 +18,17 @@ export var MarkerSeverity;
18
18
  }
19
19
  MarkerSeverity.compare = compare;
20
20
  const _displayStrings = Object.create(null);
21
- _displayStrings[MarkerSeverity.Error] = localize(1723, "Error");
22
- _displayStrings[MarkerSeverity.Warning] = localize(1724, "Warning");
23
- _displayStrings[MarkerSeverity.Info] = localize(1725, "Info");
21
+ _displayStrings[MarkerSeverity.Error] = localize(1726, "Error");
22
+ _displayStrings[MarkerSeverity.Warning] = localize(1727, "Warning");
23
+ _displayStrings[MarkerSeverity.Info] = localize(1728, "Info");
24
24
  function toString(a) {
25
25
  return _displayStrings[a] || '';
26
26
  }
27
27
  MarkerSeverity.toString = toString;
28
28
  const _displayStringsPlural = Object.create(null);
29
- _displayStringsPlural[MarkerSeverity.Error] = localize(1726, "Errors");
30
- _displayStringsPlural[MarkerSeverity.Warning] = localize(1727, "Warnings");
31
- _displayStringsPlural[MarkerSeverity.Info] = localize(1728, "Infos");
29
+ _displayStringsPlural[MarkerSeverity.Error] = localize(1729, "Errors");
30
+ _displayStringsPlural[MarkerSeverity.Warning] = localize(1730, "Warnings");
31
+ _displayStringsPlural[MarkerSeverity.Info] = localize(1731, "Infos");
32
32
  function toStringPlural(a) {
33
33
  return _displayStringsPlural[a] || '';
34
34
  }