@codingame/monaco-vscode-api 1.83.1 → 1.83.3-next.0

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 (233) hide show
  1. package/extensions.d.ts +3 -3
  2. package/extensions.js +31 -33
  3. package/l10n.d.ts +4 -0
  4. package/l10n.js +10 -0
  5. package/missing-services.js +4 -2
  6. package/monaco-editor-treemending.patch +12268 -1070
  7. package/monaco-treemending.js +8 -2
  8. package/package.json +8 -1
  9. package/service-override/extensions.js +2 -2
  10. package/service-override/layout.js +2 -2
  11. package/tools/l10n.js +177 -0
  12. package/tools.js +22 -1
  13. package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
  14. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +2 -2
  15. package/vscode/src/vs/base/common/date.js +55 -55
  16. package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -10
  17. package/vscode/src/vs/base/common/tfIdf.js +137 -0
  18. package/vscode/src/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +23 -0
  19. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +115 -0
  20. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +112 -0
  21. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +334 -0
  22. package/vscode/src/vs/platform/dialogs/common/dialogs.js +10 -14
  23. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -0
  24. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +2 -2
  25. package/vscode/src/vs/platform/files/common/fileService.js +28 -37
  26. package/vscode/src/vs/platform/files/common/files.js +6 -6
  27. package/vscode/src/vs/platform/files/common/io.js +2 -2
  28. package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +3 -9
  29. package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +300 -0
  30. package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +59 -0
  31. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +212 -0
  32. package/vscode/src/vs/platform/request/common/request.js +2 -2
  33. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -63
  34. package/vscode/src/vs/platform/workspaces/common/workspaces.js +15 -15
  35. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +13 -32
  36. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +2 -2
  37. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +50 -52
  38. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +58 -69
  39. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +4 -5
  40. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +38 -50
  41. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +23 -23
  42. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +21 -53
  43. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
  44. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +4 -5
  45. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +6 -2
  46. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +4 -2
  47. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
  48. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -12
  49. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +15 -9
  50. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +16 -20
  51. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +6 -28
  52. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +60 -0
  53. package/vscode/src/vs/workbench/api/common/extHostChat.js +3 -3
  54. package/vscode/src/vs/workbench/api/common/extHostCommands.js +59 -65
  55. package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.js +8 -8
  56. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +2 -6
  57. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  58. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +150 -222
  59. package/vscode/src/vs/workbench/api/common/extHostLogService.js +2 -2
  60. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +3 -3
  61. package/vscode/src/vs/workbench/api/common/extHostProgress.js +2 -6
  62. package/vscode/src/vs/workbench/api/common/extHostSCM.js +54 -58
  63. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +3 -7
  64. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +2 -6
  65. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +2 -6
  66. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +55 -57
  67. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +28 -28
  68. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +265 -277
  69. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +2 -7
  70. package/vscode/src/vs/workbench/api/common/extensionHostMain.js +17 -19
  71. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +9 -34
  72. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +5 -5
  73. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +898 -68
  74. package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +7 -7
  75. package/vscode/src/vs/workbench/browser/actions/windowActions.js +32 -38
  76. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +103 -13
  77. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +2 -2
  78. package/vscode/src/vs/workbench/browser/editor.js +3 -3
  79. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +12 -27
  80. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +12 -12
  81. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +2 -7
  82. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +4 -7
  83. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +42 -90
  84. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +140 -272
  85. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +115 -148
  86. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +21 -33
  87. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +7 -19
  88. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -26
  89. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +7 -17
  90. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +60 -81
  91. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +27 -33
  92. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -2
  93. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +19 -32
  94. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +2 -2
  95. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +8 -8
  96. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +69 -34
  97. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +58 -34
  98. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -2
  99. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -9
  100. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +6 -6
  101. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +7 -11
  102. package/vscode/src/vs/workbench/browser/quickaccess.js +7 -3
  103. package/vscode/src/vs/workbench/browser/workbench.contribution.js +186 -683
  104. package/vscode/src/vs/workbench/common/configuration.js +12 -15
  105. package/vscode/src/vs/workbench/common/contextkeys.js +272 -90
  106. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +2 -2
  107. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -7
  108. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +2 -6
  109. package/vscode/src/vs/workbench/common/editor.js +5 -5
  110. package/vscode/src/vs/workbench/common/theme.js +137 -527
  111. package/vscode/src/vs/workbench/common/views.js +4 -8
  112. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +15 -55
  113. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +3 -8
  114. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +22 -60
  115. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +9 -15
  116. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +18 -48
  117. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +58 -74
  118. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +2 -0
  119. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +5 -10
  120. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +5 -13
  121. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +8 -27
  122. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +5 -17
  123. package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +6 -15
  124. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +7 -20
  125. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
  126. package/vscode/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js +63 -216
  127. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +4 -7
  128. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +5 -8
  129. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +8 -11
  130. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +5 -15
  131. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -3
  132. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +5 -5
  133. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +3 -6
  134. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +3 -6
  135. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +10 -9
  136. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +6 -15
  137. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +5 -20
  138. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +3 -10
  139. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +4 -4
  140. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -20
  141. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +9 -3
  142. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +4 -13
  143. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +19 -19
  144. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +26 -77
  145. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +5 -17
  146. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +31 -40
  147. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +10 -29
  148. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +10 -10
  149. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +8 -8
  150. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +25 -21
  151. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +2 -2
  152. package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.js +1 -4
  153. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +20 -20
  154. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +56 -98
  155. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +2 -2
  156. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +96 -180
  157. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +25 -79
  158. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -15
  159. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +4 -8
  160. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +56 -19
  161. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +76 -230
  162. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -5
  163. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +33 -103
  164. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +228 -99
  165. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  166. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +5 -9
  167. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +5 -5
  168. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +15 -35
  169. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +5 -8
  170. package/vscode/src/vs/workbench/contrib/files/common/files.js +27 -48
  171. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -6
  172. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  173. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +5 -8
  174. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +112 -52
  175. package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +1 -1
  176. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +2 -2
  177. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +30 -96
  178. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +73 -126
  179. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +3 -3
  180. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +42 -0
  181. package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +23 -29
  182. package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +3 -3
  183. package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +13 -16
  184. package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +15 -34
  185. package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +12 -17
  186. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +2 -2
  187. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +26 -75
  188. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +4 -19
  189. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +4 -4
  190. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +60 -99
  191. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -14
  192. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +26 -13
  193. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +88 -96
  194. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +5 -17
  195. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +7 -28
  196. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +21 -78
  197. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +21 -53
  198. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
  199. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +2 -5
  200. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +113 -348
  201. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.js +2 -5
  202. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +31 -1
  203. package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +1 -4
  204. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  205. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -2
  206. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +2 -5
  207. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +4 -4
  208. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +27 -29
  209. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +104 -141
  210. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +35 -39
  211. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +25 -25
  212. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +80 -296
  213. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +6 -21
  214. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +3 -6
  215. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +24 -81
  216. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +2 -2
  217. package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +11 -17
  218. package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +30 -32
  219. package/vscode/src/vs/workbench/services/language/common/languageService.js +23 -98
  220. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +83 -95
  221. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -5
  222. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +11 -23
  223. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +32 -32
  224. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +2 -7
  225. package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +2 -2
  226. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +16 -53
  227. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +50 -1
  228. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +25 -99
  229. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +16 -16
  230. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +6 -3
  231. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +15 -3
  232. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +2 -2
  233. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +32 -42
