monaco-editor-core 0.54.0-dev-20250922 → 0.54.0-dev-20250924

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 (174) hide show
  1. package/esm/nls.keys.json +1 -1
  2. package/esm/nls.messages.de.js +2 -2
  3. package/esm/nls.messages.es.js +2 -2
  4. package/esm/nls.messages.fr.js +2 -2
  5. package/esm/nls.messages.it.js +2 -2
  6. package/esm/nls.messages.ja.js +2 -2
  7. package/esm/nls.messages.js +1 -1
  8. package/esm/nls.messages.json +1 -1
  9. package/esm/nls.messages.ko.js +2 -2
  10. package/esm/nls.messages.ru.js +2 -2
  11. package/esm/nls.messages.zh-cn.js +2 -2
  12. package/esm/nls.messages.zh-tw.js +2 -2
  13. package/esm/nls.metadata.json +2 -0
  14. package/esm/vs/base/browser/ui/toolbar/toolbar.js +7 -0
  15. package/esm/vs/base/browser/ui/toolbar/toolbar.js.map +1 -1
  16. package/esm/vs/base/common/htmlContent.js +8 -0
  17. package/esm/vs/base/common/htmlContent.js.map +1 -1
  18. package/esm/vs/editor/common/config/editorOptions.js +274 -267
  19. package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
  20. package/esm/vs/editor/common/core/editorColorRegistry.js +68 -68
  21. package/esm/vs/editor/common/editorContextKeys.js +46 -46
  22. package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
  23. package/esm/vs/editor/common/languages.js +56 -56
  24. package/esm/vs/editor/common/model/editStack.js +1 -1
  25. package/esm/vs/editor/common/standaloneStrings.js +10 -10
  26. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  27. package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  28. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  29. package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  30. package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  31. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  32. package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  33. package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  34. package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  35. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  36. package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  37. package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  38. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  39. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  40. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  41. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  42. package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
  43. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  44. package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  45. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  46. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  47. package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  48. package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  49. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  50. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  51. package/esm/vs/editor/contrib/find/browser/findController.js +16 -16
  52. package/esm/vs/editor/contrib/find/browser/findWidget.js +26 -26
  53. package/esm/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +10 -0
  54. package/esm/vs/editor/contrib/floatingMenu/browser/floatingMenu.js +28 -5
  55. package/esm/vs/editor/contrib/floatingMenu/browser/floatingMenu.js.map +1 -1
  56. package/esm/vs/editor/contrib/folding/browser/folding.js +20 -20
  57. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  58. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js.map +1 -1
  59. package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  60. package/esm/vs/editor/contrib/format/browser/format.js +3 -0
  61. package/esm/vs/editor/contrib/format/browser/format.js.map +1 -1
  62. package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
  63. package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  64. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  65. package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  66. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  67. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  68. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  69. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  70. package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  71. package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  72. package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  73. package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  74. package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  75. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  76. package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  77. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  78. package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  79. package/esm/vs/editor/contrib/inlayHints/browser/inlayHints.js +2 -7
  80. package/esm/vs/editor/contrib/inlayHints/browser/inlayHints.js.map +1 -1
  81. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  82. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +19 -19
  83. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -12
  84. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +1 -1
  85. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +1 -1
  86. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  87. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +6 -0
  88. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  89. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +5 -5
  90. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +1 -1
  91. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  92. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  93. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  94. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -31
  95. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  96. package/esm/vs/editor/contrib/links/browser/links.js +10 -10
  97. package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
  98. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  99. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  100. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  101. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  102. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  103. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +5 -5
  104. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  105. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  106. package/esm/vs/editor/contrib/rename/browser/rename.js +11 -11
  107. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  108. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  109. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +12 -4
  110. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js.map +1 -1
  111. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  112. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  113. package/esm/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  114. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  115. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  116. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  117. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  118. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  119. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  120. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  121. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  122. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  123. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +26 -26
  124. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js.map +1 -1
  125. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  126. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  127. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  128. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  129. package/esm/vs/editor/editor.api.d.ts +1 -0
  130. package/esm/vs/editor/standalone/browser/standaloneThemeService.js +10 -0
  131. package/esm/vs/editor/standalone/browser/standaloneThemeService.js.map +1 -1
  132. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  133. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  134. package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
  135. package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  136. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  137. package/esm/vs/platform/actions/browser/toolbar.js +2 -2
  138. package/esm/vs/platform/actions/common/menuService.js +2 -2
  139. package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
  140. package/esm/vs/platform/contextkey/browser/contextKeyService.js +37 -3
  141. package/esm/vs/platform/contextkey/browser/contextKeyService.js.map +1 -1
  142. package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
  143. package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
  144. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  145. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  146. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  147. package/esm/vs/platform/list/browser/listService.js +27 -27
  148. package/esm/vs/platform/markers/common/markerService.js +2 -2
  149. package/esm/vs/platform/markers/common/markers.js +6 -6
  150. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +7 -7
  151. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  152. package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
  153. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  154. package/esm/vs/platform/quickinput/browser/quickInputController.js +6 -6
  155. package/esm/vs/platform/quickinput/browser/quickInputList.js +1 -1
  156. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  157. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  158. package/esm/vs/platform/theme/common/colorUtils.js +2 -2
  159. package/esm/vs/platform/theme/common/colors/baseColors.js +17 -17
  160. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
  161. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  162. package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
  163. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  164. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  165. package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
  166. package/esm/vs/platform/theme/common/colors/miscColors.js +15 -15
  167. package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  168. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  169. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  170. package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  171. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  172. package/monaco.d.ts +1 -0
  173. package/package.json +2 -2
  174. package/version.txt +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/standalone/browser/standaloneThemeService.ts","vs/editor/standalone/browser/standaloneThemeService.ts"],"names":[],"mappings":"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","file":"standaloneThemeService.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as dom from '../../../base/browser/dom.js';\nimport * as domStylesheetsJs from '../../../base/browser/domStylesheets.js';\nimport { addMatchMediaChangeListener } from '../../../base/browser/browser.js';\nimport { Color } from '../../../base/common/color.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { TokenizationRegistry } from '../../common/languages.js';\nimport { FontStyle, TokenMetadata } from '../../common/encodedTokenAttributes.js';\nimport { ITokenThemeRule, TokenTheme, generateTokensCSSForColorMap } from '../../common/languages/supports/tokenization.js';\nimport { BuiltinTheme, IStandaloneTheme, IStandaloneThemeData, IStandaloneThemeService } from '../common/standaloneTheme.js';\nimport { hc_black, hc_light, vs, vs_dark } from '../common/themes.js';\nimport { IEnvironmentService } from '../../../platform/environment/common/environment.js';\nimport { Registry } from '../../../platform/registry/common/platform.js';\nimport { asCssVariableName, ColorIdentifier, Extensions, IColorRegistry } from '../../../platform/theme/common/colorRegistry.js';\nimport { Extensions as ThemingExtensions, ICssStyleCollector, IFileIconTheme, IProductIconTheme, IThemingRegistry, ITokenStyle } from '../../../platform/theme/common/themeService.js';\nimport { IDisposable, Disposable } from '../../../base/common/lifecycle.js';\nimport { ColorScheme, isDark, isHighContrast } from '../../../platform/theme/common/theme.js';\nimport { getIconsStyleSheet, UnthemedProductIconTheme } from '../../../platform/theme/browser/iconsStyleSheet.js';\nimport { mainWindow } from '../../../base/browser/window.js';\n\nexport const VS_LIGHT_THEME_NAME = 'vs';\nexport const VS_DARK_THEME_NAME = 'vs-dark';\nexport const HC_BLACK_THEME_NAME = 'hc-black';\nexport const HC_LIGHT_THEME_NAME = 'hc-light';\n\nconst colorRegistry = Registry.as<IColorRegistry>(Extensions.ColorContribution);\nconst themingRegistry = Registry.as<IThemingRegistry>(ThemingExtensions.ThemingContribution);\n\nclass StandaloneTheme implements IStandaloneTheme {\n\n\tpublic readonly id: string;\n\tpublic readonly themeName: string;\n\n\tprivate readonly themeData: IStandaloneThemeData;\n\tprivate colors: Map<string, Color> | null;\n\tprivate readonly defaultColors: { [colorId: string]: Color | undefined };\n\tprivate _tokenTheme: TokenTheme | null;\n\n\tconstructor(name: string, standaloneThemeData: IStandaloneThemeData) {\n\t\tthis.themeData = standaloneThemeData;\n\t\tconst base = standaloneThemeData.base;\n\t\tif (name.length > 0) {\n\t\t\tif (isBuiltinTheme(name)) {\n\t\t\t\tthis.id = name;\n\t\t\t} else {\n\t\t\t\tthis.id = base + ' ' + name;\n\t\t\t}\n\t\t\tthis.themeName = name;\n\t\t} else {\n\t\t\tthis.id = base;\n\t\t\tthis.themeName = base;\n\t\t}\n\t\tthis.colors = null;\n\t\tthis.defaultColors = Object.create(null);\n\t\tthis._tokenTheme = null;\n\t}\n\n\tpublic get base(): string {\n\t\treturn this.themeData.base;\n\t}\n\n\tpublic notifyBaseUpdated() {\n\t\tif (this.themeData.inherit) {\n\t\t\tthis.colors = null;\n\t\t\tthis._tokenTheme = null;\n\t\t}\n\t}\n\n\tprivate getColors(): Map<string, Color> {\n\t\tif (!this.colors) {\n\t\t\tconst colors = new Map<string, Color>();\n\t\t\tfor (const id in this.themeData.colors) {\n\t\t\t\tcolors.set(id, Color.fromHex(this.themeData.colors[id]));\n\t\t\t}\n\t\t\tif (this.themeData.inherit) {\n\t\t\t\tconst baseData = getBuiltinRules(this.themeData.base);\n\t\t\t\tfor (const id in baseData.colors) {\n\t\t\t\t\tif (!colors.has(id)) {\n\t\t\t\t\t\tcolors.set(id, Color.fromHex(baseData.colors[id]));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.colors = colors;\n\t\t}\n\t\treturn this.colors;\n\t}\n\n\tpublic getColor(colorId: ColorIdentifier, useDefault?: boolean): Color | undefined {\n\t\tconst color = this.getColors().get(colorId);\n\t\tif (color) {\n\t\t\treturn color;\n\t\t}\n\t\tif (useDefault !== false) {\n\t\t\treturn this.getDefault(colorId);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate getDefault(colorId: ColorIdentifier): Color | undefined {\n\t\tlet color = this.defaultColors[colorId];\n\t\tif (color) {\n\t\t\treturn color;\n\t\t}\n\t\tcolor = colorRegistry.resolveDefaultColor(colorId, this);\n\t\tthis.defaultColors[colorId] = color;\n\t\treturn color;\n\t}\n\n\tpublic defines(colorId: ColorIdentifier): boolean {\n\t\treturn this.getColors().has(colorId);\n\t}\n\n\tpublic get type(): ColorScheme {\n\t\tswitch (this.base) {\n\t\t\tcase VS_LIGHT_THEME_NAME: return ColorScheme.LIGHT;\n\t\t\tcase HC_BLACK_THEME_NAME: return ColorScheme.HIGH_CONTRAST_DARK;\n\t\t\tcase HC_LIGHT_THEME_NAME: return ColorScheme.HIGH_CONTRAST_LIGHT;\n\t\t\tdefault: return ColorScheme.DARK;\n\t\t}\n\t}\n\n\tpublic get tokenTheme(): TokenTheme {\n\t\tif (!this._tokenTheme) {\n\t\t\tlet rules: ITokenThemeRule[] = [];\n\t\t\tlet encodedTokensColors: string[] = [];\n\t\t\tif (this.themeData.inherit) {\n\t\t\t\tconst baseData = getBuiltinRules(this.themeData.base);\n\t\t\t\trules = baseData.rules;\n\t\t\t\tif (baseData.encodedTokensColors) {\n\t\t\t\t\tencodedTokensColors = baseData.encodedTokensColors;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Pick up default colors from `editor.foreground` and `editor.background` if available\n\t\t\tconst editorForeground = this.themeData.colors['editor.foreground'];\n\t\t\tconst editorBackground = this.themeData.colors['editor.background'];\n\t\t\tif (editorForeground || editorBackground) {\n\t\t\t\tconst rule: ITokenThemeRule = { token: '' };\n\t\t\t\tif (editorForeground) {\n\t\t\t\t\trule.foreground = editorForeground;\n\t\t\t\t}\n\t\t\t\tif (editorBackground) {\n\t\t\t\t\trule.background = editorBackground;\n\t\t\t\t}\n\t\t\t\trules.push(rule);\n\t\t\t}\n\t\t\trules = rules.concat(this.themeData.rules);\n\t\t\tif (this.themeData.encodedTokensColors) {\n\t\t\t\tencodedTokensColors = this.themeData.encodedTokensColors;\n\t\t\t}\n\t\t\tthis._tokenTheme = TokenTheme.createFromRawTokenTheme(rules, encodedTokensColors);\n\t\t}\n\t\treturn this._tokenTheme;\n\t}\n\n\tpublic getTokenStyleMetadata(type: string, modifiers: string[], modelLanguage: string): ITokenStyle | undefined {\n\t\t// use theme rules match\n\t\tconst style = this.tokenTheme._match([type].concat(modifiers).join('.'));\n\t\tconst metadata = style.metadata;\n\t\tconst foreground = TokenMetadata.getForeground(metadata);\n\t\tconst fontStyle = TokenMetadata.getFontStyle(metadata);\n\t\treturn {\n\t\t\tforeground: foreground,\n\t\t\titalic: Boolean(fontStyle & FontStyle.Italic),\n\t\t\tbold: Boolean(fontStyle & FontStyle.Bold),\n\t\t\tunderline: Boolean(fontStyle & FontStyle.Underline),\n\t\t\tstrikethrough: Boolean(fontStyle & FontStyle.Strikethrough)\n\t\t};\n\t}\n\n\tpublic get tokenColorMap(): string[] {\n\t\treturn [];\n\t}\n\n\tpublic readonly semanticHighlighting = false;\n}\n\nfunction isBuiltinTheme(themeName: string): themeName is BuiltinTheme {\n\treturn (\n\t\tthemeName === VS_LIGHT_THEME_NAME\n\t\t|| themeName === VS_DARK_THEME_NAME\n\t\t|| themeName === HC_BLACK_THEME_NAME\n\t\t|| themeName === HC_LIGHT_THEME_NAME\n\t);\n}\n\nfunction getBuiltinRules(builtinTheme: BuiltinTheme): IStandaloneThemeData {\n\tswitch (builtinTheme) {\n\t\tcase VS_LIGHT_THEME_NAME:\n\t\t\treturn vs;\n\t\tcase VS_DARK_THEME_NAME:\n\t\t\treturn vs_dark;\n\t\tcase HC_BLACK_THEME_NAME:\n\t\t\treturn hc_black;\n\t\tcase HC_LIGHT_THEME_NAME:\n\t\t\treturn hc_light;\n\t}\n}\n\nfunction newBuiltInTheme(builtinTheme: BuiltinTheme): StandaloneTheme {\n\tconst themeData = getBuiltinRules(builtinTheme);\n\treturn new StandaloneTheme(builtinTheme, themeData);\n}\n\nexport class StandaloneThemeService extends Disposable implements IStandaloneThemeService {\n\n\tdeclare readonly _serviceBrand: undefined;\n\n\tprivate readonly _onColorThemeChange = this._register(new Emitter<IStandaloneTheme>());\n\tpublic readonly onDidColorThemeChange = this._onColorThemeChange.event;\n\n\tprivate readonly _onProductIconThemeChange = this._register(new Emitter<IProductIconTheme>());\n\tpublic readonly onDidProductIconThemeChange = this._onProductIconThemeChange.event;\n\n\tprivate readonly _environment: IEnvironmentService = Object.create(null);\n\tprivate readonly _knownThemes: Map<string, StandaloneTheme>;\n\tprivate _autoDetectHighContrast: boolean;\n\tprivate _codiconCSS: string;\n\tprivate _themeCSS: string;\n\tprivate _allCSS: string;\n\tprivate _globalStyleElement: HTMLStyleElement | null;\n\tprivate _styleElements: HTMLStyleElement[];\n\tprivate _colorMapOverride: Color[] | null;\n\tprivate _theme!: IStandaloneTheme;\n\n\tprivate _builtInProductIconTheme = new UnthemedProductIconTheme();\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._autoDetectHighContrast = true;\n\n\t\tthis._knownThemes = new Map<string, StandaloneTheme>();\n\t\tthis._knownThemes.set(VS_LIGHT_THEME_NAME, newBuiltInTheme(VS_LIGHT_THEME_NAME));\n\t\tthis._knownThemes.set(VS_DARK_THEME_NAME, newBuiltInTheme(VS_DARK_THEME_NAME));\n\t\tthis._knownThemes.set(HC_BLACK_THEME_NAME, newBuiltInTheme(HC_BLACK_THEME_NAME));\n\t\tthis._knownThemes.set(HC_LIGHT_THEME_NAME, newBuiltInTheme(HC_LIGHT_THEME_NAME));\n\n\t\tconst iconsStyleSheet = this._register(getIconsStyleSheet(this));\n\n\t\tthis._codiconCSS = iconsStyleSheet.getCSS();\n\t\tthis._themeCSS = '';\n\t\tthis._allCSS = `${this._codiconCSS}\\n${this._themeCSS}`;\n\t\tthis._globalStyleElement = null;\n\t\tthis._styleElements = [];\n\t\tthis._colorMapOverride = null;\n\t\tthis.setTheme(VS_LIGHT_THEME_NAME);\n\t\tthis._onOSSchemeChanged();\n\n\t\tthis._register(iconsStyleSheet.onDidChange(() => {\n\t\t\tthis._codiconCSS = iconsStyleSheet.getCSS();\n\t\t\tthis._updateCSS();\n\t\t}));\n\n\t\taddMatchMediaChangeListener(mainWindow, '(forced-colors: active)', () => {\n\t\t\tthis._onOSSchemeChanged();\n\t\t});\n\t}\n\n\tpublic registerEditorContainer(domNode: HTMLElement): IDisposable {\n\t\tif (dom.isInShadowDOM(domNode)) {\n\t\t\treturn this._registerShadowDomContainer(domNode);\n\t\t}\n\t\treturn this._registerRegularEditorContainer();\n\t}\n\n\tprivate _registerRegularEditorContainer(): IDisposable {\n\t\tif (!this._globalStyleElement) {\n\t\t\tthis._globalStyleElement = domStylesheetsJs.createStyleSheet(undefined, style => {\n\t\t\t\tstyle.className = 'monaco-colors';\n\t\t\t\tstyle.textContent = this._allCSS;\n\t\t\t});\n\t\t\tthis._styleElements.push(this._globalStyleElement);\n\t\t}\n\t\treturn Disposable.None;\n\t}\n\n\tprivate _registerShadowDomContainer(domNode: HTMLElement): IDisposable {\n\t\tconst styleElement = domStylesheetsJs.createStyleSheet(domNode, style => {\n\t\t\tstyle.className = 'monaco-colors';\n\t\t\tstyle.textContent = this._allCSS;\n\t\t});\n\t\tthis._styleElements.push(styleElement);\n\t\treturn {\n\t\t\tdispose: () => {\n\t\t\t\tfor (let i = 0; i < this._styleElements.length; i++) {\n\t\t\t\t\tif (this._styleElements[i] === styleElement) {\n\t\t\t\t\t\tthis._styleElements.splice(i, 1);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic defineTheme(themeName: string, themeData: IStandaloneThemeData): void {\n\t\tif (!/^[a-z0-9\\-]+$/i.test(themeName)) {\n\t\t\tthrow new Error('Illegal theme name!');\n\t\t}\n\t\tif (!isBuiltinTheme(themeData.base) && !isBuiltinTheme(themeName)) {\n\t\t\tthrow new Error('Illegal theme base!');\n\t\t}\n\t\t// set or replace theme\n\t\tthis._knownThemes.set(themeName, new StandaloneTheme(themeName, themeData));\n\n\t\tif (isBuiltinTheme(themeName)) {\n\t\t\tthis._knownThemes.forEach(theme => {\n\t\t\t\tif (theme.base === themeName) {\n\t\t\t\t\ttheme.notifyBaseUpdated();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (this._theme.themeName === themeName) {\n\t\t\tthis.setTheme(themeName); // refresh theme\n\t\t}\n\t}\n\n\tpublic getColorTheme(): IStandaloneTheme {\n\t\treturn this._theme;\n\t}\n\n\tpublic setColorMapOverride(colorMapOverride: Color[] | null): void {\n\t\tthis._colorMapOverride = colorMapOverride;\n\t\tthis._updateThemeOrColorMap();\n\t}\n\n\tpublic setTheme(themeName: string): void {\n\t\tlet theme: StandaloneTheme | undefined;\n\t\tif (this._knownThemes.has(themeName)) {\n\t\t\ttheme = this._knownThemes.get(themeName);\n\t\t} else {\n\t\t\ttheme = this._knownThemes.get(VS_LIGHT_THEME_NAME);\n\t\t}\n\t\tthis._updateActualTheme(theme);\n\t}\n\n\tprivate _updateActualTheme(desiredTheme: IStandaloneTheme | undefined): void {\n\t\tif (!desiredTheme || this._theme === desiredTheme) {\n\t\t\t// Nothing to do\n\t\t\treturn;\n\t\t}\n\t\tthis._theme = desiredTheme;\n\t\tthis._updateThemeOrColorMap();\n\t}\n\n\tprivate _onOSSchemeChanged() {\n\t\tif (this._autoDetectHighContrast) {\n\t\t\tconst wantsHighContrast = mainWindow.matchMedia(`(forced-colors: active)`).matches;\n\t\t\tif (wantsHighContrast !== isHighContrast(this._theme.type)) {\n\t\t\t\t// switch to high contrast or non-high contrast but stick to dark or light\n\t\t\t\tlet newThemeName;\n\t\t\t\tif (isDark(this._theme.type)) {\n\t\t\t\t\tnewThemeName = wantsHighContrast ? HC_BLACK_THEME_NAME : VS_DARK_THEME_NAME;\n\t\t\t\t} else {\n\t\t\t\t\tnewThemeName = wantsHighContrast ? HC_LIGHT_THEME_NAME : VS_LIGHT_THEME_NAME;\n\t\t\t\t}\n\t\t\t\tthis._updateActualTheme(this._knownThemes.get(newThemeName));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic setAutoDetectHighContrast(autoDetectHighContrast: boolean): void {\n\t\tthis._autoDetectHighContrast = autoDetectHighContrast;\n\t\tthis._onOSSchemeChanged();\n\t}\n\n\tprivate _updateThemeOrColorMap(): void {\n\t\tconst cssRules: string[] = [];\n\t\tconst hasRule: { [rule: string]: boolean } = {};\n\t\tconst ruleCollector: ICssStyleCollector = {\n\t\t\taddRule: (rule: string) => {\n\t\t\t\tif (!hasRule[rule]) {\n\t\t\t\t\tcssRules.push(rule);\n\t\t\t\t\thasRule[rule] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tthemingRegistry.getThemingParticipants().forEach(p => p(this._theme, ruleCollector, this._environment));\n\n\t\tconst colorVariables: string[] = [];\n\t\tfor (const item of colorRegistry.getColors()) {\n\t\t\tconst color = this._theme.getColor(item.id, true);\n\t\t\tif (color) {\n\t\t\t\tcolorVariables.push(`${asCssVariableName(item.id)}: ${color.toString()};`);\n\t\t\t}\n\t\t}\n\t\truleCollector.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${colorVariables.join('\\n')} }`);\n\n\t\tconst colorMap = this._colorMapOverride || this._theme.tokenTheme.getColorMap();\n\t\truleCollector.addRule(generateTokensCSSForColorMap(colorMap));\n\n\t\tthis._themeCSS = cssRules.join('\\n');\n\t\tthis._updateCSS();\n\n\t\tTokenizationRegistry.setColorMap(colorMap);\n\t\tthis._onColorThemeChange.fire(this._theme);\n\t}\n\n\tprivate _updateCSS(): void {\n\t\tthis._allCSS = `${this._codiconCSS}\\n${this._themeCSS}`;\n\t\tthis._styleElements.forEach(styleElement => styleElement.textContent = this._allCSS);\n\t}\n\n\tpublic getFileIconTheme(): IFileIconTheme {\n\t\treturn {\n\t\t\thasFileIcons: false,\n\t\t\thasFolderIcons: false,\n\t\t\thidesExplorerArrows: false\n\t\t};\n\t}\n\n\tpublic getProductIconTheme(): IProductIconTheme {\n\t\treturn this._builtInProductIconTheme;\n\t}\n\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as dom from '../../../base/browser/dom.js';\nimport * as domStylesheetsJs from '../../../base/browser/domStylesheets.js';\nimport { addMatchMediaChangeListener } from '../../../base/browser/browser.js';\nimport { Color } from '../../../base/common/color.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { TokenizationRegistry } from '../../common/languages.js';\nimport { FontStyle, TokenMetadata } from '../../common/encodedTokenAttributes.js';\nimport { ITokenThemeRule, TokenTheme, generateTokensCSSForColorMap } from '../../common/languages/supports/tokenization.js';\nimport { BuiltinTheme, IStandaloneTheme, IStandaloneThemeData, IStandaloneThemeService } from '../common/standaloneTheme.js';\nimport { hc_black, hc_light, vs, vs_dark } from '../common/themes.js';\nimport { IEnvironmentService } from '../../../platform/environment/common/environment.js';\nimport { Registry } from '../../../platform/registry/common/platform.js';\nimport { asCssVariableName, ColorIdentifier, Extensions, IColorRegistry } from '../../../platform/theme/common/colorRegistry.js';\nimport { Extensions as ThemingExtensions, ICssStyleCollector, IFileIconTheme, IProductIconTheme, IThemingRegistry, ITokenStyle } from '../../../platform/theme/common/themeService.js';\nimport { IDisposable, Disposable } from '../../../base/common/lifecycle.js';\nimport { ColorScheme, isDark, isHighContrast } from '../../../platform/theme/common/theme.js';\nimport { getIconsStyleSheet, UnthemedProductIconTheme } from '../../../platform/theme/browser/iconsStyleSheet.js';\nimport { mainWindow } from '../../../base/browser/window.js';\n\nexport const VS_LIGHT_THEME_NAME = 'vs';\nexport const VS_DARK_THEME_NAME = 'vs-dark';\nexport const HC_BLACK_THEME_NAME = 'hc-black';\nexport const HC_LIGHT_THEME_NAME = 'hc-light';\n\nconst colorRegistry = Registry.as<IColorRegistry>(Extensions.ColorContribution);\nconst themingRegistry = Registry.as<IThemingRegistry>(ThemingExtensions.ThemingContribution);\n\nclass StandaloneTheme implements IStandaloneTheme {\n\n\tpublic readonly id: string;\n\tpublic readonly themeName: string;\n\n\tprivate readonly themeData: IStandaloneThemeData;\n\tprivate colors: Map<string, Color> | null;\n\tprivate readonly defaultColors: { [colorId: string]: Color | undefined };\n\tprivate _tokenTheme: TokenTheme | null;\n\n\tconstructor(name: string, standaloneThemeData: IStandaloneThemeData) {\n\t\tthis.themeData = standaloneThemeData;\n\t\tconst base = standaloneThemeData.base;\n\t\tif (name.length > 0) {\n\t\t\tif (isBuiltinTheme(name)) {\n\t\t\t\tthis.id = name;\n\t\t\t} else {\n\t\t\t\tthis.id = base + ' ' + name;\n\t\t\t}\n\t\t\tthis.themeName = name;\n\t\t} else {\n\t\t\tthis.id = base;\n\t\t\tthis.themeName = base;\n\t\t}\n\t\tthis.colors = null;\n\t\tthis.defaultColors = Object.create(null);\n\t\tthis._tokenTheme = null;\n\t}\n\n\tpublic get base(): string {\n\t\treturn this.themeData.base;\n\t}\n\n\tpublic notifyBaseUpdated() {\n\t\tif (this.themeData.inherit) {\n\t\t\tthis.colors = null;\n\t\t\tthis._tokenTheme = null;\n\t\t}\n\t}\n\n\tprivate getColors(): Map<string, Color> {\n\t\tif (!this.colors) {\n\t\t\tconst colors = new Map<string, Color>();\n\t\t\tfor (const id in this.themeData.colors) {\n\t\t\t\tcolors.set(id, Color.fromHex(this.themeData.colors[id]));\n\t\t\t}\n\t\t\tif (this.themeData.inherit) {\n\t\t\t\tconst baseData = getBuiltinRules(this.themeData.base);\n\t\t\t\tfor (const id in baseData.colors) {\n\t\t\t\t\tif (!colors.has(id)) {\n\t\t\t\t\t\tcolors.set(id, Color.fromHex(baseData.colors[id]));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.colors = colors;\n\t\t}\n\t\treturn this.colors;\n\t}\n\n\tpublic getColor(colorId: ColorIdentifier, useDefault?: boolean): Color | undefined {\n\t\tconst color = this.getColors().get(colorId);\n\t\tif (color) {\n\t\t\treturn color;\n\t\t}\n\t\tif (useDefault !== false) {\n\t\t\treturn this.getDefault(colorId);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate getDefault(colorId: ColorIdentifier): Color | undefined {\n\t\tlet color = this.defaultColors[colorId];\n\t\tif (color) {\n\t\t\treturn color;\n\t\t}\n\t\tcolor = colorRegistry.resolveDefaultColor(colorId, this);\n\t\tthis.defaultColors[colorId] = color;\n\t\treturn color;\n\t}\n\n\tpublic defines(colorId: ColorIdentifier): boolean {\n\t\treturn this.getColors().has(colorId);\n\t}\n\n\tpublic get type(): ColorScheme {\n\t\tswitch (this.base) {\n\t\t\tcase VS_LIGHT_THEME_NAME: return ColorScheme.LIGHT;\n\t\t\tcase HC_BLACK_THEME_NAME: return ColorScheme.HIGH_CONTRAST_DARK;\n\t\t\tcase HC_LIGHT_THEME_NAME: return ColorScheme.HIGH_CONTRAST_LIGHT;\n\t\t\tdefault: return ColorScheme.DARK;\n\t\t}\n\t}\n\n\tpublic get tokenTheme(): TokenTheme {\n\t\tif (!this._tokenTheme) {\n\t\t\tlet rules: ITokenThemeRule[] = [];\n\t\t\tlet encodedTokensColors: string[] = [];\n\t\t\tif (this.themeData.inherit) {\n\t\t\t\tconst baseData = getBuiltinRules(this.themeData.base);\n\t\t\t\trules = baseData.rules;\n\t\t\t\tif (baseData.encodedTokensColors) {\n\t\t\t\t\tencodedTokensColors = baseData.encodedTokensColors;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Pick up default colors from `editor.foreground` and `editor.background` if available\n\t\t\tconst editorForeground = this.themeData.colors['editor.foreground'];\n\t\t\tconst editorBackground = this.themeData.colors['editor.background'];\n\t\t\tif (editorForeground || editorBackground) {\n\t\t\t\tconst rule: ITokenThemeRule = { token: '' };\n\t\t\t\tif (editorForeground) {\n\t\t\t\t\trule.foreground = editorForeground;\n\t\t\t\t}\n\t\t\t\tif (editorBackground) {\n\t\t\t\t\trule.background = editorBackground;\n\t\t\t\t}\n\t\t\t\trules.push(rule);\n\t\t\t}\n\t\t\trules = rules.concat(this.themeData.rules);\n\t\t\tif (this.themeData.encodedTokensColors) {\n\t\t\t\tencodedTokensColors = this.themeData.encodedTokensColors;\n\t\t\t}\n\t\t\tthis._tokenTheme = TokenTheme.createFromRawTokenTheme(rules, encodedTokensColors);\n\t\t}\n\t\treturn this._tokenTheme;\n\t}\n\n\tpublic getTokenStyleMetadata(type: string, modifiers: string[], modelLanguage: string): ITokenStyle | undefined {\n\t\t// use theme rules match\n\t\tconst style = this.tokenTheme._match([type].concat(modifiers).join('.'));\n\t\tconst metadata = style.metadata;\n\t\tconst foreground = TokenMetadata.getForeground(metadata);\n\t\tconst fontStyle = TokenMetadata.getFontStyle(metadata);\n\t\treturn {\n\t\t\tforeground: foreground,\n\t\t\titalic: Boolean(fontStyle & FontStyle.Italic),\n\t\t\tbold: Boolean(fontStyle & FontStyle.Bold),\n\t\t\tunderline: Boolean(fontStyle & FontStyle.Underline),\n\t\t\tstrikethrough: Boolean(fontStyle & FontStyle.Strikethrough)\n\t\t};\n\t}\n\n\tpublic get tokenColorMap(): string[] {\n\t\treturn [];\n\t}\n\n\tpublic readonly semanticHighlighting = false;\n}\n\nfunction isBuiltinTheme(themeName: string): themeName is BuiltinTheme {\n\treturn (\n\t\tthemeName === VS_LIGHT_THEME_NAME\n\t\t|| themeName === VS_DARK_THEME_NAME\n\t\t|| themeName === HC_BLACK_THEME_NAME\n\t\t|| themeName === HC_LIGHT_THEME_NAME\n\t);\n}\n\nfunction getBuiltinRules(builtinTheme: BuiltinTheme): IStandaloneThemeData {\n\tswitch (builtinTheme) {\n\t\tcase VS_LIGHT_THEME_NAME:\n\t\t\treturn vs;\n\t\tcase VS_DARK_THEME_NAME:\n\t\t\treturn vs_dark;\n\t\tcase HC_BLACK_THEME_NAME:\n\t\t\treturn hc_black;\n\t\tcase HC_LIGHT_THEME_NAME:\n\t\t\treturn hc_light;\n\t}\n}\n\nfunction newBuiltInTheme(builtinTheme: BuiltinTheme): StandaloneTheme {\n\tconst themeData = getBuiltinRules(builtinTheme);\n\treturn new StandaloneTheme(builtinTheme, themeData);\n}\n\nexport class StandaloneThemeService extends Disposable implements IStandaloneThemeService {\n\n\tdeclare readonly _serviceBrand: undefined;\n\n\tprivate readonly _onColorThemeChange = this._register(new Emitter<IStandaloneTheme>());\n\tpublic readonly onDidColorThemeChange = this._onColorThemeChange.event;\n\n\tprivate readonly _onProductIconThemeChange = this._register(new Emitter<IProductIconTheme>());\n\tpublic readonly onDidProductIconThemeChange = this._onProductIconThemeChange.event;\n\n\tprivate readonly _environment: IEnvironmentService = Object.create(null);\n\tprivate readonly _knownThemes: Map<string, StandaloneTheme>;\n\tprivate _autoDetectHighContrast: boolean;\n\tprivate _codiconCSS: string;\n\tprivate _themeCSS: string;\n\tprivate _allCSS: string;\n\tprivate _globalStyleElement: HTMLStyleElement | null;\n\tprivate _styleElements: HTMLStyleElement[];\n\tprivate _colorMapOverride: Color[] | null;\n\tprivate _theme!: IStandaloneTheme;\n\n\tprivate _builtInProductIconTheme = new UnthemedProductIconTheme();\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._autoDetectHighContrast = true;\n\n\t\tthis._knownThemes = new Map<string, StandaloneTheme>();\n\t\tthis._knownThemes.set(VS_LIGHT_THEME_NAME, newBuiltInTheme(VS_LIGHT_THEME_NAME));\n\t\tthis._knownThemes.set(VS_DARK_THEME_NAME, newBuiltInTheme(VS_DARK_THEME_NAME));\n\t\tthis._knownThemes.set(HC_BLACK_THEME_NAME, newBuiltInTheme(HC_BLACK_THEME_NAME));\n\t\tthis._knownThemes.set(HC_LIGHT_THEME_NAME, newBuiltInTheme(HC_LIGHT_THEME_NAME));\n\n\t\tconst iconsStyleSheet = this._register(getIconsStyleSheet(this));\n\n\t\tthis._codiconCSS = iconsStyleSheet.getCSS();\n\t\tthis._themeCSS = '';\n\t\tthis._allCSS = `${this._codiconCSS}\\n${this._themeCSS}`;\n\t\tthis._globalStyleElement = null;\n\t\tthis._styleElements = [];\n\t\tthis._colorMapOverride = null;\n\t\tthis.setTheme(VS_LIGHT_THEME_NAME);\n\t\tthis._onOSSchemeChanged();\n\n\t\tthis._register(iconsStyleSheet.onDidChange(() => {\n\t\t\tthis._codiconCSS = iconsStyleSheet.getCSS();\n\t\t\tthis._updateCSS();\n\t\t}));\n\n\t\taddMatchMediaChangeListener(mainWindow, '(forced-colors: active)', () => {\n\t\t\tthis._onOSSchemeChanged();\n\t\t});\n\t}\n\n\tpublic registerEditorContainer(domNode: HTMLElement): IDisposable {\n\t\tif (dom.isInShadowDOM(domNode)) {\n\t\t\treturn this._registerShadowDomContainer(domNode);\n\t\t}\n\t\treturn this._registerRegularEditorContainer();\n\t}\n\n\tprivate _registerRegularEditorContainer(): IDisposable {\n\t\tif (!this._globalStyleElement) {\n\t\t\tthis._globalStyleElement = domStylesheetsJs.createStyleSheet(undefined, style => {\n\t\t\t\tstyle.className = 'monaco-colors';\n\t\t\t\tstyle.textContent = this._allCSS;\n\t\t\t});\n\t\t\tthis._styleElements.push(this._globalStyleElement);\n\t\t}\n\t\treturn Disposable.None;\n\t}\n\n\tprivate _registerShadowDomContainer(domNode: HTMLElement): IDisposable {\n\t\tconst styleElement = domStylesheetsJs.createStyleSheet(domNode, style => {\n\t\t\tstyle.className = 'monaco-colors';\n\t\t\tstyle.textContent = this._allCSS;\n\t\t});\n\t\tthis._styleElements.push(styleElement);\n\t\treturn {\n\t\t\tdispose: () => {\n\t\t\t\tfor (let i = 0; i < this._styleElements.length; i++) {\n\t\t\t\t\tif (this._styleElements[i] === styleElement) {\n\t\t\t\t\t\tthis._styleElements.splice(i, 1);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic defineTheme(themeName: string, themeData: IStandaloneThemeData): void {\n\t\tif (!/^[a-z0-9\\-]+$/i.test(themeName)) {\n\t\t\tthrow new Error('Illegal theme name!');\n\t\t}\n\t\tif (!isBuiltinTheme(themeData.base) && !isBuiltinTheme(themeName)) {\n\t\t\tthrow new Error('Illegal theme base!');\n\t\t}\n\t\t// set or replace theme\n\t\tthis._knownThemes.set(themeName, new StandaloneTheme(themeName, themeData));\n\n\t\tif (isBuiltinTheme(themeName)) {\n\t\t\tthis._knownThemes.forEach(theme => {\n\t\t\t\tif (theme.base === themeName) {\n\t\t\t\t\ttheme.notifyBaseUpdated();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (this._theme.themeName === themeName) {\n\t\t\tthis.setTheme(themeName); // refresh theme\n\t\t}\n\t}\n\n\tpublic getColorTheme(): IStandaloneTheme {\n\t\treturn this._theme;\n\t}\n\n\tpublic setColorMapOverride(colorMapOverride: Color[] | null): void {\n\t\tthis._colorMapOverride = colorMapOverride;\n\t\tthis._updateThemeOrColorMap();\n\t}\n\n\tpublic setTheme(themeName: string): void {\n\t\tlet theme: StandaloneTheme | undefined;\n\t\tif (this._knownThemes.has(themeName)) {\n\t\t\ttheme = this._knownThemes.get(themeName);\n\t\t} else {\n\t\t\ttheme = this._knownThemes.get(VS_LIGHT_THEME_NAME);\n\t\t}\n\t\tthis._updateActualTheme(theme);\n\t}\n\n\tprivate _updateActualTheme(desiredTheme: IStandaloneTheme | undefined): void {\n\t\tif (!desiredTheme || this._theme === desiredTheme) {\n\t\t\t// Nothing to do\n\t\t\treturn;\n\t\t}\n\t\tthis._theme = desiredTheme;\n\t\tthis._updateThemeOrColorMap();\n\t}\n\n\tprivate _onOSSchemeChanged() {\n\t\tif (this._autoDetectHighContrast) {\n\t\t\tconst wantsHighContrast = mainWindow.matchMedia(`(forced-colors: active)`).matches;\n\t\t\tif (wantsHighContrast !== isHighContrast(this._theme.type)) {\n\t\t\t\t// switch to high contrast or non-high contrast but stick to dark or light\n\t\t\t\tlet newThemeName;\n\t\t\t\tif (isDark(this._theme.type)) {\n\t\t\t\t\tnewThemeName = wantsHighContrast ? HC_BLACK_THEME_NAME : VS_DARK_THEME_NAME;\n\t\t\t\t} else {\n\t\t\t\t\tnewThemeName = wantsHighContrast ? HC_LIGHT_THEME_NAME : VS_LIGHT_THEME_NAME;\n\t\t\t\t}\n\t\t\t\tthis._updateActualTheme(this._knownThemes.get(newThemeName));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic setAutoDetectHighContrast(autoDetectHighContrast: boolean): void {\n\t\tthis._autoDetectHighContrast = autoDetectHighContrast;\n\t\tthis._onOSSchemeChanged();\n\t}\n\n\tprivate _updateThemeOrColorMap(): void {\n\t\tconst cssRules: string[] = [];\n\t\tconst hasRule: { [rule: string]: boolean } = {};\n\t\tconst ruleCollector: ICssStyleCollector = {\n\t\t\taddRule: (rule: string) => {\n\t\t\t\tif (!hasRule[rule]) {\n\t\t\t\t\tcssRules.push(rule);\n\t\t\t\t\thasRule[rule] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tthemingRegistry.getThemingParticipants().forEach(p => p(this._theme, ruleCollector, this._environment));\n\n\t\tconst colorVariables: string[] = [];\n\t\tfor (const item of colorRegistry.getColors()) {\n\t\t\tconst color = this._theme.getColor(item.id, true);\n\t\t\tif (color) {\n\t\t\t\tcolorVariables.push(`${asCssVariableName(item.id)}: ${color.toString()};`);\n\t\t\t}\n\t\t}\n\t\truleCollector.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${colorVariables.join('\\n')} }`);\n\n\t\tconst colorMap = this._colorMapOverride || this._theme.tokenTheme.getColorMap();\n\t\truleCollector.addRule(generateTokensCSSForColorMap(colorMap));\n\n\t\tthis._themeCSS = cssRules.join('\\n');\n\t\tthis._updateCSS();\n\n\t\tTokenizationRegistry.setColorMap(colorMap);\n\t\tthis._onColorThemeChange.fire(this._theme);\n\t}\n\n\tprivate _updateCSS(): void {\n\t\tthis._allCSS = `${this._codiconCSS}\\n${this._themeCSS}`;\n\t\tthis._styleElements.forEach(styleElement => styleElement.textContent = this._allCSS);\n\t}\n\n\tpublic getFileIconTheme(): IFileIconTheme {\n\t\treturn {\n\t\t\thasFileIcons: false,\n\t\t\thasFolderIcons: false,\n\t\t\thidesExplorerArrows: false\n\t\t};\n\t}\n\n\tpublic getProductIconTheme(): IProductIconTheme {\n\t\treturn this._builtInProductIconTheme;\n\t}\n\n}\n"]}
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/standalone/browser/standaloneThemeService.ts","vs/editor/standalone/browser/standaloneThemeService.ts"],"names":[],"mappings":"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","file":"standaloneThemeService.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as dom from '../../../base/browser/dom.js';\nimport * as domStylesheetsJs from '../../../base/browser/domStylesheets.js';\nimport { addMatchMediaChangeListener } from '../../../base/browser/browser.js';\nimport { Color } from '../../../base/common/color.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { TokenizationRegistry } from '../../common/languages.js';\nimport { FontStyle, TokenMetadata } from '../../common/encodedTokenAttributes.js';\nimport { ITokenThemeRule, TokenTheme, generateTokensCSSForColorMap } from '../../common/languages/supports/tokenization.js';\nimport { BuiltinTheme, IStandaloneTheme, IStandaloneThemeData, IStandaloneThemeService } from '../common/standaloneTheme.js';\nimport { hc_black, hc_light, vs, vs_dark } from '../common/themes.js';\nimport { IEnvironmentService } from '../../../platform/environment/common/environment.js';\nimport { Registry } from '../../../platform/registry/common/platform.js';\nimport { asCssVariableName, ColorIdentifier, Extensions, IColorRegistry } from '../../../platform/theme/common/colorRegistry.js';\nimport { Extensions as ThemingExtensions, ICssStyleCollector, IFileIconTheme, IProductIconTheme, IThemingRegistry, ITokenStyle } from '../../../platform/theme/common/themeService.js';\nimport { IDisposable, Disposable } from '../../../base/common/lifecycle.js';\nimport { ColorScheme, isDark, isHighContrast } from '../../../platform/theme/common/theme.js';\nimport { getIconsStyleSheet, UnthemedProductIconTheme } from '../../../platform/theme/browser/iconsStyleSheet.js';\nimport { mainWindow } from '../../../base/browser/window.js';\n\nexport const VS_LIGHT_THEME_NAME = 'vs';\nexport const VS_DARK_THEME_NAME = 'vs-dark';\nexport const HC_BLACK_THEME_NAME = 'hc-black';\nexport const HC_LIGHT_THEME_NAME = 'hc-light';\n\nconst colorRegistry = Registry.as<IColorRegistry>(Extensions.ColorContribution);\nconst themingRegistry = Registry.as<IThemingRegistry>(ThemingExtensions.ThemingContribution);\n\nclass StandaloneTheme implements IStandaloneTheme {\n\n\tpublic readonly id: string;\n\tpublic readonly themeName: string;\n\n\tprivate readonly themeData: IStandaloneThemeData;\n\tprivate colors: Map<string, Color> | null;\n\tprivate readonly defaultColors: { [colorId: string]: Color | undefined };\n\tprivate _tokenTheme: TokenTheme | null;\n\n\tconstructor(name: string, standaloneThemeData: IStandaloneThemeData) {\n\t\tthis.themeData = standaloneThemeData;\n\t\tconst base = standaloneThemeData.base;\n\t\tif (name.length > 0) {\n\t\t\tif (isBuiltinTheme(name)) {\n\t\t\t\tthis.id = name;\n\t\t\t} else {\n\t\t\t\tthis.id = base + ' ' + name;\n\t\t\t}\n\t\t\tthis.themeName = name;\n\t\t} else {\n\t\t\tthis.id = base;\n\t\t\tthis.themeName = base;\n\t\t}\n\t\tthis.colors = null;\n\t\tthis.defaultColors = Object.create(null);\n\t\tthis._tokenTheme = null;\n\t}\n\n\tpublic get base(): string {\n\t\treturn this.themeData.base;\n\t}\n\n\tpublic notifyBaseUpdated() {\n\t\tif (this.themeData.inherit) {\n\t\t\tthis.colors = null;\n\t\t\tthis._tokenTheme = null;\n\t\t}\n\t}\n\n\tprivate getColors(): Map<string, Color> {\n\t\tif (!this.colors) {\n\t\t\tconst colors = new Map<string, Color>();\n\t\t\tfor (const id in this.themeData.colors) {\n\t\t\t\tcolors.set(id, Color.fromHex(this.themeData.colors[id]));\n\t\t\t}\n\t\t\tif (this.themeData.inherit) {\n\t\t\t\tconst baseData = getBuiltinRules(this.themeData.base);\n\t\t\t\tfor (const id in baseData.colors) {\n\t\t\t\t\tif (!colors.has(id)) {\n\t\t\t\t\t\tcolors.set(id, Color.fromHex(baseData.colors[id]));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.colors = colors;\n\t\t}\n\t\treturn this.colors;\n\t}\n\n\tpublic getColor(colorId: ColorIdentifier, useDefault?: boolean): Color | undefined {\n\t\tconst color = this.getColors().get(colorId);\n\t\tif (color) {\n\t\t\treturn color;\n\t\t}\n\t\tif (useDefault !== false) {\n\t\t\treturn this.getDefault(colorId);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate getDefault(colorId: ColorIdentifier): Color | undefined {\n\t\tlet color = this.defaultColors[colorId];\n\t\tif (color) {\n\t\t\treturn color;\n\t\t}\n\t\tcolor = colorRegistry.resolveDefaultColor(colorId, this);\n\t\tthis.defaultColors[colorId] = color;\n\t\treturn color;\n\t}\n\n\tpublic defines(colorId: ColorIdentifier): boolean {\n\t\treturn this.getColors().has(colorId);\n\t}\n\n\tpublic get type(): ColorScheme {\n\t\tswitch (this.base) {\n\t\t\tcase VS_LIGHT_THEME_NAME: return ColorScheme.LIGHT;\n\t\t\tcase HC_BLACK_THEME_NAME: return ColorScheme.HIGH_CONTRAST_DARK;\n\t\t\tcase HC_LIGHT_THEME_NAME: return ColorScheme.HIGH_CONTRAST_LIGHT;\n\t\t\tdefault: return ColorScheme.DARK;\n\t\t}\n\t}\n\n\tpublic get tokenTheme(): TokenTheme {\n\t\tif (!this._tokenTheme) {\n\t\t\tlet rules: ITokenThemeRule[] = [];\n\t\t\tlet encodedTokensColors: string[] = [];\n\t\t\tif (this.themeData.inherit) {\n\t\t\t\tconst baseData = getBuiltinRules(this.themeData.base);\n\t\t\t\trules = baseData.rules;\n\t\t\t\tif (baseData.encodedTokensColors) {\n\t\t\t\t\tencodedTokensColors = baseData.encodedTokensColors;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Pick up default colors from `editor.foreground` and `editor.background` if available\n\t\t\tconst editorForeground = this.themeData.colors['editor.foreground'];\n\t\t\tconst editorBackground = this.themeData.colors['editor.background'];\n\t\t\tif (editorForeground || editorBackground) {\n\t\t\t\tconst rule: ITokenThemeRule = { token: '' };\n\t\t\t\tif (editorForeground) {\n\t\t\t\t\trule.foreground = editorForeground;\n\t\t\t\t}\n\t\t\t\tif (editorBackground) {\n\t\t\t\t\trule.background = editorBackground;\n\t\t\t\t}\n\t\t\t\trules.push(rule);\n\t\t\t}\n\t\t\trules = rules.concat(this.themeData.rules);\n\t\t\tif (this.themeData.encodedTokensColors) {\n\t\t\t\tencodedTokensColors = this.themeData.encodedTokensColors;\n\t\t\t}\n\t\t\tthis._tokenTheme = TokenTheme.createFromRawTokenTheme(rules, encodedTokensColors);\n\t\t}\n\t\treturn this._tokenTheme;\n\t}\n\n\tpublic getTokenStyleMetadata(type: string, modifiers: string[], modelLanguage: string): ITokenStyle | undefined {\n\t\t// use theme rules match\n\t\tconst style = this.tokenTheme._match([type].concat(modifiers).join('.'));\n\t\tconst metadata = style.metadata;\n\t\tconst foreground = TokenMetadata.getForeground(metadata);\n\t\tconst fontStyle = TokenMetadata.getFontStyle(metadata);\n\t\treturn {\n\t\t\tforeground: foreground,\n\t\t\titalic: Boolean(fontStyle & FontStyle.Italic),\n\t\t\tbold: Boolean(fontStyle & FontStyle.Bold),\n\t\t\tunderline: Boolean(fontStyle & FontStyle.Underline),\n\t\t\tstrikethrough: Boolean(fontStyle & FontStyle.Strikethrough)\n\t\t};\n\t}\n\n\tpublic get tokenColorMap(): string[] {\n\t\treturn [];\n\t}\n\n\tpublic readonly semanticHighlighting = false;\n}\n\nfunction isBuiltinTheme(themeName: string): themeName is BuiltinTheme {\n\treturn (\n\t\tthemeName === VS_LIGHT_THEME_NAME\n\t\t|| themeName === VS_DARK_THEME_NAME\n\t\t|| themeName === HC_BLACK_THEME_NAME\n\t\t|| themeName === HC_LIGHT_THEME_NAME\n\t);\n}\n\nfunction getBuiltinRules(builtinTheme: BuiltinTheme): IStandaloneThemeData {\n\tswitch (builtinTheme) {\n\t\tcase VS_LIGHT_THEME_NAME:\n\t\t\treturn vs;\n\t\tcase VS_DARK_THEME_NAME:\n\t\t\treturn vs_dark;\n\t\tcase HC_BLACK_THEME_NAME:\n\t\t\treturn hc_black;\n\t\tcase HC_LIGHT_THEME_NAME:\n\t\t\treturn hc_light;\n\t}\n}\n\nfunction newBuiltInTheme(builtinTheme: BuiltinTheme): StandaloneTheme {\n\tconst themeData = getBuiltinRules(builtinTheme);\n\treturn new StandaloneTheme(builtinTheme, themeData);\n}\n\nexport class StandaloneThemeService extends Disposable implements IStandaloneThemeService {\n\n\tdeclare readonly _serviceBrand: undefined;\n\n\tprivate readonly _onColorThemeChange = this._register(new Emitter<IStandaloneTheme>());\n\tpublic readonly onDidColorThemeChange = this._onColorThemeChange.event;\n\n\tprivate readonly _onProductIconThemeChange = this._register(new Emitter<IProductIconTheme>());\n\tpublic readonly onDidProductIconThemeChange = this._onProductIconThemeChange.event;\n\n\tprivate readonly _environment: IEnvironmentService = Object.create(null);\n\tprivate readonly _knownThemes: Map<string, StandaloneTheme>;\n\tprivate _autoDetectHighContrast: boolean;\n\tprivate _codiconCSS: string;\n\tprivate _themeCSS: string;\n\tprivate _allCSS: string;\n\tprivate _globalStyleElement: HTMLStyleElement | null;\n\tprivate _styleElements: HTMLStyleElement[];\n\tprivate _colorMapOverride: Color[] | null;\n\tprivate _theme!: IStandaloneTheme;\n\n\tprivate _builtInProductIconTheme = new UnthemedProductIconTheme();\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._autoDetectHighContrast = true;\n\n\t\tthis._knownThemes = new Map<string, StandaloneTheme>();\n\t\tthis._knownThemes.set(VS_LIGHT_THEME_NAME, newBuiltInTheme(VS_LIGHT_THEME_NAME));\n\t\tthis._knownThemes.set(VS_DARK_THEME_NAME, newBuiltInTheme(VS_DARK_THEME_NAME));\n\t\tthis._knownThemes.set(HC_BLACK_THEME_NAME, newBuiltInTheme(HC_BLACK_THEME_NAME));\n\t\tthis._knownThemes.set(HC_LIGHT_THEME_NAME, newBuiltInTheme(HC_LIGHT_THEME_NAME));\n\n\t\tconst iconsStyleSheet = this._register(getIconsStyleSheet(this));\n\n\t\tthis._codiconCSS = iconsStyleSheet.getCSS();\n\t\tthis._themeCSS = '';\n\t\tthis._allCSS = `${this._codiconCSS}\\n${this._themeCSS}`;\n\t\tthis._globalStyleElement = null;\n\t\tthis._styleElements = [];\n\t\tthis._colorMapOverride = null;\n\t\tthis.setTheme(VS_LIGHT_THEME_NAME);\n\t\tthis._onOSSchemeChanged();\n\n\t\tthis._register(iconsStyleSheet.onDidChange(() => {\n\t\t\tthis._codiconCSS = iconsStyleSheet.getCSS();\n\t\t\tthis._updateCSS();\n\t\t}));\n\n\t\taddMatchMediaChangeListener(mainWindow, '(forced-colors: active)', () => {\n\t\t\t// Update theme selection for auto-detecting high contrast\n\t\t\tthis._onOSSchemeChanged();\n\t\t\t// Always rebuild the generated CSS so that the `forced-color-adjust: none`\n\t\t\t// rule is added/removed reactively when the OS forced colors state changes.\n\t\t\tthis._updateThemeOrColorMap();\n\t\t});\n\t}\n\n\tpublic registerEditorContainer(domNode: HTMLElement): IDisposable {\n\t\tif (dom.isInShadowDOM(domNode)) {\n\t\t\treturn this._registerShadowDomContainer(domNode);\n\t\t}\n\t\treturn this._registerRegularEditorContainer();\n\t}\n\n\tprivate _registerRegularEditorContainer(): IDisposable {\n\t\tif (!this._globalStyleElement) {\n\t\t\tthis._globalStyleElement = domStylesheetsJs.createStyleSheet(undefined, style => {\n\t\t\t\tstyle.className = 'monaco-colors';\n\t\t\t\tstyle.textContent = this._allCSS;\n\t\t\t});\n\t\t\tthis._styleElements.push(this._globalStyleElement);\n\t\t}\n\t\treturn Disposable.None;\n\t}\n\n\tprivate _registerShadowDomContainer(domNode: HTMLElement): IDisposable {\n\t\tconst styleElement = domStylesheetsJs.createStyleSheet(domNode, style => {\n\t\t\tstyle.className = 'monaco-colors';\n\t\t\tstyle.textContent = this._allCSS;\n\t\t});\n\t\tthis._styleElements.push(styleElement);\n\t\treturn {\n\t\t\tdispose: () => {\n\t\t\t\tfor (let i = 0; i < this._styleElements.length; i++) {\n\t\t\t\t\tif (this._styleElements[i] === styleElement) {\n\t\t\t\t\t\tthis._styleElements.splice(i, 1);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic defineTheme(themeName: string, themeData: IStandaloneThemeData): void {\n\t\tif (!/^[a-z0-9\\-]+$/i.test(themeName)) {\n\t\t\tthrow new Error('Illegal theme name!');\n\t\t}\n\t\tif (!isBuiltinTheme(themeData.base) && !isBuiltinTheme(themeName)) {\n\t\t\tthrow new Error('Illegal theme base!');\n\t\t}\n\t\t// set or replace theme\n\t\tthis._knownThemes.set(themeName, new StandaloneTheme(themeName, themeData));\n\n\t\tif (isBuiltinTheme(themeName)) {\n\t\t\tthis._knownThemes.forEach(theme => {\n\t\t\t\tif (theme.base === themeName) {\n\t\t\t\t\ttheme.notifyBaseUpdated();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (this._theme.themeName === themeName) {\n\t\t\tthis.setTheme(themeName); // refresh theme\n\t\t}\n\t}\n\n\tpublic getColorTheme(): IStandaloneTheme {\n\t\treturn this._theme;\n\t}\n\n\tpublic setColorMapOverride(colorMapOverride: Color[] | null): void {\n\t\tthis._colorMapOverride = colorMapOverride;\n\t\tthis._updateThemeOrColorMap();\n\t}\n\n\tpublic setTheme(themeName: string): void {\n\t\tlet theme: StandaloneTheme | undefined;\n\t\tif (this._knownThemes.has(themeName)) {\n\t\t\ttheme = this._knownThemes.get(themeName);\n\t\t} else {\n\t\t\ttheme = this._knownThemes.get(VS_LIGHT_THEME_NAME);\n\t\t}\n\t\tthis._updateActualTheme(theme);\n\t}\n\n\tprivate _updateActualTheme(desiredTheme: IStandaloneTheme | undefined): void {\n\t\tif (!desiredTheme || this._theme === desiredTheme) {\n\t\t\t// Nothing to do\n\t\t\treturn;\n\t\t}\n\t\tthis._theme = desiredTheme;\n\t\tthis._updateThemeOrColorMap();\n\t}\n\n\tprivate _onOSSchemeChanged() {\n\t\tif (this._autoDetectHighContrast) {\n\t\t\tconst wantsHighContrast = mainWindow.matchMedia(`(forced-colors: active)`).matches;\n\t\t\tif (wantsHighContrast !== isHighContrast(this._theme.type)) {\n\t\t\t\t// switch to high contrast or non-high contrast but stick to dark or light\n\t\t\t\tlet newThemeName;\n\t\t\t\tif (isDark(this._theme.type)) {\n\t\t\t\t\tnewThemeName = wantsHighContrast ? HC_BLACK_THEME_NAME : VS_DARK_THEME_NAME;\n\t\t\t\t} else {\n\t\t\t\t\tnewThemeName = wantsHighContrast ? HC_LIGHT_THEME_NAME : VS_LIGHT_THEME_NAME;\n\t\t\t\t}\n\t\t\t\tthis._updateActualTheme(this._knownThemes.get(newThemeName));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic setAutoDetectHighContrast(autoDetectHighContrast: boolean): void {\n\t\tthis._autoDetectHighContrast = autoDetectHighContrast;\n\t\tthis._onOSSchemeChanged();\n\t}\n\n\tprivate _updateThemeOrColorMap(): void {\n\t\tconst cssRules: string[] = [];\n\t\tconst hasRule: { [rule: string]: boolean } = {};\n\t\tconst ruleCollector: ICssStyleCollector = {\n\t\t\taddRule: (rule: string) => {\n\t\t\t\tif (!hasRule[rule]) {\n\t\t\t\t\tcssRules.push(rule);\n\t\t\t\t\thasRule[rule] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tthemingRegistry.getThemingParticipants().forEach(p => p(this._theme, ruleCollector, this._environment));\n\n\t\tconst colorVariables: string[] = [];\n\t\tfor (const item of colorRegistry.getColors()) {\n\t\t\tconst color = this._theme.getColor(item.id, true);\n\t\t\tif (color) {\n\t\t\t\tcolorVariables.push(`${asCssVariableName(item.id)}: ${color.toString()};`);\n\t\t\t}\n\t\t}\n\t\truleCollector.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${colorVariables.join('\\n')} }`);\n\n\t\tconst colorMap = this._colorMapOverride || this._theme.tokenTheme.getColorMap();\n\t\truleCollector.addRule(generateTokensCSSForColorMap(colorMap));\n\n\t\t// If the OS has forced-colors active, disable forced color adjustment for\n\t\t// Monaco editor elements so that VS Code's built-in high contrast themes\n\t\t// (hc-black / hc-light) are used instead of the OS forcing system colors.\n\t\tif (mainWindow.matchMedia(`(forced-colors: active)`).matches) {\n\t\t\truleCollector.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { forced-color-adjust: none; }`);\n\t\t}\n\n\t\tthis._themeCSS = cssRules.join('\\n');\n\t\tthis._updateCSS();\n\n\t\tTokenizationRegistry.setColorMap(colorMap);\n\t\tthis._onColorThemeChange.fire(this._theme);\n\t}\n\n\tprivate _updateCSS(): void {\n\t\tthis._allCSS = `${this._codiconCSS}\\n${this._themeCSS}`;\n\t\tthis._styleElements.forEach(styleElement => styleElement.textContent = this._allCSS);\n\t}\n\n\tpublic getFileIconTheme(): IFileIconTheme {\n\t\treturn {\n\t\t\thasFileIcons: false,\n\t\t\thasFolderIcons: false,\n\t\t\thidesExplorerArrows: false\n\t\t};\n\t}\n\n\tpublic getProductIconTheme(): IProductIconTheme {\n\t\treturn this._builtInProductIconTheme;\n\t}\n\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as dom from '../../../base/browser/dom.js';\nimport * as domStylesheetsJs from '../../../base/browser/domStylesheets.js';\nimport { addMatchMediaChangeListener } from '../../../base/browser/browser.js';\nimport { Color } from '../../../base/common/color.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { TokenizationRegistry } from '../../common/languages.js';\nimport { FontStyle, TokenMetadata } from '../../common/encodedTokenAttributes.js';\nimport { ITokenThemeRule, TokenTheme, generateTokensCSSForColorMap } from '../../common/languages/supports/tokenization.js';\nimport { BuiltinTheme, IStandaloneTheme, IStandaloneThemeData, IStandaloneThemeService } from '../common/standaloneTheme.js';\nimport { hc_black, hc_light, vs, vs_dark } from '../common/themes.js';\nimport { IEnvironmentService } from '../../../platform/environment/common/environment.js';\nimport { Registry } from '../../../platform/registry/common/platform.js';\nimport { asCssVariableName, ColorIdentifier, Extensions, IColorRegistry } from '../../../platform/theme/common/colorRegistry.js';\nimport { Extensions as ThemingExtensions, ICssStyleCollector, IFileIconTheme, IProductIconTheme, IThemingRegistry, ITokenStyle } from '../../../platform/theme/common/themeService.js';\nimport { IDisposable, Disposable } from '../../../base/common/lifecycle.js';\nimport { ColorScheme, isDark, isHighContrast } from '../../../platform/theme/common/theme.js';\nimport { getIconsStyleSheet, UnthemedProductIconTheme } from '../../../platform/theme/browser/iconsStyleSheet.js';\nimport { mainWindow } from '../../../base/browser/window.js';\n\nexport const VS_LIGHT_THEME_NAME = 'vs';\nexport const VS_DARK_THEME_NAME = 'vs-dark';\nexport const HC_BLACK_THEME_NAME = 'hc-black';\nexport const HC_LIGHT_THEME_NAME = 'hc-light';\n\nconst colorRegistry = Registry.as<IColorRegistry>(Extensions.ColorContribution);\nconst themingRegistry = Registry.as<IThemingRegistry>(ThemingExtensions.ThemingContribution);\n\nclass StandaloneTheme implements IStandaloneTheme {\n\n\tpublic readonly id: string;\n\tpublic readonly themeName: string;\n\n\tprivate readonly themeData: IStandaloneThemeData;\n\tprivate colors: Map<string, Color> | null;\n\tprivate readonly defaultColors: { [colorId: string]: Color | undefined };\n\tprivate _tokenTheme: TokenTheme | null;\n\n\tconstructor(name: string, standaloneThemeData: IStandaloneThemeData) {\n\t\tthis.themeData = standaloneThemeData;\n\t\tconst base = standaloneThemeData.base;\n\t\tif (name.length > 0) {\n\t\t\tif (isBuiltinTheme(name)) {\n\t\t\t\tthis.id = name;\n\t\t\t} else {\n\t\t\t\tthis.id = base + ' ' + name;\n\t\t\t}\n\t\t\tthis.themeName = name;\n\t\t} else {\n\t\t\tthis.id = base;\n\t\t\tthis.themeName = base;\n\t\t}\n\t\tthis.colors = null;\n\t\tthis.defaultColors = Object.create(null);\n\t\tthis._tokenTheme = null;\n\t}\n\n\tpublic get base(): string {\n\t\treturn this.themeData.base;\n\t}\n\n\tpublic notifyBaseUpdated() {\n\t\tif (this.themeData.inherit) {\n\t\t\tthis.colors = null;\n\t\t\tthis._tokenTheme = null;\n\t\t}\n\t}\n\n\tprivate getColors(): Map<string, Color> {\n\t\tif (!this.colors) {\n\t\t\tconst colors = new Map<string, Color>();\n\t\t\tfor (const id in this.themeData.colors) {\n\t\t\t\tcolors.set(id, Color.fromHex(this.themeData.colors[id]));\n\t\t\t}\n\t\t\tif (this.themeData.inherit) {\n\t\t\t\tconst baseData = getBuiltinRules(this.themeData.base);\n\t\t\t\tfor (const id in baseData.colors) {\n\t\t\t\t\tif (!colors.has(id)) {\n\t\t\t\t\t\tcolors.set(id, Color.fromHex(baseData.colors[id]));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.colors = colors;\n\t\t}\n\t\treturn this.colors;\n\t}\n\n\tpublic getColor(colorId: ColorIdentifier, useDefault?: boolean): Color | undefined {\n\t\tconst color = this.getColors().get(colorId);\n\t\tif (color) {\n\t\t\treturn color;\n\t\t}\n\t\tif (useDefault !== false) {\n\t\t\treturn this.getDefault(colorId);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate getDefault(colorId: ColorIdentifier): Color | undefined {\n\t\tlet color = this.defaultColors[colorId];\n\t\tif (color) {\n\t\t\treturn color;\n\t\t}\n\t\tcolor = colorRegistry.resolveDefaultColor(colorId, this);\n\t\tthis.defaultColors[colorId] = color;\n\t\treturn color;\n\t}\n\n\tpublic defines(colorId: ColorIdentifier): boolean {\n\t\treturn this.getColors().has(colorId);\n\t}\n\n\tpublic get type(): ColorScheme {\n\t\tswitch (this.base) {\n\t\t\tcase VS_LIGHT_THEME_NAME: return ColorScheme.LIGHT;\n\t\t\tcase HC_BLACK_THEME_NAME: return ColorScheme.HIGH_CONTRAST_DARK;\n\t\t\tcase HC_LIGHT_THEME_NAME: return ColorScheme.HIGH_CONTRAST_LIGHT;\n\t\t\tdefault: return ColorScheme.DARK;\n\t\t}\n\t}\n\n\tpublic get tokenTheme(): TokenTheme {\n\t\tif (!this._tokenTheme) {\n\t\t\tlet rules: ITokenThemeRule[] = [];\n\t\t\tlet encodedTokensColors: string[] = [];\n\t\t\tif (this.themeData.inherit) {\n\t\t\t\tconst baseData = getBuiltinRules(this.themeData.base);\n\t\t\t\trules = baseData.rules;\n\t\t\t\tif (baseData.encodedTokensColors) {\n\t\t\t\t\tencodedTokensColors = baseData.encodedTokensColors;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Pick up default colors from `editor.foreground` and `editor.background` if available\n\t\t\tconst editorForeground = this.themeData.colors['editor.foreground'];\n\t\t\tconst editorBackground = this.themeData.colors['editor.background'];\n\t\t\tif (editorForeground || editorBackground) {\n\t\t\t\tconst rule: ITokenThemeRule = { token: '' };\n\t\t\t\tif (editorForeground) {\n\t\t\t\t\trule.foreground = editorForeground;\n\t\t\t\t}\n\t\t\t\tif (editorBackground) {\n\t\t\t\t\trule.background = editorBackground;\n\t\t\t\t}\n\t\t\t\trules.push(rule);\n\t\t\t}\n\t\t\trules = rules.concat(this.themeData.rules);\n\t\t\tif (this.themeData.encodedTokensColors) {\n\t\t\t\tencodedTokensColors = this.themeData.encodedTokensColors;\n\t\t\t}\n\t\t\tthis._tokenTheme = TokenTheme.createFromRawTokenTheme(rules, encodedTokensColors);\n\t\t}\n\t\treturn this._tokenTheme;\n\t}\n\n\tpublic getTokenStyleMetadata(type: string, modifiers: string[], modelLanguage: string): ITokenStyle | undefined {\n\t\t// use theme rules match\n\t\tconst style = this.tokenTheme._match([type].concat(modifiers).join('.'));\n\t\tconst metadata = style.metadata;\n\t\tconst foreground = TokenMetadata.getForeground(metadata);\n\t\tconst fontStyle = TokenMetadata.getFontStyle(metadata);\n\t\treturn {\n\t\t\tforeground: foreground,\n\t\t\titalic: Boolean(fontStyle & FontStyle.Italic),\n\t\t\tbold: Boolean(fontStyle & FontStyle.Bold),\n\t\t\tunderline: Boolean(fontStyle & FontStyle.Underline),\n\t\t\tstrikethrough: Boolean(fontStyle & FontStyle.Strikethrough)\n\t\t};\n\t}\n\n\tpublic get tokenColorMap(): string[] {\n\t\treturn [];\n\t}\n\n\tpublic readonly semanticHighlighting = false;\n}\n\nfunction isBuiltinTheme(themeName: string): themeName is BuiltinTheme {\n\treturn (\n\t\tthemeName === VS_LIGHT_THEME_NAME\n\t\t|| themeName === VS_DARK_THEME_NAME\n\t\t|| themeName === HC_BLACK_THEME_NAME\n\t\t|| themeName === HC_LIGHT_THEME_NAME\n\t);\n}\n\nfunction getBuiltinRules(builtinTheme: BuiltinTheme): IStandaloneThemeData {\n\tswitch (builtinTheme) {\n\t\tcase VS_LIGHT_THEME_NAME:\n\t\t\treturn vs;\n\t\tcase VS_DARK_THEME_NAME:\n\t\t\treturn vs_dark;\n\t\tcase HC_BLACK_THEME_NAME:\n\t\t\treturn hc_black;\n\t\tcase HC_LIGHT_THEME_NAME:\n\t\t\treturn hc_light;\n\t}\n}\n\nfunction newBuiltInTheme(builtinTheme: BuiltinTheme): StandaloneTheme {\n\tconst themeData = getBuiltinRules(builtinTheme);\n\treturn new StandaloneTheme(builtinTheme, themeData);\n}\n\nexport class StandaloneThemeService extends Disposable implements IStandaloneThemeService {\n\n\tdeclare readonly _serviceBrand: undefined;\n\n\tprivate readonly _onColorThemeChange = this._register(new Emitter<IStandaloneTheme>());\n\tpublic readonly onDidColorThemeChange = this._onColorThemeChange.event;\n\n\tprivate readonly _onProductIconThemeChange = this._register(new Emitter<IProductIconTheme>());\n\tpublic readonly onDidProductIconThemeChange = this._onProductIconThemeChange.event;\n\n\tprivate readonly _environment: IEnvironmentService = Object.create(null);\n\tprivate readonly _knownThemes: Map<string, StandaloneTheme>;\n\tprivate _autoDetectHighContrast: boolean;\n\tprivate _codiconCSS: string;\n\tprivate _themeCSS: string;\n\tprivate _allCSS: string;\n\tprivate _globalStyleElement: HTMLStyleElement | null;\n\tprivate _styleElements: HTMLStyleElement[];\n\tprivate _colorMapOverride: Color[] | null;\n\tprivate _theme!: IStandaloneTheme;\n\n\tprivate _builtInProductIconTheme = new UnthemedProductIconTheme();\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._autoDetectHighContrast = true;\n\n\t\tthis._knownThemes = new Map<string, StandaloneTheme>();\n\t\tthis._knownThemes.set(VS_LIGHT_THEME_NAME, newBuiltInTheme(VS_LIGHT_THEME_NAME));\n\t\tthis._knownThemes.set(VS_DARK_THEME_NAME, newBuiltInTheme(VS_DARK_THEME_NAME));\n\t\tthis._knownThemes.set(HC_BLACK_THEME_NAME, newBuiltInTheme(HC_BLACK_THEME_NAME));\n\t\tthis._knownThemes.set(HC_LIGHT_THEME_NAME, newBuiltInTheme(HC_LIGHT_THEME_NAME));\n\n\t\tconst iconsStyleSheet = this._register(getIconsStyleSheet(this));\n\n\t\tthis._codiconCSS = iconsStyleSheet.getCSS();\n\t\tthis._themeCSS = '';\n\t\tthis._allCSS = `${this._codiconCSS}\\n${this._themeCSS}`;\n\t\tthis._globalStyleElement = null;\n\t\tthis._styleElements = [];\n\t\tthis._colorMapOverride = null;\n\t\tthis.setTheme(VS_LIGHT_THEME_NAME);\n\t\tthis._onOSSchemeChanged();\n\n\t\tthis._register(iconsStyleSheet.onDidChange(() => {\n\t\t\tthis._codiconCSS = iconsStyleSheet.getCSS();\n\t\t\tthis._updateCSS();\n\t\t}));\n\n\t\taddMatchMediaChangeListener(mainWindow, '(forced-colors: active)', () => {\n\t\t\t// Update theme selection for auto-detecting high contrast\n\t\t\tthis._onOSSchemeChanged();\n\t\t\t// Always rebuild the generated CSS so that the `forced-color-adjust: none`\n\t\t\t// rule is added/removed reactively when the OS forced colors state changes.\n\t\t\tthis._updateThemeOrColorMap();\n\t\t});\n\t}\n\n\tpublic registerEditorContainer(domNode: HTMLElement): IDisposable {\n\t\tif (dom.isInShadowDOM(domNode)) {\n\t\t\treturn this._registerShadowDomContainer(domNode);\n\t\t}\n\t\treturn this._registerRegularEditorContainer();\n\t}\n\n\tprivate _registerRegularEditorContainer(): IDisposable {\n\t\tif (!this._globalStyleElement) {\n\t\t\tthis._globalStyleElement = domStylesheetsJs.createStyleSheet(undefined, style => {\n\t\t\t\tstyle.className = 'monaco-colors';\n\t\t\t\tstyle.textContent = this._allCSS;\n\t\t\t});\n\t\t\tthis._styleElements.push(this._globalStyleElement);\n\t\t}\n\t\treturn Disposable.None;\n\t}\n\n\tprivate _registerShadowDomContainer(domNode: HTMLElement): IDisposable {\n\t\tconst styleElement = domStylesheetsJs.createStyleSheet(domNode, style => {\n\t\t\tstyle.className = 'monaco-colors';\n\t\t\tstyle.textContent = this._allCSS;\n\t\t});\n\t\tthis._styleElements.push(styleElement);\n\t\treturn {\n\t\t\tdispose: () => {\n\t\t\t\tfor (let i = 0; i < this._styleElements.length; i++) {\n\t\t\t\t\tif (this._styleElements[i] === styleElement) {\n\t\t\t\t\t\tthis._styleElements.splice(i, 1);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic defineTheme(themeName: string, themeData: IStandaloneThemeData): void {\n\t\tif (!/^[a-z0-9\\-]+$/i.test(themeName)) {\n\t\t\tthrow new Error('Illegal theme name!');\n\t\t}\n\t\tif (!isBuiltinTheme(themeData.base) && !isBuiltinTheme(themeName)) {\n\t\t\tthrow new Error('Illegal theme base!');\n\t\t}\n\t\t// set or replace theme\n\t\tthis._knownThemes.set(themeName, new StandaloneTheme(themeName, themeData));\n\n\t\tif (isBuiltinTheme(themeName)) {\n\t\t\tthis._knownThemes.forEach(theme => {\n\t\t\t\tif (theme.base === themeName) {\n\t\t\t\t\ttheme.notifyBaseUpdated();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (this._theme.themeName === themeName) {\n\t\t\tthis.setTheme(themeName); // refresh theme\n\t\t}\n\t}\n\n\tpublic getColorTheme(): IStandaloneTheme {\n\t\treturn this._theme;\n\t}\n\n\tpublic setColorMapOverride(colorMapOverride: Color[] | null): void {\n\t\tthis._colorMapOverride = colorMapOverride;\n\t\tthis._updateThemeOrColorMap();\n\t}\n\n\tpublic setTheme(themeName: string): void {\n\t\tlet theme: StandaloneTheme | undefined;\n\t\tif (this._knownThemes.has(themeName)) {\n\t\t\ttheme = this._knownThemes.get(themeName);\n\t\t} else {\n\t\t\ttheme = this._knownThemes.get(VS_LIGHT_THEME_NAME);\n\t\t}\n\t\tthis._updateActualTheme(theme);\n\t}\n\n\tprivate _updateActualTheme(desiredTheme: IStandaloneTheme | undefined): void {\n\t\tif (!desiredTheme || this._theme === desiredTheme) {\n\t\t\t// Nothing to do\n\t\t\treturn;\n\t\t}\n\t\tthis._theme = desiredTheme;\n\t\tthis._updateThemeOrColorMap();\n\t}\n\n\tprivate _onOSSchemeChanged() {\n\t\tif (this._autoDetectHighContrast) {\n\t\t\tconst wantsHighContrast = mainWindow.matchMedia(`(forced-colors: active)`).matches;\n\t\t\tif (wantsHighContrast !== isHighContrast(this._theme.type)) {\n\t\t\t\t// switch to high contrast or non-high contrast but stick to dark or light\n\t\t\t\tlet newThemeName;\n\t\t\t\tif (isDark(this._theme.type)) {\n\t\t\t\t\tnewThemeName = wantsHighContrast ? HC_BLACK_THEME_NAME : VS_DARK_THEME_NAME;\n\t\t\t\t} else {\n\t\t\t\t\tnewThemeName = wantsHighContrast ? HC_LIGHT_THEME_NAME : VS_LIGHT_THEME_NAME;\n\t\t\t\t}\n\t\t\t\tthis._updateActualTheme(this._knownThemes.get(newThemeName));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic setAutoDetectHighContrast(autoDetectHighContrast: boolean): void {\n\t\tthis._autoDetectHighContrast = autoDetectHighContrast;\n\t\tthis._onOSSchemeChanged();\n\t}\n\n\tprivate _updateThemeOrColorMap(): void {\n\t\tconst cssRules: string[] = [];\n\t\tconst hasRule: { [rule: string]: boolean } = {};\n\t\tconst ruleCollector: ICssStyleCollector = {\n\t\t\taddRule: (rule: string) => {\n\t\t\t\tif (!hasRule[rule]) {\n\t\t\t\t\tcssRules.push(rule);\n\t\t\t\t\thasRule[rule] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tthemingRegistry.getThemingParticipants().forEach(p => p(this._theme, ruleCollector, this._environment));\n\n\t\tconst colorVariables: string[] = [];\n\t\tfor (const item of colorRegistry.getColors()) {\n\t\t\tconst color = this._theme.getColor(item.id, true);\n\t\t\tif (color) {\n\t\t\t\tcolorVariables.push(`${asCssVariableName(item.id)}: ${color.toString()};`);\n\t\t\t}\n\t\t}\n\t\truleCollector.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${colorVariables.join('\\n')} }`);\n\n\t\tconst colorMap = this._colorMapOverride || this._theme.tokenTheme.getColorMap();\n\t\truleCollector.addRule(generateTokensCSSForColorMap(colorMap));\n\n\t\t// If the OS has forced-colors active, disable forced color adjustment for\n\t\t// Monaco editor elements so that VS Code's built-in high contrast themes\n\t\t// (hc-black / hc-light) are used instead of the OS forcing system colors.\n\t\tif (mainWindow.matchMedia(`(forced-colors: active)`).matches) {\n\t\t\truleCollector.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { forced-color-adjust: none; }`);\n\t\t}\n\n\t\tthis._themeCSS = cssRules.join('\\n');\n\t\tthis._updateCSS();\n\n\t\tTokenizationRegistry.setColorMap(colorMap);\n\t\tthis._onColorThemeChange.fire(this._theme);\n\t}\n\n\tprivate _updateCSS(): void {\n\t\tthis._allCSS = `${this._codiconCSS}\\n${this._themeCSS}`;\n\t\tthis._styleElements.forEach(styleElement => styleElement.textContent = this._allCSS);\n\t}\n\n\tpublic getFileIconTheme(): IFileIconTheme {\n\t\treturn {\n\t\t\thasFileIcons: false,\n\t\t\thasFolderIcons: false,\n\t\t\thidesExplorerArrows: false\n\t\t};\n\t}\n\n\tpublic getProductIconTheme(): IProductIconTheme {\n\t\treturn this._builtInProductIconTheme;\n\t}\n\n}\n"]}
@@ -69,176 +69,176 @@ export class AccessibilitySignal {
69
69
  return signal;
70
70
  }
71
71
  static { this.errorAtPosition = AccessibilitySignal.register({
72
- name: localize(1559, 'Error at Position'),
72
+ name: localize(1560, 'Error at Position'),
73
73
  sound: Sound.error,
74
- announcementMessage: localize(1560, 'Error'),
74
+ announcementMessage: localize(1561, 'Error'),
75
75
  settingsKey: 'accessibility.signals.positionHasError',
76
76
  delaySettingsKey: 'accessibility.signalOptions.delays.errorAtPosition'
77
77
  }); }
78
78
  static { this.warningAtPosition = AccessibilitySignal.register({
79
- name: localize(1561, 'Warning at Position'),
79
+ name: localize(1562, 'Warning at Position'),
80
80
  sound: Sound.warning,
81
- announcementMessage: localize(1562, 'Warning'),
81
+ announcementMessage: localize(1563, 'Warning'),
82
82
  settingsKey: 'accessibility.signals.positionHasWarning',
83
83
  delaySettingsKey: 'accessibility.signalOptions.delays.warningAtPosition'
84
84
  }); }
85
85
  static { this.errorOnLine = AccessibilitySignal.register({
86
- name: localize(1563, 'Error on Line'),
86
+ name: localize(1564, 'Error on Line'),
87
87
  sound: Sound.error,
88
88
  legacySoundSettingsKey: 'audioCues.lineHasError',
89
89
  legacyAnnouncementSettingsKey: 'accessibility.alert.error',
90
- announcementMessage: localize(1564, 'Error on Line'),
90
+ announcementMessage: localize(1565, 'Error on Line'),
91
91
  settingsKey: 'accessibility.signals.lineHasError',
92
92
  }); }
93
93
  static { this.warningOnLine = AccessibilitySignal.register({
94
- name: localize(1565, 'Warning on Line'),
94
+ name: localize(1566, 'Warning on Line'),
95
95
  sound: Sound.warning,
96
96
  legacySoundSettingsKey: 'audioCues.lineHasWarning',
97
97
  legacyAnnouncementSettingsKey: 'accessibility.alert.warning',
98
- announcementMessage: localize(1566, 'Warning on Line'),
98
+ announcementMessage: localize(1567, 'Warning on Line'),
99
99
  settingsKey: 'accessibility.signals.lineHasWarning',
100
100
  }); }
101
101
  static { this.foldedArea = AccessibilitySignal.register({
102
- name: localize(1567, 'Folded Area on Line'),
102
+ name: localize(1568, 'Folded Area on Line'),
103
103
  sound: Sound.foldedArea,
104
104
  legacySoundSettingsKey: 'audioCues.lineHasFoldedArea',
105
105
  legacyAnnouncementSettingsKey: 'accessibility.alert.foldedArea',
106
- announcementMessage: localize(1568, 'Folded'),
106
+ announcementMessage: localize(1569, 'Folded'),
107
107
  settingsKey: 'accessibility.signals.lineHasFoldedArea',
108
108
  }); }
109
109
  static { this.break = AccessibilitySignal.register({
110
- name: localize(1569, 'Breakpoint on Line'),
110
+ name: localize(1570, 'Breakpoint on Line'),
111
111
  sound: Sound.break,
112
112
  legacySoundSettingsKey: 'audioCues.lineHasBreakpoint',
113
113
  legacyAnnouncementSettingsKey: 'accessibility.alert.breakpoint',
114
- announcementMessage: localize(1570, 'Breakpoint'),
114
+ announcementMessage: localize(1571, 'Breakpoint'),
115
115
  settingsKey: 'accessibility.signals.lineHasBreakpoint',
116
116
  }); }
117
117
  static { this.inlineSuggestion = AccessibilitySignal.register({
118
- name: localize(1571, 'Inline Suggestion on Line'),
118
+ name: localize(1572, 'Inline Suggestion on Line'),
119
119
  sound: Sound.quickFixes,
120
120
  legacySoundSettingsKey: 'audioCues.lineHasInlineSuggestion',
121
121
  settingsKey: 'accessibility.signals.lineHasInlineSuggestion',
122
122
  }); }
123
123
  static { this.nextEditSuggestion = AccessibilitySignal.register({
124
- name: localize(1572, 'Next Edit Suggestion on Line'),
124
+ name: localize(1573, 'Next Edit Suggestion on Line'),
125
125
  sound: Sound.nextEditSuggestion,
126
126
  legacySoundSettingsKey: 'audioCues.nextEditSuggestion',
127
127
  settingsKey: 'accessibility.signals.nextEditSuggestion',
128
- announcementMessage: localize(1573, 'Next Edit Suggestion'),
128
+ announcementMessage: localize(1574, 'Next Edit Suggestion'),
129
129
  }); }
130
130
  static { this.terminalQuickFix = AccessibilitySignal.register({
131
- name: localize(1574, 'Terminal Quick Fix'),
131
+ name: localize(1575, 'Terminal Quick Fix'),
132
132
  sound: Sound.quickFixes,
133
133
  legacySoundSettingsKey: 'audioCues.terminalQuickFix',
134
134
  legacyAnnouncementSettingsKey: 'accessibility.alert.terminalQuickFix',
135
- announcementMessage: localize(1575, 'Quick Fix'),
135
+ announcementMessage: localize(1576, 'Quick Fix'),
136
136
  settingsKey: 'accessibility.signals.terminalQuickFix',
137
137
  }); }
138
138
  static { this.onDebugBreak = AccessibilitySignal.register({
139
- name: localize(1576, 'Debugger Stopped on Breakpoint'),
139
+ name: localize(1577, 'Debugger Stopped on Breakpoint'),
140
140
  sound: Sound.break,
141
141
  legacySoundSettingsKey: 'audioCues.onDebugBreak',
142
142
  legacyAnnouncementSettingsKey: 'accessibility.alert.onDebugBreak',
143
- announcementMessage: localize(1577, 'Breakpoint'),
143
+ announcementMessage: localize(1578, 'Breakpoint'),
144
144
  settingsKey: 'accessibility.signals.onDebugBreak',
145
145
  }); }
146
146
  static { this.noInlayHints = AccessibilitySignal.register({
147
- name: localize(1578, 'No Inlay Hints on Line'),
147
+ name: localize(1579, 'No Inlay Hints on Line'),
148
148
  sound: Sound.error,
149
149
  legacySoundSettingsKey: 'audioCues.noInlayHints',
150
150
  legacyAnnouncementSettingsKey: 'accessibility.alert.noInlayHints',
151
- announcementMessage: localize(1579, 'No Inlay Hints'),
151
+ announcementMessage: localize(1580, 'No Inlay Hints'),
152
152
  settingsKey: 'accessibility.signals.noInlayHints',
153
153
  }); }
154
154
  static { this.taskCompleted = AccessibilitySignal.register({
155
- name: localize(1580, 'Task Completed'),
155
+ name: localize(1581, 'Task Completed'),
156
156
  sound: Sound.taskCompleted,
157
157
  legacySoundSettingsKey: 'audioCues.taskCompleted',
158
158
  legacyAnnouncementSettingsKey: 'accessibility.alert.taskCompleted',
159
- announcementMessage: localize(1581, 'Task Completed'),
159
+ announcementMessage: localize(1582, 'Task Completed'),
160
160
  settingsKey: 'accessibility.signals.taskCompleted',
161
161
  }); }
162
162
  static { this.taskFailed = AccessibilitySignal.register({
163
- name: localize(1582, 'Task Failed'),
163
+ name: localize(1583, 'Task Failed'),
164
164
  sound: Sound.taskFailed,
165
165
  legacySoundSettingsKey: 'audioCues.taskFailed',
166
166
  legacyAnnouncementSettingsKey: 'accessibility.alert.taskFailed',
167
- announcementMessage: localize(1583, 'Task Failed'),
167
+ announcementMessage: localize(1584, 'Task Failed'),
168
168
  settingsKey: 'accessibility.signals.taskFailed',
169
169
  }); }
170
170
  static { this.terminalCommandFailed = AccessibilitySignal.register({
171
- name: localize(1584, 'Terminal Command Failed'),
171
+ name: localize(1585, 'Terminal Command Failed'),
172
172
  sound: Sound.error,
173
173
  legacySoundSettingsKey: 'audioCues.terminalCommandFailed',
174
174
  legacyAnnouncementSettingsKey: 'accessibility.alert.terminalCommandFailed',
175
- announcementMessage: localize(1585, 'Command Failed'),
175
+ announcementMessage: localize(1586, 'Command Failed'),
176
176
  settingsKey: 'accessibility.signals.terminalCommandFailed',
177
177
  }); }
178
178
  static { this.terminalCommandSucceeded = AccessibilitySignal.register({
179
- name: localize(1586, 'Terminal Command Succeeded'),
179
+ name: localize(1587, 'Terminal Command Succeeded'),
180
180
  sound: Sound.terminalCommandSucceeded,
181
- announcementMessage: localize(1587, 'Command Succeeded'),
181
+ announcementMessage: localize(1588, 'Command Succeeded'),
182
182
  settingsKey: 'accessibility.signals.terminalCommandSucceeded',
183
183
  }); }
184
184
  static { this.terminalBell = AccessibilitySignal.register({
185
- name: localize(1588, 'Terminal Bell'),
185
+ name: localize(1589, 'Terminal Bell'),
186
186
  sound: Sound.terminalBell,
187
187
  legacySoundSettingsKey: 'audioCues.terminalBell',
188
188
  legacyAnnouncementSettingsKey: 'accessibility.alert.terminalBell',
189
- announcementMessage: localize(1589, 'Terminal Bell'),
189
+ announcementMessage: localize(1590, 'Terminal Bell'),
190
190
  settingsKey: 'accessibility.signals.terminalBell',
191
191
  }); }
192
192
  static { this.notebookCellCompleted = AccessibilitySignal.register({
193
- name: localize(1590, 'Notebook Cell Completed'),
193
+ name: localize(1591, 'Notebook Cell Completed'),
194
194
  sound: Sound.taskCompleted,
195
195
  legacySoundSettingsKey: 'audioCues.notebookCellCompleted',
196
196
  legacyAnnouncementSettingsKey: 'accessibility.alert.notebookCellCompleted',
197
- announcementMessage: localize(1591, 'Notebook Cell Completed'),
197
+ announcementMessage: localize(1592, 'Notebook Cell Completed'),
198
198
  settingsKey: 'accessibility.signals.notebookCellCompleted',
199
199
  }); }
200
200
  static { this.notebookCellFailed = AccessibilitySignal.register({
201
- name: localize(1592, 'Notebook Cell Failed'),
201
+ name: localize(1593, 'Notebook Cell Failed'),
202
202
  sound: Sound.taskFailed,
203
203
  legacySoundSettingsKey: 'audioCues.notebookCellFailed',
204
204
  legacyAnnouncementSettingsKey: 'accessibility.alert.notebookCellFailed',
205
- announcementMessage: localize(1593, 'Notebook Cell Failed'),
205
+ announcementMessage: localize(1594, 'Notebook Cell Failed'),
206
206
  settingsKey: 'accessibility.signals.notebookCellFailed',
207
207
  }); }
208
208
  static { this.diffLineInserted = AccessibilitySignal.register({
209
- name: localize(1594, 'Diff Line Inserted'),
209
+ name: localize(1595, 'Diff Line Inserted'),
210
210
  sound: Sound.diffLineInserted,
211
211
  legacySoundSettingsKey: 'audioCues.diffLineInserted',
212
212
  settingsKey: 'accessibility.signals.diffLineInserted',
213
213
  }); }
214
214
  static { this.diffLineDeleted = AccessibilitySignal.register({
215
- name: localize(1595, 'Diff Line Deleted'),
215
+ name: localize(1596, 'Diff Line Deleted'),
216
216
  sound: Sound.diffLineDeleted,
217
217
  legacySoundSettingsKey: 'audioCues.diffLineDeleted',
218
218
  settingsKey: 'accessibility.signals.diffLineDeleted',
219
219
  }); }
220
220
  static { this.diffLineModified = AccessibilitySignal.register({
221
- name: localize(1596, 'Diff Line Modified'),
221
+ name: localize(1597, 'Diff Line Modified'),
222
222
  sound: Sound.diffLineModified,
223
223
  legacySoundSettingsKey: 'audioCues.diffLineModified',
224
224
  settingsKey: 'accessibility.signals.diffLineModified',
225
225
  }); }
226
226
  static { this.chatEditModifiedFile = AccessibilitySignal.register({
227
- name: localize(1597, 'Chat Edit Modified File'),
227
+ name: localize(1598, 'Chat Edit Modified File'),
228
228
  sound: Sound.chatEditModifiedFile,
229
- announcementMessage: localize(1598, 'File Modified from Chat Edits'),
229
+ announcementMessage: localize(1599, 'File Modified from Chat Edits'),
230
230
  settingsKey: 'accessibility.signals.chatEditModifiedFile',
231
231
  }); }
232
232
  static { this.chatRequestSent = AccessibilitySignal.register({
233
- name: localize(1599, 'Chat Request Sent'),
233
+ name: localize(1600, 'Chat Request Sent'),
234
234
  sound: Sound.requestSent,
235
235
  legacySoundSettingsKey: 'audioCues.chatRequestSent',
236
236
  legacyAnnouncementSettingsKey: 'accessibility.alert.chatRequestSent',
237
- announcementMessage: localize(1600, 'Chat Request Sent'),
237
+ announcementMessage: localize(1601, 'Chat Request Sent'),
238
238
  settingsKey: 'accessibility.signals.chatRequestSent',
239
239
  }); }
240
240
  static { this.chatResponseReceived = AccessibilitySignal.register({
241
- name: localize(1601, 'Chat Response Received'),
241
+ name: localize(1602, 'Chat Response Received'),
242
242
  legacySoundSettingsKey: 'audioCues.chatResponseReceived',
243
243
  sound: {
244
244
  randomOneOf: [
@@ -251,79 +251,79 @@ export class AccessibilitySignal {
251
251
  settingsKey: 'accessibility.signals.chatResponseReceived'
252
252
  }); }
253
253
  static { this.codeActionTriggered = AccessibilitySignal.register({
254
- name: localize(1602, 'Code Action Request Triggered'),
254
+ name: localize(1603, 'Code Action Request Triggered'),
255
255
  sound: Sound.codeActionTriggered,
256
256
  legacySoundSettingsKey: 'audioCues.codeActionRequestTriggered',
257
257
  legacyAnnouncementSettingsKey: 'accessibility.alert.codeActionRequestTriggered',
258
- announcementMessage: localize(1603, 'Code Action Request Triggered'),
258
+ announcementMessage: localize(1604, 'Code Action Request Triggered'),
259
259
  settingsKey: 'accessibility.signals.codeActionTriggered',
260
260
  }); }
261
261
  static { this.codeActionApplied = AccessibilitySignal.register({
262
- name: localize(1604, 'Code Action Applied'),
262
+ name: localize(1605, 'Code Action Applied'),
263
263
  legacySoundSettingsKey: 'audioCues.codeActionApplied',
264
264
  sound: Sound.codeActionApplied,
265
265
  settingsKey: 'accessibility.signals.codeActionApplied'
266
266
  }); }
267
267
  static { this.progress = AccessibilitySignal.register({
268
- name: localize(1605, 'Progress'),
268
+ name: localize(1606, 'Progress'),
269
269
  sound: Sound.progress,
270
270
  legacySoundSettingsKey: 'audioCues.chatResponsePending',
271
271
  legacyAnnouncementSettingsKey: 'accessibility.alert.progress',
272
- announcementMessage: localize(1606, 'Progress'),
272
+ announcementMessage: localize(1607, 'Progress'),
273
273
  settingsKey: 'accessibility.signals.progress'
274
274
  }); }
275
275
  static { this.clear = AccessibilitySignal.register({
276
- name: localize(1607, 'Clear'),
276
+ name: localize(1608, 'Clear'),
277
277
  sound: Sound.clear,
278
278
  legacySoundSettingsKey: 'audioCues.clear',
279
279
  legacyAnnouncementSettingsKey: 'accessibility.alert.clear',
280
- announcementMessage: localize(1608, 'Clear'),
280
+ announcementMessage: localize(1609, 'Clear'),
281
281
  settingsKey: 'accessibility.signals.clear'
282
282
  }); }
283
283
  static { this.save = AccessibilitySignal.register({
284
- name: localize(1609, 'Save'),
284
+ name: localize(1610, 'Save'),
285
285
  sound: Sound.save,
286
286
  legacySoundSettingsKey: 'audioCues.save',
287
287
  legacyAnnouncementSettingsKey: 'accessibility.alert.save',
288
- announcementMessage: localize(1610, 'Save'),
288
+ announcementMessage: localize(1611, 'Save'),
289
289
  settingsKey: 'accessibility.signals.save'
290
290
  }); }
291
291
  static { this.format = AccessibilitySignal.register({
292
- name: localize(1611, 'Format'),
292
+ name: localize(1612, 'Format'),
293
293
  sound: Sound.format,
294
294
  legacySoundSettingsKey: 'audioCues.format',
295
295
  legacyAnnouncementSettingsKey: 'accessibility.alert.format',
296
- announcementMessage: localize(1612, 'Format'),
296
+ announcementMessage: localize(1613, 'Format'),
297
297
  settingsKey: 'accessibility.signals.format'
298
298
  }); }
299
299
  static { this.voiceRecordingStarted = AccessibilitySignal.register({
300
- name: localize(1613, 'Voice Recording Started'),
300
+ name: localize(1614, 'Voice Recording Started'),
301
301
  sound: Sound.voiceRecordingStarted,
302
302
  legacySoundSettingsKey: 'audioCues.voiceRecordingStarted',
303
303
  settingsKey: 'accessibility.signals.voiceRecordingStarted'
304
304
  }); }
305
305
  static { this.voiceRecordingStopped = AccessibilitySignal.register({
306
- name: localize(1614, 'Voice Recording Stopped'),
306
+ name: localize(1615, 'Voice Recording Stopped'),
307
307
  sound: Sound.voiceRecordingStopped,
308
308
  legacySoundSettingsKey: 'audioCues.voiceRecordingStopped',
309
309
  settingsKey: 'accessibility.signals.voiceRecordingStopped'
310
310
  }); }
311
311
  static { this.editsKept = AccessibilitySignal.register({
312
- name: localize(1615, 'Edits Kept'),
312
+ name: localize(1616, 'Edits Kept'),
313
313
  sound: Sound.editsKept,
314
- announcementMessage: localize(1616, 'Edits Kept'),
314
+ announcementMessage: localize(1617, 'Edits Kept'),
315
315
  settingsKey: 'accessibility.signals.editsKept',
316
316
  }); }
317
317
  static { this.editsUndone = AccessibilitySignal.register({
318
- name: localize(1617, 'Undo Edits'),
318
+ name: localize(1618, 'Undo Edits'),
319
319
  sound: Sound.editsUndone,
320
- announcementMessage: localize(1618, 'Edits Undone'),
320
+ announcementMessage: localize(1619, 'Edits Undone'),
321
321
  settingsKey: 'accessibility.signals.editsUndone',
322
322
  }); }
323
323
  static { this.chatUserActionRequired = AccessibilitySignal.register({
324
- name: localize(1619, 'Chat User Action Required'),
324
+ name: localize(1620, 'Chat User Action Required'),
325
325
  sound: Sound.chatUserActionRequired,
326
- announcementMessage: localize(1620, 'Chat User Action Required'),
326
+ announcementMessage: localize(1621, 'Chat User Action Required'),
327
327
  settingsKey: 'accessibility.signals.chatUserActionRequired',
328
328
  managesOwnEnablement: true
329
329
  }); }
@@ -4,11 +4,11 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import { localize2 } from '../../../nls.js';
6
6
  export const Categories = Object.freeze({
7
- View: localize2(1621, 'View'),
8
- Help: localize2(1622, 'Help'),
9
- Test: localize2(1623, 'Test'),
10
- File: localize2(1624, 'File'),
11
- Preferences: localize2(1625, 'Preferences'),
12
- Developer: localize2(1626, "Developer"),
7
+ View: localize2(1622, 'View'),
8
+ Help: localize2(1623, 'Help'),
9
+ Test: localize2(1624, 'Test'),
10
+ File: localize2(1625, 'File'),
11
+ Preferences: localize2(1626, 'Preferences'),
12
+ Developer: localize2(1627, "Developer"),
13
13
  });
14
14
  //# sourceMappingURL=actionCommonCategories.js.map
@@ -119,10 +119,10 @@ let ActionItemRenderer = class ActionItemRenderer {
119
119
  }
120
120
  else if (actionTitle && previewTitle) {
121
121
  if (this._supportsPreview && element.canPreview) {
122
- data.container.title = localize(1636, "{0} to Apply, {1} to Preview", actionTitle, previewTitle);
122
+ data.container.title = localize(1637, "{0} to Apply, {1} to Preview", actionTitle, previewTitle);
123
123
  }
124
124
  else {
125
- data.container.title = localize(1637, "{0} to Apply", actionTitle);
125
+ data.container.title = localize(1638, "{0} to Apply", actionTitle);
126
126
  }
127
127
  }
128
128
  else {
@@ -191,13 +191,13 @@ let ActionList = class ActionList extends Disposable {
191
191
  label = label + ', ' + stripNewlines(element.description);
192
192
  }
193
193
  if (element.disabled) {
194
- label = localize(1638, "{0}, Disabled Reason: {1}", label, element.disabled);
194
+ label = localize(1639, "{0}, Disabled Reason: {1}", label, element.disabled);
195
195
  }
196
196
  return label;
197
197
  }
198
198
  return null;
199
199
  },
200
- getWidgetAriaLabel: () => localize(1639, "Action Widget"),
200
+ getWidgetAriaLabel: () => localize(1640, "Action Widget"),
201
201
  getRole: (e) => {
202
202
  switch (e.kind) {
203
203
  case "action" /* ActionListItemKind.Action */: