monaco-editor-core 0.54.0 → 0.55.0-dev-20251007

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 (251) hide show
  1. package/esm/nls.messages.de.js +1 -1
  2. package/esm/nls.messages.es.js +1 -1
  3. package/esm/nls.messages.fr.js +1 -1
  4. package/esm/nls.messages.it.js +1 -1
  5. package/esm/nls.messages.ja.js +1 -1
  6. package/esm/nls.messages.ko.js +1 -1
  7. package/esm/nls.messages.ru.js +1 -1
  8. package/esm/nls.messages.zh-cn.js +1 -1
  9. package/esm/nls.messages.zh-tw.js +1 -1
  10. package/esm/vs/base/browser/canIUse.js +1 -0
  11. package/esm/vs/base/browser/canIUse.js.map +1 -1
  12. package/esm/vs/base/browser/dom.js +9 -0
  13. package/esm/vs/base/browser/dom.js.map +1 -1
  14. package/esm/vs/base/browser/fastDomNode.js.map +1 -1
  15. package/esm/vs/base/browser/mouseEvent.js +3 -0
  16. package/esm/vs/base/browser/mouseEvent.js.map +1 -1
  17. package/esm/vs/base/browser/trustedTypes.js +2 -0
  18. package/esm/vs/base/browser/trustedTypes.js.map +1 -1
  19. package/esm/vs/base/browser/ui/list/listWidget.js +5 -5
  20. package/esm/vs/base/browser/ui/list/listWidget.js.map +1 -1
  21. package/esm/vs/base/browser/ui/sash/sash.css +1 -1
  22. package/esm/vs/base/browser/ui/sash/sash.js +4 -0
  23. package/esm/vs/base/browser/ui/sash/sash.js.map +1 -1
  24. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js +1 -1
  25. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js.map +1 -1
  26. package/esm/vs/base/browser/ui/table/table.css +2 -2
  27. package/esm/vs/base/browser/ui/tree/abstractTree.js +7 -3
  28. package/esm/vs/base/browser/ui/tree/abstractTree.js.map +1 -1
  29. package/esm/vs/base/browser/ui/tree/asyncDataTree.js +4 -0
  30. package/esm/vs/base/browser/ui/tree/asyncDataTree.js.map +1 -1
  31. package/esm/vs/base/browser/ui/tree/indexTreeModel.js +1 -0
  32. package/esm/vs/base/browser/ui/tree/indexTreeModel.js.map +1 -1
  33. package/esm/vs/base/browser/ui/tree/media/tree.css +2 -2
  34. package/esm/vs/base/browser/webWorkerFactory.js +3 -0
  35. package/esm/vs/base/browser/webWorkerFactory.js.map +1 -1
  36. package/esm/vs/base/common/buffer.js.map +1 -1
  37. package/esm/vs/base/common/decorators.js +1 -0
  38. package/esm/vs/base/common/decorators.js.map +1 -1
  39. package/esm/vs/base/common/errors.js +1 -0
  40. package/esm/vs/base/common/errors.js.map +1 -1
  41. package/esm/vs/base/common/glob.js +1 -1
  42. package/esm/vs/base/common/glob.js.map +1 -1
  43. package/esm/vs/base/common/hash.js.map +1 -1
  44. package/esm/vs/base/common/hotReload.js +2 -0
  45. package/esm/vs/base/common/hotReload.js.map +1 -1
  46. package/esm/vs/base/common/hotReloadHelpers.js +1 -0
  47. package/esm/vs/base/common/hotReloadHelpers.js.map +1 -1
  48. package/esm/vs/base/common/lifecycle.js +19 -0
  49. package/esm/vs/base/common/lifecycle.js.map +1 -1
  50. package/esm/vs/base/common/map.js.map +1 -1
  51. package/esm/vs/base/common/marshalling.js +4 -0
  52. package/esm/vs/base/common/marshalling.js.map +1 -1
  53. package/esm/vs/base/common/network.js +1 -0
  54. package/esm/vs/base/common/network.js.map +1 -1
  55. package/esm/vs/base/common/objects.js +1 -0
  56. package/esm/vs/base/common/objects.js.map +1 -1
  57. package/esm/vs/base/common/observableInternal/changeTracker.js +4 -0
  58. package/esm/vs/base/common/observableInternal/changeTracker.js.map +1 -1
  59. package/esm/vs/base/common/observableInternal/debugLocation.js +1 -0
  60. package/esm/vs/base/common/observableInternal/debugLocation.js.map +1 -1
  61. package/esm/vs/base/common/observableInternal/debugName.js +1 -0
  62. package/esm/vs/base/common/observableInternal/debugName.js.map +1 -1
  63. package/esm/vs/base/common/observableInternal/logging/consoleObservableLogger.js +1 -0
  64. package/esm/vs/base/common/observableInternal/logging/consoleObservableLogger.js.map +1 -1
  65. package/esm/vs/base/common/observableInternal/logging/debugger/debuggerRpc.js +1 -0
  66. package/esm/vs/base/common/observableInternal/logging/debugger/debuggerRpc.js.map +1 -1
  67. package/esm/vs/base/common/observableInternal/logging/debugger/rpc.js +1 -0
  68. package/esm/vs/base/common/observableInternal/logging/debugger/rpc.js.map +1 -1
  69. package/esm/vs/base/common/observableInternal/observables/derived.js +7 -1
  70. package/esm/vs/base/common/observableInternal/observables/derived.js.map +1 -1
  71. package/esm/vs/base/common/observableInternal/observables/derivedImpl.js +2 -0
  72. package/esm/vs/base/common/observableInternal/observables/derivedImpl.js.map +1 -1
  73. package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js +1 -0
  74. package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js.map +1 -1
  75. package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js +1 -0
  76. package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js.map +1 -1
  77. package/esm/vs/base/common/process.js +1 -0
  78. package/esm/vs/base/common/process.js.map +1 -1
  79. package/esm/vs/base/common/product.js.map +1 -1
  80. package/esm/vs/base/common/types.js +2 -0
  81. package/esm/vs/base/common/types.js.map +1 -1
  82. package/esm/vs/base/common/worker/webWorker.js +26 -14
  83. package/esm/vs/base/common/worker/webWorker.js.map +1 -1
  84. package/esm/vs/base/parts/sandbox/common/sandboxTypes.js +2 -0
  85. package/esm/vs/base/parts/sandbox/common/sandboxTypes.js.map +1 -0
  86. package/esm/vs/editor/browser/config/editorConfiguration.js +3 -2
  87. package/esm/vs/editor/browser/config/editorConfiguration.js.map +1 -1
  88. package/esm/vs/editor/browser/config/migrateOptions.js +1 -1
  89. package/esm/vs/editor/browser/config/migrateOptions.js.map +1 -1
  90. package/esm/vs/editor/browser/controller/editContext/native/editContextFactory.js.map +1 -1
  91. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContextUtils.js +2 -0
  92. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContextUtils.js.map +1 -1
  93. package/esm/vs/editor/browser/controller/mouseHandler.js +2 -1
  94. package/esm/vs/editor/browser/controller/mouseHandler.js.map +1 -1
  95. package/esm/vs/editor/browser/controller/mouseTarget.js +7 -0
  96. package/esm/vs/editor/browser/controller/mouseTarget.js.map +1 -1
  97. package/esm/vs/editor/browser/controller/pointerHandler.js.map +1 -1
  98. package/esm/vs/editor/browser/coreCommands.js.map +1 -1
  99. package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
  100. package/esm/vs/editor/browser/editorDom.js.map +1 -1
  101. package/esm/vs/editor/browser/editorExtensions.js.map +1 -1
  102. package/esm/vs/editor/browser/gpu/gpuUtils.js +1 -0
  103. package/esm/vs/editor/browser/gpu/gpuUtils.js.map +1 -1
  104. package/esm/vs/editor/browser/gpu/viewGpuContext.js +1 -0
  105. package/esm/vs/editor/browser/gpu/viewGpuContext.js.map +1 -1
  106. package/esm/vs/editor/browser/services/abstractCodeEditorService.js.map +1 -1
  107. package/esm/vs/editor/browser/services/bulkEditService.js.map +1 -1
  108. package/esm/vs/editor/browser/services/codeEditorService.js.map +1 -1
  109. package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
  110. package/esm/vs/editor/browser/services/hoverService/hover.css +2 -0
  111. package/esm/vs/editor/browser/services/hoverService/hoverService.js.map +1 -1
  112. package/esm/vs/editor/browser/services/hoverService/hoverWidget.js +1 -1
  113. package/esm/vs/editor/browser/services/hoverService/hoverWidget.js.map +1 -1
  114. package/esm/vs/editor/browser/services/inlineCompletionsService.js +8 -8
  115. package/esm/vs/editor/browser/services/inlineCompletionsService.js.map +1 -1
  116. package/esm/vs/editor/browser/services/openerService.js.map +1 -1
  117. package/esm/vs/editor/browser/view/viewLayer.js +1 -1
  118. package/esm/vs/editor/browser/view/viewLayer.js.map +1 -1
  119. package/esm/vs/editor/browser/view.js.map +1 -1
  120. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -0
  121. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js.map +1 -1
  122. package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js +1 -0
  123. package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js.map +1 -1
  124. package/esm/vs/editor/browser/widget/codeEditor/codeEditorContributions.js.map +1 -1
  125. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +4 -1
  126. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
  127. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -0
  128. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js.map +1 -1
  129. package/esm/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js.map +1 -1
  130. package/esm/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -0
  131. package/esm/vs/editor/browser/widget/diffEditor/diffEditorOptions.js.map +1 -1
  132. package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +1 -0
  133. package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js.map +1 -1
  134. package/esm/vs/editor/browser/widget/diffEditor/utils.js +2 -0
  135. package/esm/vs/editor/browser/widget/diffEditor/utils.js.map +1 -1
  136. package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +2 -0
  137. package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js.map +1 -1
  138. package/esm/vs/editor/common/config/editorOptions.js +122 -68
  139. package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
  140. package/esm/vs/editor/common/config/fontInfo.js +32 -16
  141. package/esm/vs/editor/common/config/fontInfo.js.map +1 -1
  142. package/esm/vs/editor/common/config/fontInfoFromSettings.js +16 -0
  143. package/esm/vs/editor/common/config/fontInfoFromSettings.js.map +1 -0
  144. package/esm/vs/editor/common/core/edits/edit.js +1 -0
  145. package/esm/vs/editor/common/core/edits/edit.js.map +1 -1
  146. package/esm/vs/editor/common/core/edits/stringEdit.js +2 -0
  147. package/esm/vs/editor/common/core/edits/stringEdit.js.map +1 -1
  148. package/esm/vs/editor/common/core/position.js +1 -1
  149. package/esm/vs/editor/common/core/position.js.map +1 -1
  150. package/esm/vs/editor/common/core/range.js +1 -1
  151. package/esm/vs/editor/common/core/range.js.map +1 -1
  152. package/esm/vs/editor/common/core/selection.js +1 -1
  153. package/esm/vs/editor/common/core/selection.js.map +1 -1
  154. package/esm/vs/editor/common/cursor/cursorMoveCommands.js.map +1 -1
  155. package/esm/vs/editor/common/editorCommon.js.map +1 -1
  156. package/esm/vs/editor/common/languages.js +1 -1
  157. package/esm/vs/editor/common/languages.js.map +1 -1
  158. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +14 -0
  159. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js.map +1 -1
  160. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js +2 -0
  161. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js.map +1 -1
  162. package/esm/vs/editor/common/model/textModel.js +1 -1
  163. package/esm/vs/editor/common/model/textModel.js.map +1 -1
  164. package/esm/vs/editor/common/model.js +1 -1
  165. package/esm/vs/editor/common/model.js.map +1 -1
  166. package/esm/vs/editor/common/services/editorBaseApi.js.map +1 -1
  167. package/esm/vs/editor/common/services/editorWebWorker.js +1 -0
  168. package/esm/vs/editor/common/services/editorWebWorker.js.map +1 -1
  169. package/esm/vs/editor/common/services/editorWorkerHost.js.map +1 -1
  170. package/esm/vs/editor/common/services/modelService.js +14 -21
  171. package/esm/vs/editor/common/services/modelService.js.map +1 -1
  172. package/esm/vs/editor/common/textModelEditSource.js +2 -0
  173. package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
  174. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +40 -1
  175. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js.map +1 -1
  176. package/esm/vs/editor/common/viewModel/viewModelImpl.js +2 -1
  177. package/esm/vs/editor/common/viewModel/viewModelImpl.js.map +1 -1
  178. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +1 -1
  179. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js.map +1 -1
  180. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +1 -1
  181. package/esm/vs/editor/contrib/codelens/browser/codelensController.js.map +1 -1
  182. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js +1 -0
  183. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js.map +1 -1
  184. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -0
  185. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js.map +1 -1
  186. package/esm/vs/editor/contrib/find/browser/findModel.js +1 -0
  187. package/esm/vs/editor/contrib/find/browser/findModel.js.map +1 -1
  188. package/esm/vs/editor/contrib/find/browser/findWidget.css +5 -5
  189. package/esm/vs/editor/contrib/folding/browser/folding.css +4 -4
  190. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js.map +1 -1
  191. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  192. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js.map +1 -1
  193. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +30 -14
  194. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js.map +1 -1
  195. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +4 -3
  196. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  197. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +56 -7
  198. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js.map +1 -1
  199. package/esm/vs/editor/contrib/inlineCompletions/browser/structuredLogger.js +1 -0
  200. package/esm/vs/editor/contrib/inlineCompletions/browser/structuredLogger.js.map +1 -1
  201. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +2 -0
  202. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js.map +1 -1
  203. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +1 -0
  204. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
  205. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  206. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js.map +1 -1
  207. package/esm/vs/editor/contrib/rename/browser/renameWidget.js.map +1 -1
  208. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.css +2 -0
  209. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +2 -0
  210. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js.map +1 -1
  211. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js.map +1 -1
  212. package/esm/vs/editor/editor.api.d.ts +8 -8
  213. package/esm/vs/editor/editor.api.js +4 -0
  214. package/esm/vs/editor/editor.api.js.map +1 -1
  215. package/esm/vs/editor/standalone/browser/standaloneCodeEditor.js.map +1 -1
  216. package/esm/vs/editor/standalone/browser/standaloneEditor.js +37 -0
  217. package/esm/vs/editor/standalone/browser/standaloneEditor.js.map +1 -1
  218. package/esm/vs/editor/standalone/browser/standaloneLanguages.js +37 -0
  219. package/esm/vs/editor/standalone/browser/standaloneLanguages.js.map +1 -1
  220. package/esm/vs/editor/standalone/browser/standaloneServices.js.map +1 -1
  221. package/esm/vs/editor/standalone/browser/standaloneWebWorker.js.map +1 -1
  222. package/esm/vs/editor/standalone/common/monarch/monarchCompile.js +3 -0
  223. package/esm/vs/editor/standalone/common/monarch/monarchCompile.js.map +1 -1
  224. package/esm/vs/platform/accessibility/browser/accessibilityService.js +2 -2
  225. package/esm/vs/platform/accessibility/browser/accessibilityService.js.map +1 -1
  226. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  227. package/esm/vs/platform/commands/common/commands.js.map +1 -1
  228. package/esm/vs/platform/contextkey/common/contextkey.js +5 -0
  229. package/esm/vs/platform/contextkey/common/contextkey.js.map +1 -1
  230. package/esm/vs/platform/dataChannel/browser/forwardingTelemetryService.js +1 -0
  231. package/esm/vs/platform/dataChannel/browser/forwardingTelemetryService.js.map +1 -1
  232. package/esm/vs/platform/dnd/browser/dnd.js +2 -0
  233. package/esm/vs/platform/dnd/browser/dnd.js.map +1 -1
  234. package/esm/vs/platform/instantiation/common/descriptors.js.map +1 -1
  235. package/esm/vs/platform/instantiation/common/instantiation.js.map +1 -1
  236. package/esm/vs/platform/instantiation/common/instantiationService.js +1 -0
  237. package/esm/vs/platform/instantiation/common/instantiationService.js.map +1 -1
  238. package/esm/vs/platform/list/browser/listService.js +5 -0
  239. package/esm/vs/platform/list/browser/listService.js.map +1 -1
  240. package/esm/vs/platform/log/common/log.js.map +1 -1
  241. package/esm/vs/platform/log/common/logService.js.map +1 -1
  242. package/esm/vs/platform/observable/common/wrapInHotClass.js +2 -0
  243. package/esm/vs/platform/observable/common/wrapInHotClass.js.map +1 -1
  244. package/esm/vs/platform/observable/common/wrapInReloadableClass.js +3 -0
  245. package/esm/vs/platform/observable/common/wrapInReloadableClass.js.map +1 -1
  246. package/esm/vs/platform/product/common/product.js +69 -0
  247. package/esm/vs/platform/product/common/product.js.map +1 -0
  248. package/esm/vs/platform/quickinput/browser/quickInput.js +1 -1
  249. package/esm/vs/platform/quickinput/browser/quickInput.js.map +1 -1
  250. package/monaco.d.ts +8 -8
  251. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/standalone/browser/standaloneEditor.ts","vs/editor/standalone/browser/standaloneEditor.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,eAAe,EAAe,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAoB,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAA8C,eAAe,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAChI,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACnH,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAGzE,OAAO,EAAE,UAAU,EAAe,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAc,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,eAAe,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAA+C,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAmJ,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACtP,OAAO,EAA2B,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEnH,OAAO,EAAwB,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAa,MAAM,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAmB,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAwB,cAAc,EAAE,MAAM,6CAA6C,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+DAA+D,CAAC;AAEtG;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,UAAuB,EAAE,OAA8C,EAAE,QAAkC;IACjI,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC3E,OAAO,oBAAoB,CAAC,cAAc,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA2C;IAC5E,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrE,OAAO,iBAAiB,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE;QACnD,QAAQ,CAAc,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAA2C;IAChF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrE,OAAO,iBAAiB,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE;QACnD,QAAQ,CAAc,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACzB,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrE,OAAO,iBAAiB,CAAC,eAAe,EAAE,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC7B,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrE,OAAO,iBAAiB,CAAC,eAAe,EAAE,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAuB,EAAE,OAAkD,EAAE,QAAkC;IAC/I,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC3E,OAAO,oBAAoB,CAAC,cAAc,CAAC,qBAAqB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAuB,EAAE,QAAkC;IACpG,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC3E,OAAO,IAAI,qBAAqB,CAAC,UAAU,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAC;AACxE,CAAC;AAgBD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,UAA8B;IACxD,IAAI,CAAC,OAAO,UAAU,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,GAAG,KAAK,UAAU,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,UAA6B;IAC5D,IAAI,CAAC,OAAO,UAAU,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,GAAG,KAAK,UAAU,CAAC,EAAE,CAAC;QAC7H,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,CAAC,QAA0B,EAAE,GAAG,IAAW,EAAwB,EAAE;QAChF,OAAO,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnJ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IAExC,uBAAuB;IACvB,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAEpE,iCAAiC;IACjC,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAc;YAC3B,OAAO,EAAE;gBACR,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,KAAK,EAAE,UAAU,CAAC,KAAK;aACvB;YACD,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,UAAU,CAAC,kBAAkB;YACpC,KAAK,EAAE,UAAU,CAAC,gBAAgB,IAAI,CAAC;SACvC,CAAC;QACF,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,2BAA2B;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACrE,IAAI,CAAC,CAAC,iBAAiB,YAAY,2BAA2B,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,+FAA+F,CAAC,CAAC;QAC/G,CAAC;aAAM,CAAC;YACP,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACnH,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC/F,OAAO;oBACN,UAAU;oBACV,OAAO,EAAE,UAAU,CAAC,EAAE;oBACtB,IAAI,EAAE,eAAe;iBACrB,CAAC;YACH,CAAC,CAAC,CAAC,CAAC,CAAC;QACN,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAYD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACtD,OAAO,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IAC1D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrE,IAAI,CAAC,CAAC,iBAAiB,YAAY,2BAA2B,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,+FAA+F,CAAC,CAAC;QAC9G,OAAO,UAAU,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,OAAO,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjE,OAAO;YACN,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3C,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,QAAiB,EAAE,GAAS;IACtE,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,eAAe,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;IACjF,OAAO,eAAe,CACrB,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,EACrC,eAAe,EACf,KAAK,EACL,UAAU,EACV,GAAG,CACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAiB,EAAE,oBAA4B;IAC/E,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,eAAe,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,IAAI,oBAAoB,IAAI,qBAAqB,CAAC;IAClI,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,KAAa,EAAE,OAAsB;IACvF,IAAI,KAAK,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7D,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC7C,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7D,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAyD;IACxF,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7D,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAqC;IACvE,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7D,OAAO,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAQ;IAChC,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACxB,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAqC;IACrE,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAqC;IACvE,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAmF;IAC3H,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE;QAChD,QAAQ,CAAC;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,aAAa;SAC5B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAmB,IAA+B;IAChF,OAAO,qBAAqB,CAAI,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAoB,EAAE,OAAiC;IACtF,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjE,MAAM,YAAY,GAA2B,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7F,OAAO,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAC3F,YAAY,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,UAAkB,EAAE,OAA0B;IACpF,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjE,MAAM,YAAY,GAA2B,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7F,YAAY,CAAC,uBAAuB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAiB,EAAE,UAAkB,EAAE,UAAkB,CAAC;IAC3F,MAAM,YAAY,GAA2B,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7F,YAAY,CAAC,uBAAuB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,QAAgB;IACnD,MAAM,mBAAmB,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzE,IAAI,mBAAmB,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IACD,OAAO;QACN,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS;QAChC,QAAQ,EAAE,CAAC,IAAY,EAAE,MAAe,EAAE,KAAuB,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC;KACnG,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,UAAkB;IACxD,qEAAqE;IACrE,SAAS,CAAC,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEvD,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,IAAI,KAAK,GAAG,mBAAmB,CAAC,eAAe,EAAE,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3E,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACtC,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,SAA+B;IAC7E,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC/E,sBAAsB,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,SAAiB;IACzC,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC/E,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC7B,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU,EAAE,OAAgD;IAC3F,OAAO,gBAAgB,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAMD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACrD,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7D,OAAO,aAAa,CAAC,cAAc,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,QAAsB;YAChC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAiBD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC7D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrE,OAAO,iBAAiB,CAAC,6BAA6B,CAAC,KAAK,EAAE,KAA+B,EAAE,MAA0B,EAAE,UAAoB,EAAE,EAAE;QAClJ,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;QAC3C,IAAI,mBAAmD,CAAC;QACxD,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzG,mBAAmB,GAAW,SAAS,CAAC;QACzC,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACtB,mBAAmB,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC;QAChG,CAAC;QACD,IAAI,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,CAAC;YAC9E,OAAO,MAAM,CAAC,CAAC,0FAA0F;QAC1G,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,wCAAwC;IACtD,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACpC,OAAO;QACN,UAAU;QACV,MAAM,EAAO,MAAM;QACnB,UAAU,EAAO,UAAU;QAC3B,cAAc,EAAO,cAAc;QACnC,iBAAiB,EAAO,iBAAiB;QACzC,qBAAqB,EAAO,qBAAqB;QACjD,gBAAgB,EAAO,gBAAgB;QAEvC,UAAU,EAAO,UAAU;QAC3B,eAAe,EAAO,eAAe;QACrC,iBAAiB,EAAO,iBAAiB;QACzC,kBAAkB,EAAO,kBAAkB;QAE3C,WAAW,EAAO,WAAW;QAC7B,gBAAgB,EAAO,gBAAgB;QACvC,eAAe,EAAO,eAAe;QACrC,eAAe,EAAO,eAAe;QACrC,gBAAgB,EAAE,gBAAgB;QAClC,kBAAkB,EAAO,kBAAkB;QAC3C,SAAS,EAAO,SAAS;QACzB,QAAQ,EAAO,QAAQ;QACvB,gBAAgB,EAAO,gBAAgB;QACvC,kBAAkB,EAAO,kBAAkB;QAC3C,wBAAwB,EAAO,wBAAwB;QAGvD,eAAe,EAAO,eAAe;QACrC,eAAe,EAAO,eAAe;QACrC,QAAQ,EAAO,QAAQ;QACvB,iBAAiB,EAAO,iBAAiB;QACzC,QAAQ,EAAO,QAAQ;QACvB,WAAW,EAAO,WAAW;QAC7B,QAAQ,EAAO,QAAQ;QACvB,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,eAAe;QAEhC,kBAAkB,EAAE,kBAAkB;QACtC,oBAAoB,EAAO,oBAAoB;QAE/C,QAAQ;QACR,oBAAoB,EAAE,eAAe,CAAC,oBAAoB;QAC1D,+BAA+B,EAAE,eAAe,CAAC,+BAA+B;QAChF,kBAAkB,EAAE,eAAe,CAAC,kBAAkB;QACtD,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;QAClD,wBAAwB,EAAE,eAAe,CAAC,wBAAwB;QAClE,YAAY,EAAE,eAAe,CAAC,YAAY;QAC1C,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;QACxD,iBAAiB,EAAE,eAAe,CAAC,iBAAiB;QACpD,eAAe,EAAE,eAAe,CAAC,eAAe;QAChD,yBAAyB,EAAE,eAAe,CAAC,yBAAyB;QACpE,eAAe,EAAE,eAAe,CAAC,eAAe;QAChD,+BAA+B,EAAE,eAAe,CAAC,+BAA+B;QAChF,iBAAiB,EAAE,eAAe,CAAC,iBAAiB;QACpD,eAAe,EAAE,eAAe,CAAC,eAAe;QAChD,qBAAqB,EAAE,eAAe,CAAC,qBAAqB;QAC5D,aAAa,EAAE,eAAe,CAAC,aAAa;QAC5C,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;QACxD,UAAU,EAAE,eAAe,CAAC,UAAU;QACtC,6BAA6B,EAAE,eAAe,CAAC,6BAA6B;QAC5E,qBAAqB,EAAE,eAAe,CAAC,qBAAqB;QAC5D,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;QAC9D,cAAc,EAAE,eAAe,CAAC,cAAc;QAC9C,uBAAuB,EAAE,eAAe,CAAC,uBAAuB;QAChE,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;QAClD,qBAAqB,EAAE,eAAe,CAAC,qBAAqB;QAC5D,aAAa,EAAE,eAAe,CAAC,aAAa;QAE5C,UAAU;QACV,yBAAyB,EAAO,yBAAyB;QACzD,YAAY,EAAO,YAAY;QAC/B,QAAQ,EAAO,QAAQ;QACvB,wBAAwB,EAAO,wBAAwB;QACvD,SAAS,EAAO,SAAS;QACzB,iBAAiB,EAAO,iBAAiB;QACzC,UAAU,EAAO,UAAU;QAE3B,yBAAyB,EAAO,yBAAyB;QAEzD,OAAO;QACP,UAAU,EAAE,UAAU;QACtB,aAAa,EAAO,aAAa;KAEjC,CAAC;AACH,CAAC","file":"standaloneEditor.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 { mainWindow } from '../../../base/browser/window.js';\nimport { Disposable, DisposableStore, IDisposable } from '../../../base/common/lifecycle.js';\nimport { splitLines } from '../../../base/common/strings.js';\nimport { URI } from '../../../base/common/uri.js';\nimport './standalone-tokens.css';\nimport { FontMeasurements } from '../../browser/config/fontMeasurements.js';\nimport { ICodeEditor } from '../../browser/editorBrowser.js';\nimport { EditorCommand, ServicesAccessor } from '../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../browser/services/codeEditorService.js';\nimport { IInternalWebWorkerOptions, MonacoWebWorker, createWebWorker as actualCreateWebWorker } from './standaloneWebWorker.js';\nimport { ApplyUpdateResult, ConfigurationChangedEvent, EditorOptions } from '../../common/config/editorOptions.js';\nimport { EditorZoom } from '../../common/config/editorZoom.js';\nimport { BareFontInfo, FontInfo } from '../../common/config/fontInfo.js';\nimport { IPosition } from '../../common/core/position.js';\nimport { IRange } from '../../common/core/range.js';\nimport { EditorType, IDiffEditor } from '../../common/editorCommon.js';\nimport * as languages from '../../common/languages.js';\nimport { ILanguageService } from '../../common/languages/language.js';\nimport { PLAINTEXT_LANGUAGE_ID } from '../../common/languages/modesRegistry.js';\nimport { NullState, nullTokenize } from '../../common/languages/nullTokenize.js';\nimport { FindMatch, ITextModel, TextModelResolvedOptions } from '../../common/model.js';\nimport { IModelService } from '../../common/services/model.js';\nimport * as standaloneEnums from '../../common/standalone/standaloneEnums.js';\nimport { Colorizer, IColorizerElementOptions, IColorizerOptions } from './colorizer.js';\nimport { IActionDescriptor, IStandaloneCodeEditor, IStandaloneDiffEditor, IStandaloneDiffEditorConstructionOptions, IStandaloneEditorConstructionOptions, StandaloneDiffEditor2, StandaloneEditor, createTextModel } from './standaloneCodeEditor.js';\nimport { IEditorOverrideServices, StandaloneKeybindingService, StandaloneServices } from './standaloneServices.js';\nimport { StandaloneThemeService } from './standaloneThemeService.js';\nimport { IStandaloneThemeData, IStandaloneThemeService } from '../common/standaloneTheme.js';\nimport { IMenuItem, MenuId, MenuRegistry } from '../../../platform/actions/common/actions.js';\nimport { CommandsRegistry, ICommandHandler } from '../../../platform/commands/common/commands.js';\nimport { ContextKeyExpr } from '../../../platform/contextkey/common/contextkey.js';\nimport { ITextResourceEditorInput } from '../../../platform/editor/common/editor.js';\nimport { IKeybindingService } from '../../../platform/keybinding/common/keybinding.js';\nimport { IMarker, IMarkerData, IMarkerService } from '../../../platform/markers/common/markers.js';\nimport { IOpenerService } from '../../../platform/opener/common/opener.js';\nimport { MultiDiffEditorWidget } from '../../browser/widget/multiDiffEditor/multiDiffEditorWidget.js';\n\n/**\n * Create a new editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneEditor, domElement, options);\n}\n\n/**\n * Emitted when an editor is created.\n * Creating a diff editor might cause this listener to be invoked with the two editors.\n * @event\n */\nexport function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onCodeEditorAdd((editor) => {\n\t\tlistener(<ICodeEditor>editor);\n\t});\n}\n\n/**\n * Emitted when an diff editor is created.\n * @event\n */\nexport function onDidCreateDiffEditor(listener: (diffEditor: IDiffEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onDiffEditorAdd((editor) => {\n\t\tlistener(<IDiffEditor>editor);\n\t});\n}\n\n/**\n * Get all the created editors.\n */\nexport function getEditors(): readonly ICodeEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listCodeEditors();\n}\n\n/**\n * Get all the created diff editors.\n */\nexport function getDiffEditors(): readonly IDiffEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listDiffEditors();\n}\n\n/**\n * Create a new diff editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneDiffEditor2, domElement, options);\n}\n\nexport function createMultiFileDiffEditor(domElement: HTMLElement, override?: IEditorOverrideServices) {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn new MultiDiffEditorWidget(domElement, {}, instantiationService);\n}\n\n/**\n * Description of a command contribution\n */\nexport interface ICommandDescriptor {\n\t/**\n\t * An unique identifier of the contributed command.\n\t */\n\tid: string;\n\t/**\n\t * Callback that will be executed when the command is triggered.\n\t */\n\trun: ICommandHandler;\n}\n\n/**\n * Add a command.\n */\nexport function addCommand(descriptor: ICommandDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid command descriptor, `id` and `run` are required properties!');\n\t}\n\treturn CommandsRegistry.registerCommand(descriptor.id, descriptor.run);\n}\n\n/**\n * Add an action to all editors.\n */\nexport function addEditorAction(descriptor: IActionDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.label !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid action descriptor, `id`, `label` and `run` are required properties!');\n\t}\n\n\tconst precondition = ContextKeyExpr.deserialize(descriptor.precondition);\n\tconst run = (accessor: ServicesAccessor, ...args: any[]): void | Promise<void> => {\n\t\treturn EditorCommand.runEditorCommand(accessor, args, precondition, (accessor, editor, args) => Promise.resolve(descriptor.run(editor, ...args)));\n\t};\n\n\tconst toDispose = new DisposableStore();\n\n\t// Register the command\n\ttoDispose.add(CommandsRegistry.registerCommand(descriptor.id, run));\n\n\t// Register the context menu item\n\tif (descriptor.contextMenuGroupId) {\n\t\tconst menuItem: IMenuItem = {\n\t\t\tcommand: {\n\t\t\t\tid: descriptor.id,\n\t\t\t\ttitle: descriptor.label\n\t\t\t},\n\t\t\twhen: precondition,\n\t\t\tgroup: descriptor.contextMenuGroupId,\n\t\t\torder: descriptor.contextMenuOrder || 0\n\t\t};\n\t\ttoDispose.add(MenuRegistry.appendMenuItem(MenuId.EditorContext, menuItem));\n\t}\n\n\t// Register the keybindings\n\tif (Array.isArray(descriptor.keybindings)) {\n\t\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\t\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\t} else {\n\t\t\tconst keybindingsWhen = ContextKeyExpr.and(precondition, ContextKeyExpr.deserialize(descriptor.keybindingContext));\n\t\t\ttoDispose.add(keybindingService.addDynamicKeybindings(descriptor.keybindings.map((keybinding) => {\n\t\t\t\treturn {\n\t\t\t\t\tkeybinding,\n\t\t\t\t\tcommand: descriptor.id,\n\t\t\t\t\twhen: keybindingsWhen\n\t\t\t\t};\n\t\t\t})));\n\t\t}\n\t}\n\n\treturn toDispose;\n}\n\n/**\n * A keybinding rule.\n */\nexport interface IKeybindingRule {\n\tkeybinding: number;\n\tcommand?: string | null;\n\tcommandArgs?: any;\n\twhen?: string | null;\n}\n\n/**\n * Add a keybinding rule.\n */\nexport function addKeybindingRule(rule: IKeybindingRule): IDisposable {\n\treturn addKeybindingRules([rule]);\n}\n\n/**\n * Add keybinding rules.\n */\nexport function addKeybindingRules(rules: IKeybindingRule[]): IDisposable {\n\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\treturn Disposable.None;\n\t}\n\n\treturn keybindingService.addDynamicKeybindings(rules.map((rule) => {\n\t\treturn {\n\t\t\tkeybinding: rule.keybinding,\n\t\t\tcommand: rule.command,\n\t\t\tcommandArgs: rule.commandArgs,\n\t\t\twhen: ContextKeyExpr.deserialize(rule.when),\n\t\t};\n\t}));\n}\n\n/**\n * Create a new editor model.\n * You can specify the language that should be set for this model or let the language be inferred from the `uri`.\n */\nexport function createModel(value: string, language?: string, uri?: URI): ITextModel {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(language) || language;\n\treturn createTextModel(\n\t\tStandaloneServices.get(IModelService),\n\t\tlanguageService,\n\t\tvalue,\n\t\tlanguageId,\n\t\turi\n\t);\n}\n\n/**\n * Change the language for a model.\n */\nexport function setModelLanguage(model: ITextModel, mimeTypeOrLanguageId: string): void {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(mimeTypeOrLanguageId) || mimeTypeOrLanguageId || PLAINTEXT_LANGUAGE_ID;\n\tmodel.setLanguage(languageService.createById(languageId));\n}\n\n/**\n * Set the markers for a model.\n */\nexport function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void {\n\tif (model) {\n\t\tconst markerService = StandaloneServices.get(IMarkerService);\n\t\tmarkerService.changeOne(owner, model.uri, markers);\n\t}\n}\n\n/**\n * Remove all markers of an owner.\n */\nexport function removeAllMarkers(owner: string) {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\tmarkerService.changeAll(owner, []);\n}\n\n/**\n * Get markers for owner and/or resource\n *\n * @returns list of markers\n */\nexport function getModelMarkers(filter: { owner?: string; resource?: URI; take?: number }): IMarker[] {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.read(filter);\n}\n\n/**\n * Emitted when markers change for a model.\n * @event\n */\nexport function onDidChangeMarkers(listener: (e: readonly URI[]) => void): IDisposable {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.onMarkerChanged(listener);\n}\n\n/**\n * Get the model that has `uri` if it exists.\n */\nexport function getModel(uri: URI): ITextModel | null {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModel(uri);\n}\n\n/**\n * Get all the created models.\n */\nexport function getModels(): ITextModel[] {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModels();\n}\n\n/**\n * Emitted when a model is created.\n * @event\n */\nexport function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelAdded(listener);\n}\n\n/**\n * Emitted right before a model is disposed.\n * @event\n */\nexport function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelRemoved(listener);\n}\n\n/**\n * Emitted when a different language is set to a model.\n * @event\n */\nexport function onDidChangeModelLanguage(listener: (e: { readonly model: ITextModel; readonly oldLanguage: string }) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelLanguageChanged((e) => {\n\t\tlistener({\n\t\t\tmodel: e.model,\n\t\t\toldLanguage: e.oldLanguageId\n\t\t});\n\t});\n}\n\n/**\n * Create a new web worker that has model syncing capabilities built in.\n * Specify an AMD module to load that will `create` an object that will be proxied.\n */\nexport function createWebWorker<T extends object>(opts: IInternalWebWorkerOptions): MonacoWebWorker<T> {\n\treturn actualCreateWebWorker<T>(StandaloneServices.get(IModelService), opts);\n}\n\n/**\n * Colorize the contents of `domNode` using attribute `data-lang`.\n */\nexport function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\treturn Colorizer.colorizeElement(themeService, languageService, domNode, options).then(() => {\n\t\tthemeService.registerEditorContainer(domNode);\n\t});\n}\n\n/**\n * Colorize `text` using language `languageId`.\n */\nexport function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorize(languageService, text, languageId, options);\n}\n\n/**\n * Colorize a line in a model.\n */\nexport function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize: number = 4): string {\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorizeModelLine(model, lineNumber, tabSize);\n}\n\n/**\n * @internal\n */\nfunction getSafeTokenizationSupport(language: string): Omit<languages.ITokenizationSupport, 'tokenizeEncoded'> {\n\tconst tokenizationSupport = languages.TokenizationRegistry.get(language);\n\tif (tokenizationSupport) {\n\t\treturn tokenizationSupport;\n\t}\n\treturn {\n\t\tgetInitialState: () => NullState,\n\t\ttokenize: (line: string, hasEOL: boolean, state: languages.IState) => nullTokenize(language, state)\n\t};\n}\n\n/**\n * Tokenize `text` using language `languageId`\n */\nexport function tokenize(text: string, languageId: string): languages.Token[][] {\n\t// Needed in order to get the mode registered for subsequent look-ups\n\tlanguages.TokenizationRegistry.getOrCreate(languageId);\n\n\tconst tokenizationSupport = getSafeTokenizationSupport(languageId);\n\tconst lines = splitLines(text);\n\tconst result: languages.Token[][] = [];\n\tlet state = tokenizationSupport.getInitialState();\n\tfor (let i = 0, len = lines.length; i < len; i++) {\n\t\tconst line = lines[i];\n\t\tconst tokenizationResult = tokenizationSupport.tokenize(line, true, state);\n\n\t\tresult[i] = tokenizationResult.tokens;\n\t\tstate = tokenizationResult.endState;\n\t}\n\treturn result;\n}\n\n/**\n * Define a new theme or update an existing theme.\n */\nexport function defineTheme(themeName: string, themeData: IStandaloneThemeData): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.defineTheme(themeName, themeData);\n}\n\n/**\n * Switches to a theme.\n */\nexport function setTheme(themeName: string): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.setTheme(themeName);\n}\n\n/**\n * Clears all cached font measurements and triggers re-measurement.\n */\nexport function remeasureFonts(): void {\n\tFontMeasurements.clearAllFontInfos();\n}\n\n/**\n * Register a command.\n */\nexport function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable {\n\treturn CommandsRegistry.registerCommand({ id, handler });\n}\n\nexport interface ILinkOpener {\n\topen(resource: URI): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a link is opened in any editor. The handler callback should return `true` if the link was handled and `false` otherwise.\n * The handler that was registered last will be called first when a link is opened.\n *\n * Returns a disposable that can unregister the opener again.\n */\nexport function registerLinkOpener(opener: ILinkOpener): IDisposable {\n\tconst openerService = StandaloneServices.get(IOpenerService);\n\treturn openerService.registerOpener({\n\t\tasync open(resource: string | URI) {\n\t\t\tif (typeof resource === 'string') {\n\t\t\t\tresource = URI.parse(resource);\n\t\t\t}\n\t\t\treturn opener.open(resource);\n\t\t}\n\t});\n}\n\n/**\n * Represents an object that can handle editor open operations (e.g. when \"go to definition\" is called\n * with a resource other than the current model).\n */\nexport interface ICodeEditorOpener {\n\t/**\n\t * Callback that is invoked when a resource other than the current model should be opened (e.g. when \"go to definition\" is called).\n\t * The callback should return `true` if the request was handled and `false` otherwise.\n\t * @param source The code editor instance that initiated the request.\n\t * @param resource The URI of the resource that should be opened.\n\t * @param selectionOrPosition An optional position or selection inside the model corresponding to `resource` that can be used to set the cursor.\n\t */\n\topenCodeEditor(source: ICodeEditor, resource: URI, selectionOrPosition?: IRange | IPosition): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a resource other than the current model should be opened in the editor (e.g. \"go to definition\").\n * The handler callback should return `true` if the request was handled and `false` otherwise.\n *\n * Returns a disposable that can unregister the opener again.\n *\n * If no handler is registered the default behavior is to do nothing for models other than the currently attached one.\n */\nexport function registerEditorOpener(opener: ICodeEditorOpener): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.registerCodeEditorOpenHandler(async (input: ITextResourceEditorInput, source: ICodeEditor | null, sideBySide?: boolean) => {\n\t\tif (!source) {\n\t\t\treturn null;\n\t\t}\n\t\tconst selection = input.options?.selection;\n\t\tlet selectionOrPosition: IRange | IPosition | undefined;\n\t\tif (selection && typeof selection.endLineNumber === 'number' && typeof selection.endColumn === 'number') {\n\t\t\tselectionOrPosition = <IRange>selection;\n\t\t} else if (selection) {\n\t\t\tselectionOrPosition = { lineNumber: selection.startLineNumber, column: selection.startColumn };\n\t\t}\n\t\tif (await opener.openCodeEditor(source, input.resource, selectionOrPosition)) {\n\t\t\treturn source; // return source editor to indicate that this handler has successfully handled the opening\n\t\t}\n\t\treturn null; // fallback to other registered handlers\n\t});\n}\n\n/**\n * @internal\n */\nexport function createMonacoEditorAPI(): typeof monaco.editor {\n\treturn {\n\t\t// methods\n\t\tcreate: <any>create,\n\t\tgetEditors: <any>getEditors,\n\t\tgetDiffEditors: <any>getDiffEditors,\n\t\tonDidCreateEditor: <any>onDidCreateEditor,\n\t\tonDidCreateDiffEditor: <any>onDidCreateDiffEditor,\n\t\tcreateDiffEditor: <any>createDiffEditor,\n\n\t\taddCommand: <any>addCommand,\n\t\taddEditorAction: <any>addEditorAction,\n\t\taddKeybindingRule: <any>addKeybindingRule,\n\t\taddKeybindingRules: <any>addKeybindingRules,\n\n\t\tcreateModel: <any>createModel,\n\t\tsetModelLanguage: <any>setModelLanguage,\n\t\tsetModelMarkers: <any>setModelMarkers,\n\t\tgetModelMarkers: <any>getModelMarkers,\n\t\tremoveAllMarkers: removeAllMarkers,\n\t\tonDidChangeMarkers: <any>onDidChangeMarkers,\n\t\tgetModels: <any>getModels,\n\t\tgetModel: <any>getModel,\n\t\tonDidCreateModel: <any>onDidCreateModel,\n\t\tonWillDisposeModel: <any>onWillDisposeModel,\n\t\tonDidChangeModelLanguage: <any>onDidChangeModelLanguage,\n\n\n\t\tcreateWebWorker: <any>createWebWorker,\n\t\tcolorizeElement: <any>colorizeElement,\n\t\tcolorize: <any>colorize,\n\t\tcolorizeModelLine: <any>colorizeModelLine,\n\t\ttokenize: <any>tokenize,\n\t\tdefineTheme: <any>defineTheme,\n\t\tsetTheme: <any>setTheme,\n\t\tremeasureFonts: remeasureFonts,\n\t\tregisterCommand: registerCommand,\n\n\t\tregisterLinkOpener: registerLinkOpener,\n\t\tregisterEditorOpener: <any>registerEditorOpener,\n\n\t\t// enums\n\t\tAccessibilitySupport: standaloneEnums.AccessibilitySupport,\n\t\tContentWidgetPositionPreference: standaloneEnums.ContentWidgetPositionPreference,\n\t\tCursorChangeReason: standaloneEnums.CursorChangeReason,\n\t\tDefaultEndOfLine: standaloneEnums.DefaultEndOfLine,\n\t\tEditorAutoIndentStrategy: standaloneEnums.EditorAutoIndentStrategy,\n\t\tEditorOption: standaloneEnums.EditorOption,\n\t\tEndOfLinePreference: standaloneEnums.EndOfLinePreference,\n\t\tEndOfLineSequence: standaloneEnums.EndOfLineSequence,\n\t\tMinimapPosition: standaloneEnums.MinimapPosition,\n\t\tMinimapSectionHeaderStyle: standaloneEnums.MinimapSectionHeaderStyle,\n\t\tMouseTargetType: standaloneEnums.MouseTargetType,\n\t\tOverlayWidgetPositionPreference: standaloneEnums.OverlayWidgetPositionPreference,\n\t\tOverviewRulerLane: standaloneEnums.OverviewRulerLane,\n\t\tGlyphMarginLane: standaloneEnums.GlyphMarginLane,\n\t\tRenderLineNumbersType: standaloneEnums.RenderLineNumbersType,\n\t\tRenderMinimap: standaloneEnums.RenderMinimap,\n\t\tScrollbarVisibility: standaloneEnums.ScrollbarVisibility,\n\t\tScrollType: standaloneEnums.ScrollType,\n\t\tTextEditorCursorBlinkingStyle: standaloneEnums.TextEditorCursorBlinkingStyle,\n\t\tTextEditorCursorStyle: standaloneEnums.TextEditorCursorStyle,\n\t\tTrackedRangeStickiness: standaloneEnums.TrackedRangeStickiness,\n\t\tWrappingIndent: standaloneEnums.WrappingIndent,\n\t\tInjectedTextCursorStops: standaloneEnums.InjectedTextCursorStops,\n\t\tPositionAffinity: standaloneEnums.PositionAffinity,\n\t\tShowLightbulbIconMode: standaloneEnums.ShowLightbulbIconMode,\n\t\tTextDirection: standaloneEnums.TextDirection,\n\n\t\t// classes\n\t\tConfigurationChangedEvent: <any>ConfigurationChangedEvent,\n\t\tBareFontInfo: <any>BareFontInfo,\n\t\tFontInfo: <any>FontInfo,\n\t\tTextModelResolvedOptions: <any>TextModelResolvedOptions,\n\t\tFindMatch: <any>FindMatch,\n\t\tApplyUpdateResult: <any>ApplyUpdateResult,\n\t\tEditorZoom: <any>EditorZoom,\n\n\t\tcreateMultiFileDiffEditor: <any>createMultiFileDiffEditor,\n\n\t\t// vars\n\t\tEditorType: EditorType,\n\t\tEditorOptions: <any>EditorOptions\n\n\t};\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { mainWindow } from '../../../base/browser/window.js';\nimport { Disposable, DisposableStore, IDisposable } from '../../../base/common/lifecycle.js';\nimport { splitLines } from '../../../base/common/strings.js';\nimport { URI } from '../../../base/common/uri.js';\nimport './standalone-tokens.css';\nimport { FontMeasurements } from '../../browser/config/fontMeasurements.js';\nimport { ICodeEditor } from '../../browser/editorBrowser.js';\nimport { EditorCommand, ServicesAccessor } from '../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../browser/services/codeEditorService.js';\nimport { IInternalWebWorkerOptions, MonacoWebWorker, createWebWorker as actualCreateWebWorker } from './standaloneWebWorker.js';\nimport { ApplyUpdateResult, ConfigurationChangedEvent, EditorOptions } from '../../common/config/editorOptions.js';\nimport { EditorZoom } from '../../common/config/editorZoom.js';\nimport { BareFontInfo, FontInfo } from '../../common/config/fontInfo.js';\nimport { IPosition } from '../../common/core/position.js';\nimport { IRange } from '../../common/core/range.js';\nimport { EditorType, IDiffEditor } from '../../common/editorCommon.js';\nimport * as languages from '../../common/languages.js';\nimport { ILanguageService } from '../../common/languages/language.js';\nimport { PLAINTEXT_LANGUAGE_ID } from '../../common/languages/modesRegistry.js';\nimport { NullState, nullTokenize } from '../../common/languages/nullTokenize.js';\nimport { FindMatch, ITextModel, TextModelResolvedOptions } from '../../common/model.js';\nimport { IModelService } from '../../common/services/model.js';\nimport * as standaloneEnums from '../../common/standalone/standaloneEnums.js';\nimport { Colorizer, IColorizerElementOptions, IColorizerOptions } from './colorizer.js';\nimport { IActionDescriptor, IStandaloneCodeEditor, IStandaloneDiffEditor, IStandaloneDiffEditorConstructionOptions, IStandaloneEditorConstructionOptions, StandaloneDiffEditor2, StandaloneEditor, createTextModel } from './standaloneCodeEditor.js';\nimport { IEditorOverrideServices, StandaloneKeybindingService, StandaloneServices } from './standaloneServices.js';\nimport { StandaloneThemeService } from './standaloneThemeService.js';\nimport { IStandaloneThemeData, IStandaloneThemeService } from '../common/standaloneTheme.js';\nimport { IMenuItem, MenuId, MenuRegistry } from '../../../platform/actions/common/actions.js';\nimport { CommandsRegistry, ICommandHandler } from '../../../platform/commands/common/commands.js';\nimport { ContextKeyExpr } from '../../../platform/contextkey/common/contextkey.js';\nimport { ITextResourceEditorInput } from '../../../platform/editor/common/editor.js';\nimport { IKeybindingService } from '../../../platform/keybinding/common/keybinding.js';\nimport { IMarker, IMarkerData, IMarkerService } from '../../../platform/markers/common/markers.js';\nimport { IOpenerService } from '../../../platform/opener/common/opener.js';\nimport { MultiDiffEditorWidget } from '../../browser/widget/multiDiffEditor/multiDiffEditorWidget.js';\n\n/**\n * Create a new editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneEditor, domElement, options);\n}\n\n/**\n * Emitted when an editor is created.\n * Creating a diff editor might cause this listener to be invoked with the two editors.\n * @event\n */\nexport function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onCodeEditorAdd((editor) => {\n\t\tlistener(<ICodeEditor>editor);\n\t});\n}\n\n/**\n * Emitted when an diff editor is created.\n * @event\n */\nexport function onDidCreateDiffEditor(listener: (diffEditor: IDiffEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onDiffEditorAdd((editor) => {\n\t\tlistener(<IDiffEditor>editor);\n\t});\n}\n\n/**\n * Get all the created editors.\n */\nexport function getEditors(): readonly ICodeEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listCodeEditors();\n}\n\n/**\n * Get all the created diff editors.\n */\nexport function getDiffEditors(): readonly IDiffEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listDiffEditors();\n}\n\n/**\n * Create a new diff editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneDiffEditor2, domElement, options);\n}\n\nexport function createMultiFileDiffEditor(domElement: HTMLElement, override?: IEditorOverrideServices) {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn new MultiDiffEditorWidget(domElement, {}, instantiationService);\n}\n\n/**\n * Description of a command contribution\n */\nexport interface ICommandDescriptor {\n\t/**\n\t * An unique identifier of the contributed command.\n\t */\n\tid: string;\n\t/**\n\t * Callback that will be executed when the command is triggered.\n\t */\n\trun: ICommandHandler;\n}\n\n/**\n * Add a command.\n */\nexport function addCommand(descriptor: ICommandDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid command descriptor, `id` and `run` are required properties!');\n\t}\n\treturn CommandsRegistry.registerCommand(descriptor.id, descriptor.run);\n}\n\n/**\n * Add an action to all editors.\n */\nexport function addEditorAction(descriptor: IActionDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.label !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid action descriptor, `id`, `label` and `run` are required properties!');\n\t}\n\n\tconst precondition = ContextKeyExpr.deserialize(descriptor.precondition);\n\tconst run = (accessor: ServicesAccessor, ...args: any[]): void | Promise<void> => {\n\t\treturn EditorCommand.runEditorCommand(accessor, args, precondition, (accessor, editor, args) => Promise.resolve(descriptor.run(editor, ...args)));\n\t};\n\n\tconst toDispose = new DisposableStore();\n\n\t// Register the command\n\ttoDispose.add(CommandsRegistry.registerCommand(descriptor.id, run));\n\n\t// Register the context menu item\n\tif (descriptor.contextMenuGroupId) {\n\t\tconst menuItem: IMenuItem = {\n\t\t\tcommand: {\n\t\t\t\tid: descriptor.id,\n\t\t\t\ttitle: descriptor.label\n\t\t\t},\n\t\t\twhen: precondition,\n\t\t\tgroup: descriptor.contextMenuGroupId,\n\t\t\torder: descriptor.contextMenuOrder || 0\n\t\t};\n\t\ttoDispose.add(MenuRegistry.appendMenuItem(MenuId.EditorContext, menuItem));\n\t}\n\n\t// Register the keybindings\n\tif (Array.isArray(descriptor.keybindings)) {\n\t\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\t\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\t} else {\n\t\t\tconst keybindingsWhen = ContextKeyExpr.and(precondition, ContextKeyExpr.deserialize(descriptor.keybindingContext));\n\t\t\ttoDispose.add(keybindingService.addDynamicKeybindings(descriptor.keybindings.map((keybinding) => {\n\t\t\t\treturn {\n\t\t\t\t\tkeybinding,\n\t\t\t\t\tcommand: descriptor.id,\n\t\t\t\t\twhen: keybindingsWhen\n\t\t\t\t};\n\t\t\t})));\n\t\t}\n\t}\n\n\treturn toDispose;\n}\n\n/**\n * A keybinding rule.\n */\nexport interface IKeybindingRule {\n\tkeybinding: number;\n\tcommand?: string | null;\n\tcommandArgs?: any;\n\twhen?: string | null;\n}\n\n/**\n * Add a keybinding rule.\n */\nexport function addKeybindingRule(rule: IKeybindingRule): IDisposable {\n\treturn addKeybindingRules([rule]);\n}\n\n/**\n * Add keybinding rules.\n */\nexport function addKeybindingRules(rules: IKeybindingRule[]): IDisposable {\n\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\treturn Disposable.None;\n\t}\n\n\treturn keybindingService.addDynamicKeybindings(rules.map((rule) => {\n\t\treturn {\n\t\t\tkeybinding: rule.keybinding,\n\t\t\tcommand: rule.command,\n\t\t\tcommandArgs: rule.commandArgs,\n\t\t\twhen: ContextKeyExpr.deserialize(rule.when),\n\t\t};\n\t}));\n}\n\n/**\n * Create a new editor model.\n * You can specify the language that should be set for this model or let the language be inferred from the `uri`.\n */\nexport function createModel(value: string, language?: string, uri?: URI): ITextModel {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(language) || language;\n\treturn createTextModel(\n\t\tStandaloneServices.get(IModelService),\n\t\tlanguageService,\n\t\tvalue,\n\t\tlanguageId,\n\t\turi\n\t);\n}\n\n/**\n * Change the language for a model.\n */\nexport function setModelLanguage(model: ITextModel, mimeTypeOrLanguageId: string): void {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(mimeTypeOrLanguageId) || mimeTypeOrLanguageId || PLAINTEXT_LANGUAGE_ID;\n\tmodel.setLanguage(languageService.createById(languageId));\n}\n\n/**\n * Set the markers for a model.\n */\nexport function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void {\n\tif (model) {\n\t\tconst markerService = StandaloneServices.get(IMarkerService);\n\t\tmarkerService.changeOne(owner, model.uri, markers);\n\t}\n}\n\n/**\n * Remove all markers of an owner.\n */\nexport function removeAllMarkers(owner: string) {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\tmarkerService.changeAll(owner, []);\n}\n\n/**\n * Get markers for owner and/or resource\n *\n * @returns list of markers\n */\nexport function getModelMarkers(filter: { owner?: string; resource?: URI; take?: number }): IMarker[] {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.read(filter);\n}\n\n/**\n * Emitted when markers change for a model.\n * @event\n */\nexport function onDidChangeMarkers(listener: (e: readonly URI[]) => void): IDisposable {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.onMarkerChanged(listener);\n}\n\n/**\n * Get the model that has `uri` if it exists.\n */\nexport function getModel(uri: URI): ITextModel | null {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModel(uri);\n}\n\n/**\n * Get all the created models.\n */\nexport function getModels(): ITextModel[] {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModels();\n}\n\n/**\n * Emitted when a model is created.\n * @event\n */\nexport function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelAdded(listener);\n}\n\n/**\n * Emitted right before a model is disposed.\n * @event\n */\nexport function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelRemoved(listener);\n}\n\n/**\n * Emitted when a different language is set to a model.\n * @event\n */\nexport function onDidChangeModelLanguage(listener: (e: { readonly model: ITextModel; readonly oldLanguage: string }) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelLanguageChanged((e) => {\n\t\tlistener({\n\t\t\tmodel: e.model,\n\t\t\toldLanguage: e.oldLanguageId\n\t\t});\n\t});\n}\n\n/**\n * Create a new web worker that has model syncing capabilities built in.\n * Specify an AMD module to load that will `create` an object that will be proxied.\n */\nexport function createWebWorker<T extends object>(opts: IInternalWebWorkerOptions): MonacoWebWorker<T> {\n\treturn actualCreateWebWorker<T>(StandaloneServices.get(IModelService), opts);\n}\n\n/**\n * Colorize the contents of `domNode` using attribute `data-lang`.\n */\nexport function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\treturn Colorizer.colorizeElement(themeService, languageService, domNode, options).then(() => {\n\t\tthemeService.registerEditorContainer(domNode);\n\t});\n}\n\n/**\n * Colorize `text` using language `languageId`.\n */\nexport function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorize(languageService, text, languageId, options);\n}\n\n/**\n * Colorize a line in a model.\n */\nexport function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize: number = 4): string {\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorizeModelLine(model, lineNumber, tabSize);\n}\n\n/**\n * @internal\n */\nfunction getSafeTokenizationSupport(language: string): Omit<languages.ITokenizationSupport, 'tokenizeEncoded'> {\n\tconst tokenizationSupport = languages.TokenizationRegistry.get(language);\n\tif (tokenizationSupport) {\n\t\treturn tokenizationSupport;\n\t}\n\treturn {\n\t\tgetInitialState: () => NullState,\n\t\ttokenize: (line: string, hasEOL: boolean, state: languages.IState) => nullTokenize(language, state)\n\t};\n}\n\n/**\n * Tokenize `text` using language `languageId`\n */\nexport function tokenize(text: string, languageId: string): languages.Token[][] {\n\t// Needed in order to get the mode registered for subsequent look-ups\n\tlanguages.TokenizationRegistry.getOrCreate(languageId);\n\n\tconst tokenizationSupport = getSafeTokenizationSupport(languageId);\n\tconst lines = splitLines(text);\n\tconst result: languages.Token[][] = [];\n\tlet state = tokenizationSupport.getInitialState();\n\tfor (let i = 0, len = lines.length; i < len; i++) {\n\t\tconst line = lines[i];\n\t\tconst tokenizationResult = tokenizationSupport.tokenize(line, true, state);\n\n\t\tresult[i] = tokenizationResult.tokens;\n\t\tstate = tokenizationResult.endState;\n\t}\n\treturn result;\n}\n\n/**\n * Define a new theme or update an existing theme.\n */\nexport function defineTheme(themeName: string, themeData: IStandaloneThemeData): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.defineTheme(themeName, themeData);\n}\n\n/**\n * Switches to a theme.\n */\nexport function setTheme(themeName: string): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.setTheme(themeName);\n}\n\n/**\n * Clears all cached font measurements and triggers re-measurement.\n */\nexport function remeasureFonts(): void {\n\tFontMeasurements.clearAllFontInfos();\n}\n\n/**\n * Register a command.\n */\nexport function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable {\n\treturn CommandsRegistry.registerCommand({ id, handler });\n}\n\nexport interface ILinkOpener {\n\topen(resource: URI): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a link is opened in any editor. The handler callback should return `true` if the link was handled and `false` otherwise.\n * The handler that was registered last will be called first when a link is opened.\n *\n * Returns a disposable that can unregister the opener again.\n */\nexport function registerLinkOpener(opener: ILinkOpener): IDisposable {\n\tconst openerService = StandaloneServices.get(IOpenerService);\n\treturn openerService.registerOpener({\n\t\tasync open(resource: string | URI) {\n\t\t\tif (typeof resource === 'string') {\n\t\t\t\tresource = URI.parse(resource);\n\t\t\t}\n\t\t\treturn opener.open(resource);\n\t\t}\n\t});\n}\n\n/**\n * Represents an object that can handle editor open operations (e.g. when \"go to definition\" is called\n * with a resource other than the current model).\n */\nexport interface ICodeEditorOpener {\n\t/**\n\t * Callback that is invoked when a resource other than the current model should be opened (e.g. when \"go to definition\" is called).\n\t * The callback should return `true` if the request was handled and `false` otherwise.\n\t * @param source The code editor instance that initiated the request.\n\t * @param resource The URI of the resource that should be opened.\n\t * @param selectionOrPosition An optional position or selection inside the model corresponding to `resource` that can be used to set the cursor.\n\t */\n\topenCodeEditor(source: ICodeEditor, resource: URI, selectionOrPosition?: IRange | IPosition): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a resource other than the current model should be opened in the editor (e.g. \"go to definition\").\n * The handler callback should return `true` if the request was handled and `false` otherwise.\n *\n * Returns a disposable that can unregister the opener again.\n *\n * If no handler is registered the default behavior is to do nothing for models other than the currently attached one.\n */\nexport function registerEditorOpener(opener: ICodeEditorOpener): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.registerCodeEditorOpenHandler(async (input: ITextResourceEditorInput, source: ICodeEditor | null, sideBySide?: boolean) => {\n\t\tif (!source) {\n\t\t\treturn null;\n\t\t}\n\t\tconst selection = input.options?.selection;\n\t\tlet selectionOrPosition: IRange | IPosition | undefined;\n\t\tif (selection && typeof selection.endLineNumber === 'number' && typeof selection.endColumn === 'number') {\n\t\t\tselectionOrPosition = <IRange>selection;\n\t\t} else if (selection) {\n\t\t\tselectionOrPosition = { lineNumber: selection.startLineNumber, column: selection.startColumn };\n\t\t}\n\t\tif (await opener.openCodeEditor(source, input.resource, selectionOrPosition)) {\n\t\t\treturn source; // return source editor to indicate that this handler has successfully handled the opening\n\t\t}\n\t\treturn null; // fallback to other registered handlers\n\t});\n}\n\n/**\n * @internal\n */\nexport function createMonacoEditorAPI(): typeof monaco.editor {\n\treturn {\n\t\t// methods\n\t\tcreate: <any>create,\n\t\tgetEditors: <any>getEditors,\n\t\tgetDiffEditors: <any>getDiffEditors,\n\t\tonDidCreateEditor: <any>onDidCreateEditor,\n\t\tonDidCreateDiffEditor: <any>onDidCreateDiffEditor,\n\t\tcreateDiffEditor: <any>createDiffEditor,\n\n\t\taddCommand: <any>addCommand,\n\t\taddEditorAction: <any>addEditorAction,\n\t\taddKeybindingRule: <any>addKeybindingRule,\n\t\taddKeybindingRules: <any>addKeybindingRules,\n\n\t\tcreateModel: <any>createModel,\n\t\tsetModelLanguage: <any>setModelLanguage,\n\t\tsetModelMarkers: <any>setModelMarkers,\n\t\tgetModelMarkers: <any>getModelMarkers,\n\t\tremoveAllMarkers: removeAllMarkers,\n\t\tonDidChangeMarkers: <any>onDidChangeMarkers,\n\t\tgetModels: <any>getModels,\n\t\tgetModel: <any>getModel,\n\t\tonDidCreateModel: <any>onDidCreateModel,\n\t\tonWillDisposeModel: <any>onWillDisposeModel,\n\t\tonDidChangeModelLanguage: <any>onDidChangeModelLanguage,\n\n\n\t\tcreateWebWorker: <any>createWebWorker,\n\t\tcolorizeElement: <any>colorizeElement,\n\t\tcolorize: <any>colorize,\n\t\tcolorizeModelLine: <any>colorizeModelLine,\n\t\ttokenize: <any>tokenize,\n\t\tdefineTheme: <any>defineTheme,\n\t\tsetTheme: <any>setTheme,\n\t\tremeasureFonts: remeasureFonts,\n\t\tregisterCommand: registerCommand,\n\n\t\tregisterLinkOpener: registerLinkOpener,\n\t\tregisterEditorOpener: <any>registerEditorOpener,\n\n\t\t// enums\n\t\tAccessibilitySupport: standaloneEnums.AccessibilitySupport,\n\t\tContentWidgetPositionPreference: standaloneEnums.ContentWidgetPositionPreference,\n\t\tCursorChangeReason: standaloneEnums.CursorChangeReason,\n\t\tDefaultEndOfLine: standaloneEnums.DefaultEndOfLine,\n\t\tEditorAutoIndentStrategy: standaloneEnums.EditorAutoIndentStrategy,\n\t\tEditorOption: standaloneEnums.EditorOption,\n\t\tEndOfLinePreference: standaloneEnums.EndOfLinePreference,\n\t\tEndOfLineSequence: standaloneEnums.EndOfLineSequence,\n\t\tMinimapPosition: standaloneEnums.MinimapPosition,\n\t\tMinimapSectionHeaderStyle: standaloneEnums.MinimapSectionHeaderStyle,\n\t\tMouseTargetType: standaloneEnums.MouseTargetType,\n\t\tOverlayWidgetPositionPreference: standaloneEnums.OverlayWidgetPositionPreference,\n\t\tOverviewRulerLane: standaloneEnums.OverviewRulerLane,\n\t\tGlyphMarginLane: standaloneEnums.GlyphMarginLane,\n\t\tRenderLineNumbersType: standaloneEnums.RenderLineNumbersType,\n\t\tRenderMinimap: standaloneEnums.RenderMinimap,\n\t\tScrollbarVisibility: standaloneEnums.ScrollbarVisibility,\n\t\tScrollType: standaloneEnums.ScrollType,\n\t\tTextEditorCursorBlinkingStyle: standaloneEnums.TextEditorCursorBlinkingStyle,\n\t\tTextEditorCursorStyle: standaloneEnums.TextEditorCursorStyle,\n\t\tTrackedRangeStickiness: standaloneEnums.TrackedRangeStickiness,\n\t\tWrappingIndent: standaloneEnums.WrappingIndent,\n\t\tInjectedTextCursorStops: standaloneEnums.InjectedTextCursorStops,\n\t\tPositionAffinity: standaloneEnums.PositionAffinity,\n\t\tShowLightbulbIconMode: standaloneEnums.ShowLightbulbIconMode,\n\t\tTextDirection: standaloneEnums.TextDirection,\n\n\t\t// classes\n\t\tConfigurationChangedEvent: <any>ConfigurationChangedEvent,\n\t\tBareFontInfo: <any>BareFontInfo,\n\t\tFontInfo: <any>FontInfo,\n\t\tTextModelResolvedOptions: <any>TextModelResolvedOptions,\n\t\tFindMatch: <any>FindMatch,\n\t\tApplyUpdateResult: <any>ApplyUpdateResult,\n\t\tEditorZoom: <any>EditorZoom,\n\n\t\tcreateMultiFileDiffEditor: <any>createMultiFileDiffEditor,\n\n\t\t// vars\n\t\tEditorType: EditorType,\n\t\tEditorOptions: <any>EditorOptions\n\n\t};\n}\n"]}
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/standalone/browser/standaloneEditor.ts","vs/editor/standalone/browser/standaloneEditor.ts"],"names":[],"mappings":"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","file":"standaloneEditor.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 { mainWindow } from '../../../base/browser/window.js';\nimport { Disposable, DisposableStore, IDisposable } from '../../../base/common/lifecycle.js';\nimport { splitLines } from '../../../base/common/strings.js';\nimport { URI } from '../../../base/common/uri.js';\nimport './standalone-tokens.css';\nimport { FontMeasurements } from '../../browser/config/fontMeasurements.js';\nimport { ICodeEditor } from '../../browser/editorBrowser.js';\nimport { EditorCommand, ServicesAccessor } from '../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../browser/services/codeEditorService.js';\nimport { IInternalWebWorkerOptions, MonacoWebWorker, createWebWorker as actualCreateWebWorker } from './standaloneWebWorker.js';\nimport { ApplyUpdateResult, ConfigurationChangedEvent, EditorOptions } from '../../common/config/editorOptions.js';\nimport { EditorZoom } from '../../common/config/editorZoom.js';\nimport { BareFontInfo, FontInfo } from '../../common/config/fontInfo.js';\nimport { IPosition } from '../../common/core/position.js';\nimport { IRange } from '../../common/core/range.js';\nimport { EditorType, IDiffEditor } from '../../common/editorCommon.js';\nimport * as languages from '../../common/languages.js';\nimport { ILanguageService } from '../../common/languages/language.js';\nimport { PLAINTEXT_LANGUAGE_ID } from '../../common/languages/modesRegistry.js';\nimport { NullState, nullTokenize } from '../../common/languages/nullTokenize.js';\nimport { FindMatch, ITextModel, TextModelResolvedOptions } from '../../common/model.js';\nimport { IModelService } from '../../common/services/model.js';\nimport * as standaloneEnums from '../../common/standalone/standaloneEnums.js';\nimport { Colorizer, IColorizerElementOptions, IColorizerOptions } from './colorizer.js';\nimport { IActionDescriptor, IStandaloneCodeEditor, IStandaloneDiffEditor, IStandaloneDiffEditorConstructionOptions, IStandaloneEditorConstructionOptions, StandaloneDiffEditor2, StandaloneEditor, createTextModel } from './standaloneCodeEditor.js';\nimport { IEditorOverrideServices, StandaloneKeybindingService, StandaloneServices } from './standaloneServices.js';\nimport { StandaloneThemeService } from './standaloneThemeService.js';\nimport { IStandaloneThemeData, IStandaloneThemeService } from '../common/standaloneTheme.js';\nimport { IMenuItem, MenuId, MenuRegistry } from '../../../platform/actions/common/actions.js';\nimport { CommandsRegistry, ICommandHandler } from '../../../platform/commands/common/commands.js';\nimport { ContextKeyExpr } from '../../../platform/contextkey/common/contextkey.js';\nimport { ITextResourceEditorInput } from '../../../platform/editor/common/editor.js';\nimport { IKeybindingService } from '../../../platform/keybinding/common/keybinding.js';\nimport { IMarker, IMarkerData, IMarkerService } from '../../../platform/markers/common/markers.js';\nimport { IOpenerService } from '../../../platform/opener/common/opener.js';\nimport { MultiDiffEditorWidget } from '../../browser/widget/multiDiffEditor/multiDiffEditorWidget.js';\n\n/**\n * Create a new editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneEditor, domElement, options);\n}\n\n/**\n * Emitted when an editor is created.\n * Creating a diff editor might cause this listener to be invoked with the two editors.\n * @event\n */\nexport function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onCodeEditorAdd((editor) => {\n\t\tlistener(<ICodeEditor>editor);\n\t});\n}\n\n/**\n * Emitted when an diff editor is created.\n * @event\n */\nexport function onDidCreateDiffEditor(listener: (diffEditor: IDiffEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onDiffEditorAdd((editor) => {\n\t\tlistener(<IDiffEditor>editor);\n\t});\n}\n\n/**\n * Get all the created editors.\n */\nexport function getEditors(): readonly ICodeEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listCodeEditors();\n}\n\n/**\n * Get all the created diff editors.\n */\nexport function getDiffEditors(): readonly IDiffEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listDiffEditors();\n}\n\n/**\n * Create a new diff editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneDiffEditor2, domElement, options);\n}\n\nexport function createMultiFileDiffEditor(domElement: HTMLElement, override?: IEditorOverrideServices) {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn new MultiDiffEditorWidget(domElement, {}, instantiationService);\n}\n\n/**\n * Description of a command contribution\n */\nexport interface ICommandDescriptor {\n\t/**\n\t * An unique identifier of the contributed command.\n\t */\n\tid: string;\n\t/**\n\t * Callback that will be executed when the command is triggered.\n\t */\n\trun: ICommandHandler;\n}\n\n/**\n * Add a command.\n */\nexport function addCommand(descriptor: ICommandDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid command descriptor, `id` and `run` are required properties!');\n\t}\n\treturn CommandsRegistry.registerCommand(descriptor.id, descriptor.run);\n}\n\n/**\n * Add an action to all editors.\n */\nexport function addEditorAction(descriptor: IActionDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.label !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid action descriptor, `id`, `label` and `run` are required properties!');\n\t}\n\n\tconst precondition = ContextKeyExpr.deserialize(descriptor.precondition);\n\tconst run = (accessor: ServicesAccessor, ...args: unknown[]): void | Promise<void> => {\n\t\treturn EditorCommand.runEditorCommand(accessor, args, precondition, (accessor, editor, args) => Promise.resolve(descriptor.run(editor, ...args)));\n\t};\n\n\tconst toDispose = new DisposableStore();\n\n\t// Register the command\n\ttoDispose.add(CommandsRegistry.registerCommand(descriptor.id, run));\n\n\t// Register the context menu item\n\tif (descriptor.contextMenuGroupId) {\n\t\tconst menuItem: IMenuItem = {\n\t\t\tcommand: {\n\t\t\t\tid: descriptor.id,\n\t\t\t\ttitle: descriptor.label\n\t\t\t},\n\t\t\twhen: precondition,\n\t\t\tgroup: descriptor.contextMenuGroupId,\n\t\t\torder: descriptor.contextMenuOrder || 0\n\t\t};\n\t\ttoDispose.add(MenuRegistry.appendMenuItem(MenuId.EditorContext, menuItem));\n\t}\n\n\t// Register the keybindings\n\tif (Array.isArray(descriptor.keybindings)) {\n\t\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\t\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\t} else {\n\t\t\tconst keybindingsWhen = ContextKeyExpr.and(precondition, ContextKeyExpr.deserialize(descriptor.keybindingContext));\n\t\t\ttoDispose.add(keybindingService.addDynamicKeybindings(descriptor.keybindings.map((keybinding) => {\n\t\t\t\treturn {\n\t\t\t\t\tkeybinding,\n\t\t\t\t\tcommand: descriptor.id,\n\t\t\t\t\twhen: keybindingsWhen\n\t\t\t\t};\n\t\t\t})));\n\t\t}\n\t}\n\n\treturn toDispose;\n}\n\n/**\n * A keybinding rule.\n */\nexport interface IKeybindingRule {\n\tkeybinding: number;\n\tcommand?: string | null;\n\tcommandArgs?: any;\n\twhen?: string | null;\n}\n\n/**\n * Add a keybinding rule.\n */\nexport function addKeybindingRule(rule: IKeybindingRule): IDisposable {\n\treturn addKeybindingRules([rule]);\n}\n\n/**\n * Add keybinding rules.\n */\nexport function addKeybindingRules(rules: IKeybindingRule[]): IDisposable {\n\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\treturn Disposable.None;\n\t}\n\n\treturn keybindingService.addDynamicKeybindings(rules.map((rule) => {\n\t\treturn {\n\t\t\tkeybinding: rule.keybinding,\n\t\t\tcommand: rule.command,\n\t\t\tcommandArgs: rule.commandArgs,\n\t\t\twhen: ContextKeyExpr.deserialize(rule.when),\n\t\t};\n\t}));\n}\n\n/**\n * Create a new editor model.\n * You can specify the language that should be set for this model or let the language be inferred from the `uri`.\n */\nexport function createModel(value: string, language?: string, uri?: URI): ITextModel {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(language) || language;\n\treturn createTextModel(\n\t\tStandaloneServices.get(IModelService),\n\t\tlanguageService,\n\t\tvalue,\n\t\tlanguageId,\n\t\turi\n\t);\n}\n\n/**\n * Change the language for a model.\n */\nexport function setModelLanguage(model: ITextModel, mimeTypeOrLanguageId: string): void {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(mimeTypeOrLanguageId) || mimeTypeOrLanguageId || PLAINTEXT_LANGUAGE_ID;\n\tmodel.setLanguage(languageService.createById(languageId));\n}\n\n/**\n * Set the markers for a model.\n */\nexport function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void {\n\tif (model) {\n\t\tconst markerService = StandaloneServices.get(IMarkerService);\n\t\tmarkerService.changeOne(owner, model.uri, markers);\n\t}\n}\n\n/**\n * Remove all markers of an owner.\n */\nexport function removeAllMarkers(owner: string) {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\tmarkerService.changeAll(owner, []);\n}\n\n/**\n * Get markers for owner and/or resource\n *\n * @returns list of markers\n */\nexport function getModelMarkers(filter: { owner?: string; resource?: URI; take?: number }): IMarker[] {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.read(filter);\n}\n\n/**\n * Emitted when markers change for a model.\n * @event\n */\nexport function onDidChangeMarkers(listener: (e: readonly URI[]) => void): IDisposable {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.onMarkerChanged(listener);\n}\n\n/**\n * Get the model that has `uri` if it exists.\n */\nexport function getModel(uri: URI): ITextModel | null {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModel(uri);\n}\n\n/**\n * Get all the created models.\n */\nexport function getModels(): ITextModel[] {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModels();\n}\n\n/**\n * Emitted when a model is created.\n * @event\n */\nexport function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelAdded(listener);\n}\n\n/**\n * Emitted right before a model is disposed.\n * @event\n */\nexport function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelRemoved(listener);\n}\n\n/**\n * Emitted when a different language is set to a model.\n * @event\n */\nexport function onDidChangeModelLanguage(listener: (e: { readonly model: ITextModel; readonly oldLanguage: string }) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelLanguageChanged((e) => {\n\t\tlistener({\n\t\t\tmodel: e.model,\n\t\t\toldLanguage: e.oldLanguageId\n\t\t});\n\t});\n}\n\n/**\n * Create a new web worker that has model syncing capabilities built in.\n * Specify an AMD module to load that will `create` an object that will be proxied.\n */\nexport function createWebWorker<T extends object>(opts: IInternalWebWorkerOptions): MonacoWebWorker<T> {\n\treturn actualCreateWebWorker<T>(StandaloneServices.get(IModelService), opts);\n}\n\n/**\n * Colorize the contents of `domNode` using attribute `data-lang`.\n */\nexport function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\treturn Colorizer.colorizeElement(themeService, languageService, domNode, options).then(() => {\n\t\tthemeService.registerEditorContainer(domNode);\n\t});\n}\n\n/**\n * Colorize `text` using language `languageId`.\n */\nexport function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorize(languageService, text, languageId, options);\n}\n\n/**\n * Colorize a line in a model.\n */\nexport function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize: number = 4): string {\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorizeModelLine(model, lineNumber, tabSize);\n}\n\n/**\n * @internal\n */\nfunction getSafeTokenizationSupport(language: string): Omit<languages.ITokenizationSupport, 'tokenizeEncoded'> {\n\tconst tokenizationSupport = languages.TokenizationRegistry.get(language);\n\tif (tokenizationSupport) {\n\t\treturn tokenizationSupport;\n\t}\n\treturn {\n\t\tgetInitialState: () => NullState,\n\t\ttokenize: (line: string, hasEOL: boolean, state: languages.IState) => nullTokenize(language, state)\n\t};\n}\n\n/**\n * Tokenize `text` using language `languageId`\n */\nexport function tokenize(text: string, languageId: string): languages.Token[][] {\n\t// Needed in order to get the mode registered for subsequent look-ups\n\tlanguages.TokenizationRegistry.getOrCreate(languageId);\n\n\tconst tokenizationSupport = getSafeTokenizationSupport(languageId);\n\tconst lines = splitLines(text);\n\tconst result: languages.Token[][] = [];\n\tlet state = tokenizationSupport.getInitialState();\n\tfor (let i = 0, len = lines.length; i < len; i++) {\n\t\tconst line = lines[i];\n\t\tconst tokenizationResult = tokenizationSupport.tokenize(line, true, state);\n\n\t\tresult[i] = tokenizationResult.tokens;\n\t\tstate = tokenizationResult.endState;\n\t}\n\treturn result;\n}\n\n/**\n * Define a new theme or update an existing theme.\n */\nexport function defineTheme(themeName: string, themeData: IStandaloneThemeData): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.defineTheme(themeName, themeData);\n}\n\n/**\n * Switches to a theme.\n */\nexport function setTheme(themeName: string): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.setTheme(themeName);\n}\n\n/**\n * Clears all cached font measurements and triggers re-measurement.\n */\nexport function remeasureFonts(): void {\n\tFontMeasurements.clearAllFontInfos();\n}\n\n/**\n * Register a command.\n */\nexport function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable {\n\treturn CommandsRegistry.registerCommand({ id, handler });\n}\n\nexport interface ILinkOpener {\n\topen(resource: URI): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a link is opened in any editor. The handler callback should return `true` if the link was handled and `false` otherwise.\n * The handler that was registered last will be called first when a link is opened.\n *\n * Returns a disposable that can unregister the opener again.\n */\nexport function registerLinkOpener(opener: ILinkOpener): IDisposable {\n\tconst openerService = StandaloneServices.get(IOpenerService);\n\treturn openerService.registerOpener({\n\t\tasync open(resource: string | URI) {\n\t\t\tif (typeof resource === 'string') {\n\t\t\t\tresource = URI.parse(resource);\n\t\t\t}\n\t\t\treturn opener.open(resource);\n\t\t}\n\t});\n}\n\n/**\n * Represents an object that can handle editor open operations (e.g. when \"go to definition\" is called\n * with a resource other than the current model).\n */\nexport interface ICodeEditorOpener {\n\t/**\n\t * Callback that is invoked when a resource other than the current model should be opened (e.g. when \"go to definition\" is called).\n\t * The callback should return `true` if the request was handled and `false` otherwise.\n\t * @param source The code editor instance that initiated the request.\n\t * @param resource The URI of the resource that should be opened.\n\t * @param selectionOrPosition An optional position or selection inside the model corresponding to `resource` that can be used to set the cursor.\n\t */\n\topenCodeEditor(source: ICodeEditor, resource: URI, selectionOrPosition?: IRange | IPosition): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a resource other than the current model should be opened in the editor (e.g. \"go to definition\").\n * The handler callback should return `true` if the request was handled and `false` otherwise.\n *\n * Returns a disposable that can unregister the opener again.\n *\n * If no handler is registered the default behavior is to do nothing for models other than the currently attached one.\n */\nexport function registerEditorOpener(opener: ICodeEditorOpener): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.registerCodeEditorOpenHandler(async (input: ITextResourceEditorInput, source: ICodeEditor | null, sideBySide?: boolean) => {\n\t\tif (!source) {\n\t\t\treturn null;\n\t\t}\n\t\tconst selection = input.options?.selection;\n\t\tlet selectionOrPosition: IRange | IPosition | undefined;\n\t\tif (selection && typeof selection.endLineNumber === 'number' && typeof selection.endColumn === 'number') {\n\t\t\tselectionOrPosition = <IRange>selection;\n\t\t} else if (selection) {\n\t\t\tselectionOrPosition = { lineNumber: selection.startLineNumber, column: selection.startColumn };\n\t\t}\n\t\tif (await opener.openCodeEditor(source, input.resource, selectionOrPosition)) {\n\t\t\treturn source; // return source editor to indicate that this handler has successfully handled the opening\n\t\t}\n\t\treturn null; // fallback to other registered handlers\n\t});\n}\n\n/**\n * @internal\n */\nexport function createMonacoEditorAPI(): typeof monaco.editor {\n\treturn {\n\t\t// methods\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreate: <any>create,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetEditors: <any>getEditors,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetDiffEditors: <any>getDiffEditors,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidCreateEditor: <any>onDidCreateEditor,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidCreateDiffEditor: <any>onDidCreateDiffEditor,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateDiffEditor: <any>createDiffEditor,\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddCommand: <any>addCommand,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddEditorAction: <any>addEditorAction,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddKeybindingRule: <any>addKeybindingRule,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddKeybindingRules: <any>addKeybindingRules,\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateModel: <any>createModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tsetModelLanguage: <any>setModelLanguage,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tsetModelMarkers: <any>setModelMarkers,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetModelMarkers: <any>getModelMarkers,\n\t\tremoveAllMarkers: removeAllMarkers,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidChangeMarkers: <any>onDidChangeMarkers,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetModels: <any>getModels,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetModel: <any>getModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidCreateModel: <any>onDidCreateModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonWillDisposeModel: <any>onWillDisposeModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidChangeModelLanguage: <any>onDidChangeModelLanguage,\n\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateWebWorker: <any>createWebWorker,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcolorizeElement: <any>colorizeElement,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcolorize: <any>colorize,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcolorizeModelLine: <any>colorizeModelLine,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\ttokenize: <any>tokenize,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tdefineTheme: <any>defineTheme,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tsetTheme: <any>setTheme,\n\t\tremeasureFonts: remeasureFonts,\n\t\tregisterCommand: registerCommand,\n\n\t\tregisterLinkOpener: registerLinkOpener,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tregisterEditorOpener: <any>registerEditorOpener,\n\n\t\t// enums\n\t\tAccessibilitySupport: standaloneEnums.AccessibilitySupport,\n\t\tContentWidgetPositionPreference: standaloneEnums.ContentWidgetPositionPreference,\n\t\tCursorChangeReason: standaloneEnums.CursorChangeReason,\n\t\tDefaultEndOfLine: standaloneEnums.DefaultEndOfLine,\n\t\tEditorAutoIndentStrategy: standaloneEnums.EditorAutoIndentStrategy,\n\t\tEditorOption: standaloneEnums.EditorOption,\n\t\tEndOfLinePreference: standaloneEnums.EndOfLinePreference,\n\t\tEndOfLineSequence: standaloneEnums.EndOfLineSequence,\n\t\tMinimapPosition: standaloneEnums.MinimapPosition,\n\t\tMinimapSectionHeaderStyle: standaloneEnums.MinimapSectionHeaderStyle,\n\t\tMouseTargetType: standaloneEnums.MouseTargetType,\n\t\tOverlayWidgetPositionPreference: standaloneEnums.OverlayWidgetPositionPreference,\n\t\tOverviewRulerLane: standaloneEnums.OverviewRulerLane,\n\t\tGlyphMarginLane: standaloneEnums.GlyphMarginLane,\n\t\tRenderLineNumbersType: standaloneEnums.RenderLineNumbersType,\n\t\tRenderMinimap: standaloneEnums.RenderMinimap,\n\t\tScrollbarVisibility: standaloneEnums.ScrollbarVisibility,\n\t\tScrollType: standaloneEnums.ScrollType,\n\t\tTextEditorCursorBlinkingStyle: standaloneEnums.TextEditorCursorBlinkingStyle,\n\t\tTextEditorCursorStyle: standaloneEnums.TextEditorCursorStyle,\n\t\tTrackedRangeStickiness: standaloneEnums.TrackedRangeStickiness,\n\t\tWrappingIndent: standaloneEnums.WrappingIndent,\n\t\tInjectedTextCursorStops: standaloneEnums.InjectedTextCursorStops,\n\t\tPositionAffinity: standaloneEnums.PositionAffinity,\n\t\tShowLightbulbIconMode: standaloneEnums.ShowLightbulbIconMode,\n\t\tTextDirection: standaloneEnums.TextDirection,\n\n\t\t// classes\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tConfigurationChangedEvent: <any>ConfigurationChangedEvent,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tBareFontInfo: <any>BareFontInfo,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tFontInfo: <any>FontInfo,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tTextModelResolvedOptions: <any>TextModelResolvedOptions,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tFindMatch: <any>FindMatch,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tApplyUpdateResult: <any>ApplyUpdateResult,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tEditorZoom: <any>EditorZoom,\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateMultiFileDiffEditor: <any>createMultiFileDiffEditor,\n\n\t\t// vars\n\t\tEditorType: EditorType,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tEditorOptions: <any>EditorOptions\n\n\t};\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { mainWindow } from '../../../base/browser/window.js';\nimport { Disposable, DisposableStore, IDisposable } from '../../../base/common/lifecycle.js';\nimport { splitLines } from '../../../base/common/strings.js';\nimport { URI } from '../../../base/common/uri.js';\nimport './standalone-tokens.css';\nimport { FontMeasurements } from '../../browser/config/fontMeasurements.js';\nimport { ICodeEditor } from '../../browser/editorBrowser.js';\nimport { EditorCommand, ServicesAccessor } from '../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../browser/services/codeEditorService.js';\nimport { IInternalWebWorkerOptions, MonacoWebWorker, createWebWorker as actualCreateWebWorker } from './standaloneWebWorker.js';\nimport { ApplyUpdateResult, ConfigurationChangedEvent, EditorOptions } from '../../common/config/editorOptions.js';\nimport { EditorZoom } from '../../common/config/editorZoom.js';\nimport { BareFontInfo, FontInfo } from '../../common/config/fontInfo.js';\nimport { IPosition } from '../../common/core/position.js';\nimport { IRange } from '../../common/core/range.js';\nimport { EditorType, IDiffEditor } from '../../common/editorCommon.js';\nimport * as languages from '../../common/languages.js';\nimport { ILanguageService } from '../../common/languages/language.js';\nimport { PLAINTEXT_LANGUAGE_ID } from '../../common/languages/modesRegistry.js';\nimport { NullState, nullTokenize } from '../../common/languages/nullTokenize.js';\nimport { FindMatch, ITextModel, TextModelResolvedOptions } from '../../common/model.js';\nimport { IModelService } from '../../common/services/model.js';\nimport * as standaloneEnums from '../../common/standalone/standaloneEnums.js';\nimport { Colorizer, IColorizerElementOptions, IColorizerOptions } from './colorizer.js';\nimport { IActionDescriptor, IStandaloneCodeEditor, IStandaloneDiffEditor, IStandaloneDiffEditorConstructionOptions, IStandaloneEditorConstructionOptions, StandaloneDiffEditor2, StandaloneEditor, createTextModel } from './standaloneCodeEditor.js';\nimport { IEditorOverrideServices, StandaloneKeybindingService, StandaloneServices } from './standaloneServices.js';\nimport { StandaloneThemeService } from './standaloneThemeService.js';\nimport { IStandaloneThemeData, IStandaloneThemeService } from '../common/standaloneTheme.js';\nimport { IMenuItem, MenuId, MenuRegistry } from '../../../platform/actions/common/actions.js';\nimport { CommandsRegistry, ICommandHandler } from '../../../platform/commands/common/commands.js';\nimport { ContextKeyExpr } from '../../../platform/contextkey/common/contextkey.js';\nimport { ITextResourceEditorInput } from '../../../platform/editor/common/editor.js';\nimport { IKeybindingService } from '../../../platform/keybinding/common/keybinding.js';\nimport { IMarker, IMarkerData, IMarkerService } from '../../../platform/markers/common/markers.js';\nimport { IOpenerService } from '../../../platform/opener/common/opener.js';\nimport { MultiDiffEditorWidget } from '../../browser/widget/multiDiffEditor/multiDiffEditorWidget.js';\n\n/**\n * Create a new editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneEditor, domElement, options);\n}\n\n/**\n * Emitted when an editor is created.\n * Creating a diff editor might cause this listener to be invoked with the two editors.\n * @event\n */\nexport function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onCodeEditorAdd((editor) => {\n\t\tlistener(<ICodeEditor>editor);\n\t});\n}\n\n/**\n * Emitted when an diff editor is created.\n * @event\n */\nexport function onDidCreateDiffEditor(listener: (diffEditor: IDiffEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onDiffEditorAdd((editor) => {\n\t\tlistener(<IDiffEditor>editor);\n\t});\n}\n\n/**\n * Get all the created editors.\n */\nexport function getEditors(): readonly ICodeEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listCodeEditors();\n}\n\n/**\n * Get all the created diff editors.\n */\nexport function getDiffEditors(): readonly IDiffEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listDiffEditors();\n}\n\n/**\n * Create a new diff editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneDiffEditor2, domElement, options);\n}\n\nexport function createMultiFileDiffEditor(domElement: HTMLElement, override?: IEditorOverrideServices) {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn new MultiDiffEditorWidget(domElement, {}, instantiationService);\n}\n\n/**\n * Description of a command contribution\n */\nexport interface ICommandDescriptor {\n\t/**\n\t * An unique identifier of the contributed command.\n\t */\n\tid: string;\n\t/**\n\t * Callback that will be executed when the command is triggered.\n\t */\n\trun: ICommandHandler;\n}\n\n/**\n * Add a command.\n */\nexport function addCommand(descriptor: ICommandDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid command descriptor, `id` and `run` are required properties!');\n\t}\n\treturn CommandsRegistry.registerCommand(descriptor.id, descriptor.run);\n}\n\n/**\n * Add an action to all editors.\n */\nexport function addEditorAction(descriptor: IActionDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.label !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid action descriptor, `id`, `label` and `run` are required properties!');\n\t}\n\n\tconst precondition = ContextKeyExpr.deserialize(descriptor.precondition);\n\tconst run = (accessor: ServicesAccessor, ...args: unknown[]): void | Promise<void> => {\n\t\treturn EditorCommand.runEditorCommand(accessor, args, precondition, (accessor, editor, args) => Promise.resolve(descriptor.run(editor, ...args)));\n\t};\n\n\tconst toDispose = new DisposableStore();\n\n\t// Register the command\n\ttoDispose.add(CommandsRegistry.registerCommand(descriptor.id, run));\n\n\t// Register the context menu item\n\tif (descriptor.contextMenuGroupId) {\n\t\tconst menuItem: IMenuItem = {\n\t\t\tcommand: {\n\t\t\t\tid: descriptor.id,\n\t\t\t\ttitle: descriptor.label\n\t\t\t},\n\t\t\twhen: precondition,\n\t\t\tgroup: descriptor.contextMenuGroupId,\n\t\t\torder: descriptor.contextMenuOrder || 0\n\t\t};\n\t\ttoDispose.add(MenuRegistry.appendMenuItem(MenuId.EditorContext, menuItem));\n\t}\n\n\t// Register the keybindings\n\tif (Array.isArray(descriptor.keybindings)) {\n\t\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\t\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\t} else {\n\t\t\tconst keybindingsWhen = ContextKeyExpr.and(precondition, ContextKeyExpr.deserialize(descriptor.keybindingContext));\n\t\t\ttoDispose.add(keybindingService.addDynamicKeybindings(descriptor.keybindings.map((keybinding) => {\n\t\t\t\treturn {\n\t\t\t\t\tkeybinding,\n\t\t\t\t\tcommand: descriptor.id,\n\t\t\t\t\twhen: keybindingsWhen\n\t\t\t\t};\n\t\t\t})));\n\t\t}\n\t}\n\n\treturn toDispose;\n}\n\n/**\n * A keybinding rule.\n */\nexport interface IKeybindingRule {\n\tkeybinding: number;\n\tcommand?: string | null;\n\tcommandArgs?: any;\n\twhen?: string | null;\n}\n\n/**\n * Add a keybinding rule.\n */\nexport function addKeybindingRule(rule: IKeybindingRule): IDisposable {\n\treturn addKeybindingRules([rule]);\n}\n\n/**\n * Add keybinding rules.\n */\nexport function addKeybindingRules(rules: IKeybindingRule[]): IDisposable {\n\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\treturn Disposable.None;\n\t}\n\n\treturn keybindingService.addDynamicKeybindings(rules.map((rule) => {\n\t\treturn {\n\t\t\tkeybinding: rule.keybinding,\n\t\t\tcommand: rule.command,\n\t\t\tcommandArgs: rule.commandArgs,\n\t\t\twhen: ContextKeyExpr.deserialize(rule.when),\n\t\t};\n\t}));\n}\n\n/**\n * Create a new editor model.\n * You can specify the language that should be set for this model or let the language be inferred from the `uri`.\n */\nexport function createModel(value: string, language?: string, uri?: URI): ITextModel {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(language) || language;\n\treturn createTextModel(\n\t\tStandaloneServices.get(IModelService),\n\t\tlanguageService,\n\t\tvalue,\n\t\tlanguageId,\n\t\turi\n\t);\n}\n\n/**\n * Change the language for a model.\n */\nexport function setModelLanguage(model: ITextModel, mimeTypeOrLanguageId: string): void {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(mimeTypeOrLanguageId) || mimeTypeOrLanguageId || PLAINTEXT_LANGUAGE_ID;\n\tmodel.setLanguage(languageService.createById(languageId));\n}\n\n/**\n * Set the markers for a model.\n */\nexport function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void {\n\tif (model) {\n\t\tconst markerService = StandaloneServices.get(IMarkerService);\n\t\tmarkerService.changeOne(owner, model.uri, markers);\n\t}\n}\n\n/**\n * Remove all markers of an owner.\n */\nexport function removeAllMarkers(owner: string) {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\tmarkerService.changeAll(owner, []);\n}\n\n/**\n * Get markers for owner and/or resource\n *\n * @returns list of markers\n */\nexport function getModelMarkers(filter: { owner?: string; resource?: URI; take?: number }): IMarker[] {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.read(filter);\n}\n\n/**\n * Emitted when markers change for a model.\n * @event\n */\nexport function onDidChangeMarkers(listener: (e: readonly URI[]) => void): IDisposable {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.onMarkerChanged(listener);\n}\n\n/**\n * Get the model that has `uri` if it exists.\n */\nexport function getModel(uri: URI): ITextModel | null {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModel(uri);\n}\n\n/**\n * Get all the created models.\n */\nexport function getModels(): ITextModel[] {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModels();\n}\n\n/**\n * Emitted when a model is created.\n * @event\n */\nexport function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelAdded(listener);\n}\n\n/**\n * Emitted right before a model is disposed.\n * @event\n */\nexport function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelRemoved(listener);\n}\n\n/**\n * Emitted when a different language is set to a model.\n * @event\n */\nexport function onDidChangeModelLanguage(listener: (e: { readonly model: ITextModel; readonly oldLanguage: string }) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelLanguageChanged((e) => {\n\t\tlistener({\n\t\t\tmodel: e.model,\n\t\t\toldLanguage: e.oldLanguageId\n\t\t});\n\t});\n}\n\n/**\n * Create a new web worker that has model syncing capabilities built in.\n * Specify an AMD module to load that will `create` an object that will be proxied.\n */\nexport function createWebWorker<T extends object>(opts: IInternalWebWorkerOptions): MonacoWebWorker<T> {\n\treturn actualCreateWebWorker<T>(StandaloneServices.get(IModelService), opts);\n}\n\n/**\n * Colorize the contents of `domNode` using attribute `data-lang`.\n */\nexport function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\treturn Colorizer.colorizeElement(themeService, languageService, domNode, options).then(() => {\n\t\tthemeService.registerEditorContainer(domNode);\n\t});\n}\n\n/**\n * Colorize `text` using language `languageId`.\n */\nexport function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorize(languageService, text, languageId, options);\n}\n\n/**\n * Colorize a line in a model.\n */\nexport function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize: number = 4): string {\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorizeModelLine(model, lineNumber, tabSize);\n}\n\n/**\n * @internal\n */\nfunction getSafeTokenizationSupport(language: string): Omit<languages.ITokenizationSupport, 'tokenizeEncoded'> {\n\tconst tokenizationSupport = languages.TokenizationRegistry.get(language);\n\tif (tokenizationSupport) {\n\t\treturn tokenizationSupport;\n\t}\n\treturn {\n\t\tgetInitialState: () => NullState,\n\t\ttokenize: (line: string, hasEOL: boolean, state: languages.IState) => nullTokenize(language, state)\n\t};\n}\n\n/**\n * Tokenize `text` using language `languageId`\n */\nexport function tokenize(text: string, languageId: string): languages.Token[][] {\n\t// Needed in order to get the mode registered for subsequent look-ups\n\tlanguages.TokenizationRegistry.getOrCreate(languageId);\n\n\tconst tokenizationSupport = getSafeTokenizationSupport(languageId);\n\tconst lines = splitLines(text);\n\tconst result: languages.Token[][] = [];\n\tlet state = tokenizationSupport.getInitialState();\n\tfor (let i = 0, len = lines.length; i < len; i++) {\n\t\tconst line = lines[i];\n\t\tconst tokenizationResult = tokenizationSupport.tokenize(line, true, state);\n\n\t\tresult[i] = tokenizationResult.tokens;\n\t\tstate = tokenizationResult.endState;\n\t}\n\treturn result;\n}\n\n/**\n * Define a new theme or update an existing theme.\n */\nexport function defineTheme(themeName: string, themeData: IStandaloneThemeData): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.defineTheme(themeName, themeData);\n}\n\n/**\n * Switches to a theme.\n */\nexport function setTheme(themeName: string): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.setTheme(themeName);\n}\n\n/**\n * Clears all cached font measurements and triggers re-measurement.\n */\nexport function remeasureFonts(): void {\n\tFontMeasurements.clearAllFontInfos();\n}\n\n/**\n * Register a command.\n */\nexport function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable {\n\treturn CommandsRegistry.registerCommand({ id, handler });\n}\n\nexport interface ILinkOpener {\n\topen(resource: URI): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a link is opened in any editor. The handler callback should return `true` if the link was handled and `false` otherwise.\n * The handler that was registered last will be called first when a link is opened.\n *\n * Returns a disposable that can unregister the opener again.\n */\nexport function registerLinkOpener(opener: ILinkOpener): IDisposable {\n\tconst openerService = StandaloneServices.get(IOpenerService);\n\treturn openerService.registerOpener({\n\t\tasync open(resource: string | URI) {\n\t\t\tif (typeof resource === 'string') {\n\t\t\t\tresource = URI.parse(resource);\n\t\t\t}\n\t\t\treturn opener.open(resource);\n\t\t}\n\t});\n}\n\n/**\n * Represents an object that can handle editor open operations (e.g. when \"go to definition\" is called\n * with a resource other than the current model).\n */\nexport interface ICodeEditorOpener {\n\t/**\n\t * Callback that is invoked when a resource other than the current model should be opened (e.g. when \"go to definition\" is called).\n\t * The callback should return `true` if the request was handled and `false` otherwise.\n\t * @param source The code editor instance that initiated the request.\n\t * @param resource The URI of the resource that should be opened.\n\t * @param selectionOrPosition An optional position or selection inside the model corresponding to `resource` that can be used to set the cursor.\n\t */\n\topenCodeEditor(source: ICodeEditor, resource: URI, selectionOrPosition?: IRange | IPosition): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a resource other than the current model should be opened in the editor (e.g. \"go to definition\").\n * The handler callback should return `true` if the request was handled and `false` otherwise.\n *\n * Returns a disposable that can unregister the opener again.\n *\n * If no handler is registered the default behavior is to do nothing for models other than the currently attached one.\n */\nexport function registerEditorOpener(opener: ICodeEditorOpener): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.registerCodeEditorOpenHandler(async (input: ITextResourceEditorInput, source: ICodeEditor | null, sideBySide?: boolean) => {\n\t\tif (!source) {\n\t\t\treturn null;\n\t\t}\n\t\tconst selection = input.options?.selection;\n\t\tlet selectionOrPosition: IRange | IPosition | undefined;\n\t\tif (selection && typeof selection.endLineNumber === 'number' && typeof selection.endColumn === 'number') {\n\t\t\tselectionOrPosition = <IRange>selection;\n\t\t} else if (selection) {\n\t\t\tselectionOrPosition = { lineNumber: selection.startLineNumber, column: selection.startColumn };\n\t\t}\n\t\tif (await opener.openCodeEditor(source, input.resource, selectionOrPosition)) {\n\t\t\treturn source; // return source editor to indicate that this handler has successfully handled the opening\n\t\t}\n\t\treturn null; // fallback to other registered handlers\n\t});\n}\n\n/**\n * @internal\n */\nexport function createMonacoEditorAPI(): typeof monaco.editor {\n\treturn {\n\t\t// methods\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreate: <any>create,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetEditors: <any>getEditors,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetDiffEditors: <any>getDiffEditors,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidCreateEditor: <any>onDidCreateEditor,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidCreateDiffEditor: <any>onDidCreateDiffEditor,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateDiffEditor: <any>createDiffEditor,\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddCommand: <any>addCommand,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddEditorAction: <any>addEditorAction,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddKeybindingRule: <any>addKeybindingRule,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddKeybindingRules: <any>addKeybindingRules,\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateModel: <any>createModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tsetModelLanguage: <any>setModelLanguage,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tsetModelMarkers: <any>setModelMarkers,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetModelMarkers: <any>getModelMarkers,\n\t\tremoveAllMarkers: removeAllMarkers,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidChangeMarkers: <any>onDidChangeMarkers,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetModels: <any>getModels,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetModel: <any>getModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidCreateModel: <any>onDidCreateModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonWillDisposeModel: <any>onWillDisposeModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidChangeModelLanguage: <any>onDidChangeModelLanguage,\n\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateWebWorker: <any>createWebWorker,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcolorizeElement: <any>colorizeElement,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcolorize: <any>colorize,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcolorizeModelLine: <any>colorizeModelLine,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\ttokenize: <any>tokenize,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tdefineTheme: <any>defineTheme,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tsetTheme: <any>setTheme,\n\t\tremeasureFonts: remeasureFonts,\n\t\tregisterCommand: registerCommand,\n\n\t\tregisterLinkOpener: registerLinkOpener,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tregisterEditorOpener: <any>registerEditorOpener,\n\n\t\t// enums\n\t\tAccessibilitySupport: standaloneEnums.AccessibilitySupport,\n\t\tContentWidgetPositionPreference: standaloneEnums.ContentWidgetPositionPreference,\n\t\tCursorChangeReason: standaloneEnums.CursorChangeReason,\n\t\tDefaultEndOfLine: standaloneEnums.DefaultEndOfLine,\n\t\tEditorAutoIndentStrategy: standaloneEnums.EditorAutoIndentStrategy,\n\t\tEditorOption: standaloneEnums.EditorOption,\n\t\tEndOfLinePreference: standaloneEnums.EndOfLinePreference,\n\t\tEndOfLineSequence: standaloneEnums.EndOfLineSequence,\n\t\tMinimapPosition: standaloneEnums.MinimapPosition,\n\t\tMinimapSectionHeaderStyle: standaloneEnums.MinimapSectionHeaderStyle,\n\t\tMouseTargetType: standaloneEnums.MouseTargetType,\n\t\tOverlayWidgetPositionPreference: standaloneEnums.OverlayWidgetPositionPreference,\n\t\tOverviewRulerLane: standaloneEnums.OverviewRulerLane,\n\t\tGlyphMarginLane: standaloneEnums.GlyphMarginLane,\n\t\tRenderLineNumbersType: standaloneEnums.RenderLineNumbersType,\n\t\tRenderMinimap: standaloneEnums.RenderMinimap,\n\t\tScrollbarVisibility: standaloneEnums.ScrollbarVisibility,\n\t\tScrollType: standaloneEnums.ScrollType,\n\t\tTextEditorCursorBlinkingStyle: standaloneEnums.TextEditorCursorBlinkingStyle,\n\t\tTextEditorCursorStyle: standaloneEnums.TextEditorCursorStyle,\n\t\tTrackedRangeStickiness: standaloneEnums.TrackedRangeStickiness,\n\t\tWrappingIndent: standaloneEnums.WrappingIndent,\n\t\tInjectedTextCursorStops: standaloneEnums.InjectedTextCursorStops,\n\t\tPositionAffinity: standaloneEnums.PositionAffinity,\n\t\tShowLightbulbIconMode: standaloneEnums.ShowLightbulbIconMode,\n\t\tTextDirection: standaloneEnums.TextDirection,\n\n\t\t// classes\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tConfigurationChangedEvent: <any>ConfigurationChangedEvent,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tBareFontInfo: <any>BareFontInfo,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tFontInfo: <any>FontInfo,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tTextModelResolvedOptions: <any>TextModelResolvedOptions,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tFindMatch: <any>FindMatch,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tApplyUpdateResult: <any>ApplyUpdateResult,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tEditorZoom: <any>EditorZoom,\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateMultiFileDiffEditor: <any>createMultiFileDiffEditor,\n\n\t\t// vars\n\t\tEditorType: EditorType,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tEditorOptions: <any>EditorOptions\n\n\t};\n}\n"]}
@@ -517,42 +517,77 @@ export function registerInlayHintsProvider(languageSelector, provider) {
517
517
  */
518
518
  export function createMonacoLanguagesAPI() {
519
519
  return {
520
+ // eslint-disable-next-line local/code-no-any-casts
520
521
  register: register,
522
+ // eslint-disable-next-line local/code-no-any-casts
521
523
  getLanguages: getLanguages,
524
+ // eslint-disable-next-line local/code-no-any-casts
522
525
  onLanguage: onLanguage,
526
+ // eslint-disable-next-line local/code-no-any-casts
523
527
  onLanguageEncountered: onLanguageEncountered,
528
+ // eslint-disable-next-line local/code-no-any-casts
524
529
  getEncodedLanguageId: getEncodedLanguageId,
525
530
  // provider methods
531
+ // eslint-disable-next-line local/code-no-any-casts
526
532
  setLanguageConfiguration: setLanguageConfiguration,
527
533
  setColorMap: setColorMap,
534
+ // eslint-disable-next-line local/code-no-any-casts
528
535
  registerTokensProviderFactory: registerTokensProviderFactory,
536
+ // eslint-disable-next-line local/code-no-any-casts
529
537
  setTokensProvider: setTokensProvider,
538
+ // eslint-disable-next-line local/code-no-any-casts
530
539
  setMonarchTokensProvider: setMonarchTokensProvider,
540
+ // eslint-disable-next-line local/code-no-any-casts
531
541
  registerReferenceProvider: registerReferenceProvider,
542
+ // eslint-disable-next-line local/code-no-any-casts
532
543
  registerRenameProvider: registerRenameProvider,
544
+ // eslint-disable-next-line local/code-no-any-casts
533
545
  registerNewSymbolNameProvider: registerNewSymbolNameProvider,
546
+ // eslint-disable-next-line local/code-no-any-casts
534
547
  registerCompletionItemProvider: registerCompletionItemProvider,
548
+ // eslint-disable-next-line local/code-no-any-casts
535
549
  registerSignatureHelpProvider: registerSignatureHelpProvider,
550
+ // eslint-disable-next-line local/code-no-any-casts
536
551
  registerHoverProvider: registerHoverProvider,
552
+ // eslint-disable-next-line local/code-no-any-casts
537
553
  registerDocumentSymbolProvider: registerDocumentSymbolProvider,
554
+ // eslint-disable-next-line local/code-no-any-casts
538
555
  registerDocumentHighlightProvider: registerDocumentHighlightProvider,
556
+ // eslint-disable-next-line local/code-no-any-casts
539
557
  registerLinkedEditingRangeProvider: registerLinkedEditingRangeProvider,
558
+ // eslint-disable-next-line local/code-no-any-casts
540
559
  registerDefinitionProvider: registerDefinitionProvider,
560
+ // eslint-disable-next-line local/code-no-any-casts
541
561
  registerImplementationProvider: registerImplementationProvider,
562
+ // eslint-disable-next-line local/code-no-any-casts
542
563
  registerTypeDefinitionProvider: registerTypeDefinitionProvider,
564
+ // eslint-disable-next-line local/code-no-any-casts
543
565
  registerCodeLensProvider: registerCodeLensProvider,
566
+ // eslint-disable-next-line local/code-no-any-casts
544
567
  registerCodeActionProvider: registerCodeActionProvider,
568
+ // eslint-disable-next-line local/code-no-any-casts
545
569
  registerDocumentFormattingEditProvider: registerDocumentFormattingEditProvider,
570
+ // eslint-disable-next-line local/code-no-any-casts
546
571
  registerDocumentRangeFormattingEditProvider: registerDocumentRangeFormattingEditProvider,
572
+ // eslint-disable-next-line local/code-no-any-casts
547
573
  registerOnTypeFormattingEditProvider: registerOnTypeFormattingEditProvider,
574
+ // eslint-disable-next-line local/code-no-any-casts
548
575
  registerLinkProvider: registerLinkProvider,
576
+ // eslint-disable-next-line local/code-no-any-casts
549
577
  registerColorProvider: registerColorProvider,
578
+ // eslint-disable-next-line local/code-no-any-casts
550
579
  registerFoldingRangeProvider: registerFoldingRangeProvider,
580
+ // eslint-disable-next-line local/code-no-any-casts
551
581
  registerDeclarationProvider: registerDeclarationProvider,
582
+ // eslint-disable-next-line local/code-no-any-casts
552
583
  registerSelectionRangeProvider: registerSelectionRangeProvider,
584
+ // eslint-disable-next-line local/code-no-any-casts
553
585
  registerDocumentSemanticTokensProvider: registerDocumentSemanticTokensProvider,
586
+ // eslint-disable-next-line local/code-no-any-casts
554
587
  registerDocumentRangeSemanticTokensProvider: registerDocumentRangeSemanticTokensProvider,
588
+ // eslint-disable-next-line local/code-no-any-casts
555
589
  registerInlineCompletionsProvider: registerInlineCompletionsProvider,
590
+ // eslint-disable-next-line local/code-no-any-casts
556
591
  registerInlayHintsProvider: registerInlayHintsProvider,
557
592
  // enums
558
593
  DocumentHighlightKind: standaloneEnums.DocumentHighlightKind,
@@ -575,7 +610,9 @@ export function createMonacoLanguagesAPI() {
575
610
  InlineCompletionDisplayLocationKind: standaloneEnums.InlineCompletionDisplayLocationKind,
576
611
  // classes
577
612
  FoldingRangeKind: languages.FoldingRangeKind,
613
+ // eslint-disable-next-line local/code-no-any-casts
578
614
  SelectedSuggestionInfo: languages.SelectedSuggestionInfo,
615
+ // eslint-disable-next-line local/code-no-any-casts
579
616
  EditDeltaInfo: EditDeltaInfo,
580
617
  };
581
618
  }