@@ -4,7 +4,7 @@ import * as resources from 'monaco-editor/esm/vs/base/common/resources.js';
4
4
  import { isFalsyOrWhitespace } from 'monaco-editor/esm/vs/base/common/strings.js';
5
5
  import { ILanguageService } from 'monaco-editor/esm/vs/editor/common/languages/language.js';
6
6
  import { setSnippetSuggestSupport } from 'monaco-editor/esm/vs/editor/contrib/suggest/browser/suggest.js';
7
- import { localize } from 'monaco-editor/esm/vs/nls.js';
7
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
8
8
  import { IEnvironmentService } from 'monaco-editor/esm/vs/platform/environment/common/environment.js';
9
9
  import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
10
10
  import { ILifecycleService } from '../../../services/lifecycle/common/lifecycle.js';
@@ -25,45 +25,24 @@ import { IUserDataProfileService } from '../../../services/userDataProfile/commo
25
25
  import { insertInto } from 'monaco-editor/esm/vs/base/common/arrays.js';
26
26
  var SnippetEnablement_1, SnippetUsageTimestamps_1;
27
27
  var snippetExt;
28
- ( ((function(snippetExt) {
28
+ ( (function(snippetExt) {
29
29
  function toValidSnippet(extension, snippet, languageService) {
30
30
  if (isFalsyOrWhitespace(snippet.path)) {
31
- extension.collector.error(( (localize(
32
- 'invalid.path.0',
33
- "Expected string in `contributes.{0}.path`. Provided value: {1}",
34
- extension.description.name,
35
- String(snippet.path)
36
- ))));
31
+ extension.collector.error(localizeWithPath('vs/workbench/contrib/snippets/browser/snippetsService', 'invalid.path.0', "Expected string in `contributes.{0}.path`. Provided value: {1}", extension.description.name, String(snippet.path)));
37
32
  return null;
38
33
  }
39
34
  if (isFalsyOrWhitespace(snippet.language) && !snippet.path.endsWith('.code-snippets')) {
40
- extension.collector.error(( (localize(
41
- 'invalid.language.0',
42
- "When omitting the language, the value of `contributes.{0}.path` must be a `.code-snippets`-file. Provided value: {1}",
43
- extension.description.name,
44
- String(snippet.path)
45
- ))));
35
+ extension.collector.error(localizeWithPath('vs/workbench/contrib/snippets/browser/snippetsService', 'invalid.language.0', "When omitting the language, the value of `contributes.{0}.path` must be a `.code-snippets`-file. Provided value: {1}", extension.description.name, String(snippet.path)));
46
36
  return null;
47
37
  }
48
38
  if (!isFalsyOrWhitespace(snippet.language) && !languageService.isRegisteredLanguageId(snippet.language)) {
49
- extension.collector.error(( (localize(
50
- 'invalid.language',
51
- "Unknown language in `contributes.{0}.language`. Provided value: {1}",
52
- extension.description.name,
53
- String(snippet.language)
54
- ))));
39
+ extension.collector.error(localizeWithPath('vs/workbench/contrib/snippets/browser/snippetsService', 'invalid.language', "Unknown language in `contributes.{0}.language`. Provided value: {1}", extension.description.name, String(snippet.language)));
55
40
  return null;
56
41
  }
57
42
  const extensionLocation = extension.description.extensionLocation;
58
43
  const snippetLocation = resources.joinPath(extensionLocation, snippet.path);
59
44
  if (!resources.isEqualOrParent(snippetLocation, extensionLocation)) {
60
- extension.collector.error(( (localize(
61
- 'invalid.path.1',
62
- "Expected `contributes.{0}.path` ({1}) to be included inside extension's folder ({2}). This might make the extension non-portable.",
63
- extension.description.name,
64
- snippetLocation.path,
65
- extensionLocation.path
66
- ))));
45
+ extension.collector.error(localizeWithPath('vs/workbench/contrib/snippets/browser/snippetsService', 'invalid.path.1', "Expected `contributes.{0}.path` ({1}) to be included inside extension's folder ({2}). This might make the extension non-portable.", extension.description.name, snippetLocation.path, extensionLocation.path));
67
46
  return null;
68
47
  }
69
48
  return {
@@ -73,7 +52,7 @@ var snippetExt;
73
52
  }
74
53
  snippetExt.toValidSnippet = toValidSnippet;
75
54
  snippetExt.snippetsContribution = {
76
- description: ( (localize('vscode.extension.contributes.snippets', 'Contributes snippets.'))),
55
+ description: localizeWithPath('vs/workbench/contrib/snippets/browser/snippetsService', 'vscode.extension.contributes.snippets', 'Contributes snippets.'),
77
56
  type: 'array',
78
57
  defaultSnippets: [{ body: [{ language: '', path: '' }] }],
79
58
  items: {
@@ -81,28 +60,22 @@ var snippetExt;
81
60
  defaultSnippets: [{ body: { language: '${1:id}', path: './snippets/${2:id}.json.' } }],
82
61
  properties: {
83
62
  language: {
84
- description: ( (localize(
85
- 'vscode.extension.contributes.snippets-language',
86
- 'Language identifier for which this snippet is contributed to.'
87
- ))),
63
+ description: localizeWithPath('vs/workbench/contrib/snippets/browser/snippetsService', 'vscode.extension.contributes.snippets-language', 'Language identifier for which this snippet is contributed to.'),
88
64
  type: 'string'
89
65
  },
90
66
  path: {
91
- description: ( (localize(
92
- 'vscode.extension.contributes.snippets-path',
93
- 'Path of the snippets file. The path is relative to the extension folder and typically starts with \'./snippets/\'.'
94
- ))),
67
+ description: localizeWithPath('vs/workbench/contrib/snippets/browser/snippetsService', 'vscode.extension.contributes.snippets-path', 'Path of the snippets file. The path is relative to the extension folder and typically starts with \'./snippets/\'.'),
95
68
  type: 'string'
96
69
  }
97
70
  }
98
71
  }
99
72
  };
100
- snippetExt.point = ( (ExtensionsRegistry.registerExtensionPoint({
73
+ snippetExt.point = ( ExtensionsRegistry.registerExtensionPoint({
101
74
  extensionPoint: 'snippets',
102
75
  deps: [languagesExtPoint],
103
76
  jsonSchema: snippetExt.snippetsContribution
104
- })));
105
- })(snippetExt || (snippetExt = {}))));
77
+ }));
78
+ })(snippetExt || (snippetExt = {})));
106
79
  function watch(service, resource, callback) {
107
80
  return combinedDisposable(service.watch(resource), service.onDidFilesChange(e => {
108
81
  if (e.affects(resource)) {
@@ -121,20 +94,18 @@ let SnippetEnablement = class SnippetEnablement {
121
94
  data = JSON.parse(raw);
122
95
  }
123
96
  catch { }
124
- this._ignored = isStringArray(data) ? ( (new Set(data))) : ( (new Set()));
97
+ this._ignored = isStringArray(data) ? ( new Set(data)) : ( new Set());
125
98
  }
126
99
  isIgnored(id) {
127
- return (
128
- (this._ignored.has(id))
129
- );
100
+ return ( this._ignored.has(id));
130
101
  }
131
102
  updateIgnored(id, value) {
132
103
  let changed = false;
133
- if (( (this._ignored.has(id))) && !value) {
104
+ if (( this._ignored.has(id)) && !value) {
134
105
  this._ignored.delete(id);
135
106
  changed = true;
136
107
  }
137
- else if (!( (this._ignored.has(id))) && value) {
108
+ else if (!( this._ignored.has(id)) && value) {
138
109
  this._ignored.add(id);
139
110
  changed = true;
140
111
  }
@@ -143,9 +114,9 @@ let SnippetEnablement = class SnippetEnablement {
143
114
  }
144
115
  }
145
116
  };
146
- SnippetEnablement = SnippetEnablement_1 = ( (__decorate([
147
- ( (__param(0, IStorageService)))
148
- ], SnippetEnablement)));
117
+ SnippetEnablement = SnippetEnablement_1 = ( __decorate([
118
+ ( __param(0, IStorageService))
119
+ ], SnippetEnablement));
149
120
  let SnippetUsageTimestamps = class SnippetUsageTimestamps {
150
121
  static { SnippetUsageTimestamps_1 = this; }
151
122
  static { this._key = 'snippets.usageTimestamps'; }
@@ -159,7 +130,7 @@ let SnippetUsageTimestamps = class SnippetUsageTimestamps {
159
130
  catch {
160
131
  data = [];
161
132
  }
162
- this._usages = Array.isArray(data) ? ( (new Map(data))) : ( (new Map()));
133
+ this._usages = Array.isArray(data) ? ( new Map(data)) : ( new Map());
163
134
  }
164
135
  getUsageTimestamp(id) {
165
136
  return this._usages.get(id);
@@ -171,9 +142,9 @@ let SnippetUsageTimestamps = class SnippetUsageTimestamps {
171
142
  this._storageService.store(SnippetUsageTimestamps_1._key, JSON.stringify(all), 0 , 0 );
172
143
  }
173
144
  };
174
- SnippetUsageTimestamps = SnippetUsageTimestamps_1 = ( (__decorate([
175
- ( (__param(0, IStorageService)))
176
- ], SnippetUsageTimestamps)));
145
+ SnippetUsageTimestamps = SnippetUsageTimestamps_1 = ( __decorate([
146
+ ( __param(0, IStorageService))
147
+ ], SnippetUsageTimestamps));
177
148
  let SnippetsService = class SnippetsService {
178
149
  constructor(_environmentService, _userDataProfileService, _contextService, _languageService, _logService, _fileService, _textfileService, _extensionResourceLoaderService, lifecycleService, instantiationService, languageConfigurationService) {
179
150
  this._environmentService = _environmentService;
@@ -184,15 +155,15 @@ let SnippetsService = class SnippetsService {
184
155
  this._fileService = _fileService;
185
156
  this._textfileService = _textfileService;
186
157
  this._extensionResourceLoaderService = _extensionResourceLoaderService;
187
- this._disposables = ( (new DisposableStore()));
158
+ this._disposables = ( new DisposableStore());
188
159
  this._pendingWork = [];
189
- this._files = ( (new ResourceMap()));
160
+ this._files = ( new ResourceMap());
190
161
  this._pendingWork.push(Promise.resolve(lifecycleService.when(3 ).then(() => {
191
162
  this._initExtensionSnippets();
192
163
  this._initUserSnippets();
193
164
  this._initWorkspaceSnippets();
194
165
  })));
195
- setSnippetSuggestSupport(( (new SnippetCompletionProvider(this._languageService, this, languageConfigurationService))));
166
+ setSnippetSuggestSupport(( new SnippetCompletionProvider(this._languageService, this, languageConfigurationService)));
196
167
  this._enablement = instantiationService.createInstance(SnippetEnablement);
197
168
  this._usageTimestamps = instantiationService.createInstance(SnippetUsageTimestamps);
198
169
  }
@@ -215,9 +186,7 @@ let SnippetsService = class SnippetsService {
215
186
  }
216
187
  async getSnippetFiles() {
217
188
  await this._joinSnippets();
218
- return (
219
- (this._files.values())
220
- );
189
+ return ( this._files.values());
221
190
  }
222
191
  async getSnippets(languageId, opts) {
223
192
  await this._joinSnippets();
@@ -225,18 +194,18 @@ let SnippetsService = class SnippetsService {
225
194
  const promises = [];
226
195
  if (languageId) {
227
196
  if (this._languageService.isRegisteredLanguageId(languageId)) {
228
- for (const file of ( (this._files.values()))) {
197
+ for (const file of ( this._files.values())) {
229
198
  promises.push(file.load()
230
199
  .then(file => file.select(languageId, result))
231
- .catch(err => this._logService.error(err, ( (file.location.toString())))));
200
+ .catch(err => this._logService.error(err, ( file.location.toString()))));
232
201
  }
233
202
  }
234
203
  }
235
204
  else {
236
- for (const file of ( (this._files.values()))) {
205
+ for (const file of ( this._files.values())) {
237
206
  promises.push(file.load()
238
207
  .then(file => insertInto(result, result.length, file.data))
239
- .catch(err => this._logService.error(err, ( (file.location.toString())))));
208
+ .catch(err => this._logService.error(err, ( file.location.toString()))));
240
209
  }
241
210
  }
242
211
  await Promise.all(promises);
@@ -245,7 +214,7 @@ let SnippetsService = class SnippetsService {
245
214
  getSnippetsSync(languageId, opts) {
246
215
  const result = [];
247
216
  if (this._languageService.isRegisteredLanguageId(languageId)) {
248
- for (const file of ( (this._files.values()))) {
217
+ for (const file of ( this._files.values())) {
249
218
  file.load().catch(_err => { });
250
219
  file.select(languageId, result);
251
220
  }
@@ -325,30 +294,22 @@ let SnippetsService = class SnippetsService {
325
294
  }
326
295
  }
327
296
  else {
328
- const file = ( (new SnippetFile(
297
+ const file = ( new SnippetFile(
329
298
  3 ,
330
299
  validContribution.location,
331
300
  validContribution.language ? [validContribution.language] : undefined,
332
301
  extension.description,
333
302
  this._fileService,
334
303
  this._extensionResourceLoaderService
335
- )));
304
+ ));
336
305
  this._files.set(file.location, file);
337
306
  if (this._environmentService.isExtensionDevelopment) {
338
307
  file.load().then(file => {
339
- if (( (file.data.some(snippet => snippet.isBogous)))) {
340
- extension.collector.warn(( (localize(
341
- 'badVariableUse',
342
- "One or more snippets from the extension '{0}' very likely confuse snippet-variables and snippet-placeholders (see https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax for more details)",
343
- extension.description.name
344
- ))));
308
+ if (( file.data.some(snippet => snippet.isBogous))) {
309
+ extension.collector.warn(localizeWithPath('vs/workbench/contrib/snippets/browser/snippetsService', 'badVariableUse', "One or more snippets from the extension '{0}' very likely confuse snippet-variables and snippet-placeholders (see https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax for more details)", extension.description.name));
345
310
  }
346
311
  }, err => {
347
- extension.collector.warn(( (localize(
348
- 'badFile',
349
- "The snippet file \"{0}\" could not be read.",
350
- (file.location.toString())
351
- ))));
312
+ extension.collector.warn(localizeWithPath('vs/workbench/contrib/snippets/browser/snippetsService', 'badFile', "The snippet file \"{0}\" could not be read.", ( file.location.toString())));
352
313
  });
353
314
  }
354
315
  }
@@ -357,7 +318,7 @@ let SnippetsService = class SnippetsService {
357
318
  });
358
319
  }
359
320
  _initWorkspaceSnippets() {
360
- const disposables = ( (new DisposableStore()));
321
+ const disposables = ( new DisposableStore());
361
322
  const updateWorkspaceSnippets = () => {
362
323
  disposables.clear();
363
324
  this._pendingWork.push(this._initWorkspaceFolderSnippets(this._contextService.getWorkspace(), disposables));
@@ -368,7 +329,7 @@ let SnippetsService = class SnippetsService {
368
329
  updateWorkspaceSnippets();
369
330
  }
370
331
  async _initWorkspaceFolderSnippets(workspace, bucket) {
371
- const promises = ( (workspace.folders.map(async (folder) => {
332
+ const promises = ( workspace.folders.map(async (folder) => {
372
333
  const snippetFolder = folder.toResource('.vscode');
373
334
  const value = await this._fileService.exists(snippetFolder);
374
335
  if (value) {
@@ -381,11 +342,11 @@ let SnippetsService = class SnippetsService {
381
342
  }
382
343
  }));
383
344
  }
384
- })));
345
+ }));
385
346
  await Promise.all(promises);
386
347
  }
387
348
  async _initUserSnippets() {
388
- const disposables = ( (new DisposableStore()));
349
+ const disposables = ( new DisposableStore());
389
350
  const updateUserSnippets = async () => {
390
351
  disposables.clear();
391
352
  const userSnippetsFolder = this._userDataProfileService.currentProfile.snippetsHome;
@@ -399,7 +360,7 @@ let SnippetsService = class SnippetsService {
399
360
  await updateUserSnippets();
400
361
  }
401
362
  _initFolderSnippets(source, folder, bucket) {
402
- const disposables = ( (new DisposableStore()));
363
+ const disposables = ( new DisposableStore());
403
364
  const addFolderSnippets = async () => {
404
365
  disposables.clear();
405
366
  if (!(await this._fileService.exists(folder))) {
@@ -412,7 +373,7 @@ let SnippetsService = class SnippetsService {
412
373
  }
413
374
  }
414
375
  catch (err) {
415
- this._logService.error(`Failed snippets from folder '${( ( folder.toString()))}'`, err);
376
+ this._logService.error(`Failed snippets from folder '${( folder.toString())}'`, err);
416
377
  }
417
378
  };
418
379
  bucket.add(this._textfileService.files.onDidSave(e => {
@@ -428,43 +389,43 @@ let SnippetsService = class SnippetsService {
428
389
  const ext = resources.extname(uri);
429
390
  if (source === 1 && ext === '.json') {
430
391
  const langName = resources.basename(uri).replace(/\.json/, '');
431
- this._files.set(uri, ( (new SnippetFile(
392
+ this._files.set(uri, ( new SnippetFile(
432
393
  source,
433
394
  uri,
434
395
  [langName],
435
396
  undefined,
436
397
  this._fileService,
437
398
  this._extensionResourceLoaderService
438
- ))));
399
+ )));
439
400
  }
440
401
  else if (ext === '.code-snippets') {
441
- this._files.set(uri, ( (new SnippetFile(
402
+ this._files.set(uri, ( new SnippetFile(
442
403
  source,
443
404
  uri,
444
405
  undefined,
445
406
  undefined,
446
407
  this._fileService,
447
408
  this._extensionResourceLoaderService
448
- ))));
409
+ )));
449
410
  }
450
411
  return {
451
412
  dispose: () => this._files.delete(uri)
452
413
  };
453
414
  }
454
415
  };
455
- SnippetsService = ( (__decorate([
456
- ( (__param(0, IEnvironmentService))),
457
- ( (__param(1, IUserDataProfileService))),
458
- ( (__param(2, IWorkspaceContextService))),
459
- ( (__param(3, ILanguageService))),
460
- ( (__param(4, ILogService))),
461
- ( (__param(5, IFileService))),
462
- ( (__param(6, ITextFileService))),
463
- ( (__param(7, IExtensionResourceLoaderService))),
464
- ( (__param(8, ILifecycleService))),
465
- ( (__param(9, IInstantiationService))),
466
- ( (__param(10, ILanguageConfigurationService)))
467
- ], SnippetsService)));
416
+ SnippetsService = ( __decorate([
417
+ ( __param(0, IEnvironmentService)),
418
+ ( __param(1, IUserDataProfileService)),
419
+ ( __param(2, IWorkspaceContextService)),
420
+ ( __param(3, ILanguageService)),
421
+ ( __param(4, ILogService)),
422
+ ( __param(5, IFileService)),
423
+ ( __param(6, ITextFileService)),
424
+ ( __param(7, IExtensionResourceLoaderService)),
425
+ ( __param(8, ILifecycleService)),
426
+ ( __param(9, IInstantiationService)),
427
+ ( __param(10, ILanguageConfigurationService))
428
+ ], SnippetsService));
468
429
  function getNonWhitespacePrefix(model, position) {
469
430
  const MAX_PREFIX_LENGTH = 100;
470
431
  const line = model.getLineContent(position.lineNumber).substr(0, position.column - 1);
@@ -10,10 +10,7 @@ const taskDefinitionSchema = {
10
10
  properties: {
11
11
  type: {
12
12
  type: 'string',
13
- description: ( nls.localize(
14
- 'TaskDefinition.description',
15
- 'The actual task type. Please note that types starting with a \'$\' are reserved for internal usage.'
16
- ))
13
+ description: nls.localizeWithPath('vs/workbench/contrib/tasks/common/taskDefinitionRegistry', 'TaskDefinition.description', 'The actual task type. Please note that types starting with a \'$\' are reserved for internal usage.')
17
14
  },
18
15
  required: {
19
16
  type: 'array',
@@ -23,17 +20,14 @@ const taskDefinitionSchema = {
23
20
  },
24
21
  properties: {
25
22
  type: 'object',
26
- description: ( nls.localize('TaskDefinition.properties', 'Additional properties of the task type')),
23
+ description: nls.localizeWithPath('vs/workbench/contrib/tasks/common/taskDefinitionRegistry', 'TaskDefinition.properties', 'Additional properties of the task type'),
27
24
  additionalProperties: {
28
25
  $ref: 'http://json-schema.org/draft-07/schema#'
29
26
  }
30
27
  },
31
28
  when: {
32
29
  type: 'string',
33
- markdownDescription: ( nls.localize(
34
- 'TaskDefinition.when',
35
- 'Condition which must be true to enable this type of task. Consider using `shellExecutionSupported`, `processExecutionSupported`, and `customExecutionSupported` as appropriate for this task definition. See the [API documentation](https://code.visualstudio.com/api/extension-guides/task-provider#when-clause) for more information.'
36
- )),
30
+ markdownDescription: nls.localizeWithPath('vs/workbench/contrib/tasks/common/taskDefinitionRegistry', 'TaskDefinition.when', 'Condition which must be true to enable this type of task. Consider using `shellExecutionSupported`, `processExecutionSupported`, and `customExecutionSupported` as appropriate for this task definition. See the [API documentation](https://code.visualstudio.com/api/extension-guides/task-provider#when-clause) for more information.'),
37
31
  default: ''
38
32
  }
39
33
  }
@@ -46,10 +40,7 @@ var Configuration;
46
40
  }
47
41
  const taskType = types.isString(value.type) ? value.type : undefined;
48
42
  if (!taskType || taskType.length === 0) {
49
- messageCollector.error(( nls.localize(
50
- 'TaskTypeConfiguration.noType',
51
- 'The task type configuration is missing the required \'taskType\' property'
52
- )));
43
+ messageCollector.error(nls.localizeWithPath('vs/workbench/contrib/tasks/common/taskDefinitionRegistry', 'TaskTypeConfiguration.noType', 'The task type configuration is missing the required \'taskType\' property'));
53
44
  return undefined;
54
45
  }
55
46
  const required = [];
@@ -79,7 +70,7 @@ const taskDefinitionsExtPoint = ( ExtensionsRegistry.registerExtensionPoint({
79
70
  }
80
71
  },
81
72
  jsonSchema: {
82
- description: ( nls.localize('TaskDefinitionExtPoint', 'Contributes task kinds')),
73
+ description: nls.localizeWithPath('vs/workbench/contrib/tasks/common/taskDefinitionRegistry', 'TaskDefinitionExtPoint', 'Contributes task kinds'),
83
74
  type: 'array',
84
75
  items: taskDefinitionSchema
85
76
  }
@@ -1,18 +1,31 @@
1
1
  import * as nls from 'monaco-editor/esm/vs/nls.js';
2
2
  import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
3
- import { ContextKeyExpr, RawContextKey } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
4
- const CustomExecutionSupportedContext = ( new RawContextKey('customExecutionSupported', false, ( nls.localize(
5
- 'tasks.customExecutionSupported',
6
- "Whether CustomExecution tasks are supported. Consider using in the when clause of a \'taskDefinition\' contribution."
7
- ))));
8
- const ShellExecutionSupportedContext = ( new RawContextKey('shellExecutionSupported', false, ( nls.localize(
9
- 'tasks.shellExecutionSupported',
10
- "Whether ShellExecution tasks are supported. Consider using in the when clause of a \'taskDefinition\' contribution."
11
- ))));
12
- const ProcessExecutionSupportedContext = ( new RawContextKey('processExecutionSupported', false, ( nls.localize(
13
- 'tasks.processExecutionSupported',
14
- "Whether ProcessExecution tasks are supported. Consider using in the when clause of a \'taskDefinition\' contribution."
15
- ))));
3
+ import { RawContextKey, ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
4
+ const CustomExecutionSupportedContext = ( new RawContextKey(
5
+ 'customExecutionSupported',
6
+ false,
7
+ nls.localizeWithPath('vs/workbench/contrib/tasks/common/taskService', 'tasks.customExecutionSupported', "Whether CustomExecution tasks are supported. Consider using in the when clause of a \'taskDefinition\' contribution.")
8
+ ));
9
+ const ShellExecutionSupportedContext = ( new RawContextKey(
10
+ 'shellExecutionSupported',
11
+ false,
12
+ nls.localizeWithPath('vs/workbench/contrib/tasks/common/taskService', 'tasks.shellExecutionSupported', "Whether ShellExecution tasks are supported. Consider using in the when clause of a \'taskDefinition\' contribution.")
13
+ ));
14
+ ( new RawContextKey(
15
+ 'taskCommandsRegistered',
16
+ false,
17
+ nls.localizeWithPath('vs/workbench/contrib/tasks/common/taskService', 'tasks.taskCommandsRegistered', "Whether the task commands have been registered yet")
18
+ ));
19
+ const ProcessExecutionSupportedContext = ( new RawContextKey(
20
+ 'processExecutionSupported',
21
+ false,
22
+ nls.localizeWithPath('vs/workbench/contrib/tasks/common/taskService', 'tasks.processExecutionSupported', "Whether ProcessExecution tasks are supported. Consider using in the when clause of a \'taskDefinition\' contribution.")
23
+ ));
24
+ ( new RawContextKey(
25
+ 'serverlessWebContext',
26
+ false,
27
+ nls.localizeWithPath('vs/workbench/contrib/tasks/common/taskService', 'tasks.serverlessWebContext', "True when in the web with no remote authority.")
28
+ ));
16
29
  const TaskExecutionSupportedContext = ( ContextKeyExpr.or(( ContextKeyExpr.and(ShellExecutionSupportedContext, ProcessExecutionSupportedContext)), CustomExecutionSupportedContext));
17
30
  const ITaskService = ( createDecorator('taskService'));
18
31
  export { CustomExecutionSupportedContext, ITaskService, ProcessExecutionSupportedContext, ShellExecutionSupportedContext, TaskExecutionSupportedContext };