monaco-editor-core 0.57.0 → 0.58.0-dev-20261104

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 (508) hide show
  1. package/esm/nls.keys.json +1 -1
  2. package/esm/nls.messages.cs.js +2 -2
  3. package/esm/nls.messages.de.js +2 -2
  4. package/esm/nls.messages.es.js +2 -2
  5. package/esm/nls.messages.fr.js +2 -2
  6. package/esm/nls.messages.it.js +2 -2
  7. package/esm/nls.messages.ja.js +2 -2
  8. package/esm/nls.messages.js +1 -1
  9. package/esm/nls.messages.json +1 -1
  10. package/esm/nls.messages.ko.js +2 -2
  11. package/esm/nls.messages.pl.js +2 -2
  12. package/esm/nls.messages.pt-br.js +2 -2
  13. package/esm/nls.messages.ru.js +2 -2
  14. package/esm/nls.messages.tr.js +2 -2
  15. package/esm/nls.messages.zh-cn.js +2 -2
  16. package/esm/nls.messages.zh-tw.js +2 -2
  17. package/esm/nls.metadata.json +38 -6
  18. package/esm/vs/base/browser/browser.js +8 -0
  19. package/esm/vs/base/browser/browser.js.map +1 -1
  20. package/esm/vs/base/browser/contextmenu.js +8 -1
  21. package/esm/vs/base/browser/contextmenu.js.map +1 -1
  22. package/esm/vs/base/browser/dom.js +34 -5
  23. package/esm/vs/base/browser/dom.js.map +1 -1
  24. package/esm/vs/base/browser/dompurify/dompurify.js +2457 -2640
  25. package/esm/vs/base/browser/markdownRenderer.js +48 -21
  26. package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
  27. package/esm/vs/base/browser/pixelRatio.js +3 -2
  28. package/esm/vs/base/browser/pixelRatio.js.map +1 -1
  29. package/esm/vs/base/browser/ui/actionbar/actionViewItems.js +5 -2
  30. package/esm/vs/base/browser/ui/actionbar/actionViewItems.js.map +1 -1
  31. package/esm/vs/base/browser/ui/actionbar/actionbar.js +7 -2
  32. package/esm/vs/base/browser/ui/actionbar/actionbar.js.map +1 -1
  33. package/esm/vs/base/browser/ui/animations/animations.js +68 -40
  34. package/esm/vs/base/browser/ui/animations/animations.js.map +1 -1
  35. package/esm/vs/base/browser/ui/button/button.js +7 -0
  36. package/esm/vs/base/browser/ui/button/button.js.map +1 -1
  37. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  38. package/esm/vs/base/browser/ui/contextview/contextview.css +15 -0
  39. package/esm/vs/base/browser/ui/contextview/contextview.js +266 -40
  40. package/esm/vs/base/browser/ui/contextview/contextview.js.map +1 -1
  41. package/esm/vs/base/browser/ui/contextview/windowControlsOverlay.js +72 -0
  42. package/esm/vs/base/browser/ui/contextview/windowControlsOverlay.js.map +1 -0
  43. package/esm/vs/base/browser/ui/dialog/dialog.css +5 -0
  44. package/esm/vs/base/browser/ui/dropdown/dropdown.js +2 -1
  45. package/esm/vs/base/browser/ui/dropdown/dropdown.js.map +1 -1
  46. package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -0
  47. package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js.map +1 -1
  48. package/esm/vs/base/browser/ui/hover/hover.js.map +1 -1
  49. package/esm/vs/base/browser/ui/list/listView.js +87 -15
  50. package/esm/vs/base/browser/ui/list/listView.js.map +1 -1
  51. package/esm/vs/base/browser/ui/list/listWidget.js +37 -15
  52. package/esm/vs/base/browser/ui/list/listWidget.js.map +1 -1
  53. package/esm/vs/base/browser/ui/menu/menu.js +189 -52
  54. package/esm/vs/base/browser/ui/menu/menu.js.map +1 -1
  55. package/esm/vs/base/browser/ui/radio/radio.css +11 -0
  56. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js +2 -1
  57. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js.map +1 -1
  58. package/esm/vs/base/browser/ui/selectBox/selectBox.js.map +1 -1
  59. package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js +14 -8
  60. package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js.map +1 -1
  61. package/esm/vs/base/browser/ui/splitview/splitview.js +11 -7
  62. package/esm/vs/base/browser/ui/splitview/splitview.js.map +1 -1
  63. package/esm/vs/base/browser/ui/toggle/switch.css +16 -7
  64. package/esm/vs/base/browser/ui/toggle/switch.js +9 -6
  65. package/esm/vs/base/browser/ui/toggle/switch.js.map +1 -1
  66. package/esm/vs/base/browser/ui/toolbar/toolbar.css +1 -2
  67. package/esm/vs/base/browser/ui/toolbar/toolbar.js +85 -38
  68. package/esm/vs/base/browser/ui/toolbar/toolbar.js.map +1 -1
  69. package/esm/vs/base/browser/ui/tree/abstractTree.js +48 -9
  70. package/esm/vs/base/browser/ui/tree/abstractTree.js.map +1 -1
  71. package/esm/vs/base/browser/ui/tree/asyncDataTree.js +10 -1
  72. package/esm/vs/base/browser/ui/tree/asyncDataTree.js.map +1 -1
  73. package/esm/vs/base/browser/ui/tree/objectTree.js +3 -0
  74. package/esm/vs/base/browser/ui/tree/objectTree.js.map +1 -1
  75. package/esm/vs/base/browser/ui/tree/tree.js.map +1 -1
  76. package/esm/vs/base/common/actions.js +8 -2
  77. package/esm/vs/base/common/actions.js.map +1 -1
  78. package/esm/vs/base/common/arrays.js +4 -4
  79. package/esm/vs/base/common/arrays.js.map +1 -1
  80. package/esm/vs/base/common/async.js +12 -8
  81. package/esm/vs/base/common/async.js.map +1 -1
  82. package/esm/vs/base/common/cancellation.js +25 -0
  83. package/esm/vs/base/common/cancellation.js.map +1 -1
  84. package/esm/vs/base/common/codicons.js +2 -0
  85. package/esm/vs/base/common/codicons.js.map +1 -1
  86. package/esm/vs/base/common/codiconsLibrary.js +2 -0
  87. package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
  88. package/esm/vs/base/common/color.js +1 -1
  89. package/esm/vs/base/common/color.js.map +1 -1
  90. package/esm/vs/base/common/diff/diff.js +60 -1
  91. package/esm/vs/base/common/diff/diff.js.map +1 -1
  92. package/esm/vs/base/common/event.js +1 -1
  93. package/esm/vs/base/common/event.js.map +1 -1
  94. package/esm/vs/base/common/glob.js +1 -0
  95. package/esm/vs/base/common/glob.js.map +1 -1
  96. package/esm/vs/base/common/htmlContent.js +74 -12
  97. package/esm/vs/base/common/htmlContent.js.map +1 -1
  98. package/esm/vs/base/common/json.js +19 -0
  99. package/esm/vs/base/common/json.js.map +1 -0
  100. package/esm/vs/base/common/network.js +16 -0
  101. package/esm/vs/base/common/network.js.map +1 -1
  102. package/esm/vs/base/common/resources.js +14 -2
  103. package/esm/vs/base/common/resources.js.map +1 -1
  104. package/esm/vs/base/common/strings.js +1 -1
  105. package/esm/vs/base/common/strings.js.map +1 -1
  106. package/esm/vs/base/common/uri.js +2 -2
  107. package/esm/vs/base/common/uri.js.map +1 -1
  108. package/esm/vs/editor/browser/config/editorConfiguration.js +1 -1
  109. package/esm/vs/editor/browser/config/fontMeasurements.js +19 -6
  110. package/esm/vs/editor/browser/config/fontMeasurements.js.map +1 -1
  111. package/esm/vs/editor/browser/controller/dragScrolling.js +3 -3
  112. package/esm/vs/editor/browser/controller/editContext/clipboardUtils.js +11 -5
  113. package/esm/vs/editor/browser/controller/editContext/clipboardUtils.js.map +1 -1
  114. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js +8 -38
  115. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js.map +1 -1
  116. package/esm/vs/editor/browser/controller/editContext/native/screenReaderContentRich.js +3 -3
  117. package/esm/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +6 -6
  118. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +12 -10
  119. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js.map +1 -1
  120. package/esm/vs/editor/browser/controller/mouseHandler.js +7 -7
  121. package/esm/vs/editor/browser/controller/mouseTarget.js +3 -3
  122. package/esm/vs/editor/browser/coreCommands.js +2 -2
  123. package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
  124. package/esm/vs/editor/browser/editorMarkdownSanitizer.js +19 -0
  125. package/esm/vs/editor/browser/editorMarkdownSanitizer.js.map +1 -0
  126. package/esm/vs/editor/browser/gpu/rectangleRenderer.js +1 -1
  127. package/esm/vs/editor/browser/gpu/viewGpuContext.js +1 -1
  128. package/esm/vs/editor/browser/observableCodeEditor.js +1 -1
  129. package/esm/vs/editor/browser/services/editorWorkerService.js +3 -2
  130. package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
  131. package/esm/vs/editor/browser/services/openerService.js +6 -2
  132. package/esm/vs/editor/browser/services/openerService.js.map +1 -1
  133. package/esm/vs/editor/browser/view/domLineBreaksComputer.js +34 -11
  134. package/esm/vs/editor/browser/view/domLineBreaksComputer.js.map +1 -1
  135. package/esm/vs/editor/browser/view/viewController.js +7 -7
  136. package/esm/vs/editor/browser/view/viewController.js.map +1 -1
  137. package/esm/vs/editor/browser/view/viewLayer.js +1 -1
  138. package/esm/vs/editor/browser/view/viewOverlays.js +4 -4
  139. package/esm/vs/editor/browser/view.js +5 -5
  140. package/esm/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  141. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +11 -3
  142. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js.map +1 -1
  143. package/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +6 -6
  144. package/esm/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +12 -12
  145. package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +9 -2
  146. package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js.map +1 -1
  147. package/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.js +2 -2
  148. package/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +2 -2
  149. package/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  150. package/esm/vs/editor/browser/viewParts/margin/margin.js +2 -2
  151. package/esm/vs/editor/browser/viewParts/minimap/minimap.js +6 -6
  152. package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +9 -2
  153. package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js.map +1 -1
  154. package/esm/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +5 -5
  155. package/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +3 -3
  156. package/esm/vs/editor/browser/viewParts/rulers/rulers.js +2 -2
  157. package/esm/vs/editor/browser/viewParts/rulersGpu/rulersGpu.js +1 -1
  158. package/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +3 -3
  159. package/esm/vs/editor/browser/viewParts/selections/selections.js +2 -2
  160. package/esm/vs/editor/browser/viewParts/viewCursors/viewCursor.js +2 -2
  161. package/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.js +6 -6
  162. package/esm/vs/editor/browser/viewParts/viewLines/viewLineOptions.js +5 -5
  163. package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js +11 -11
  164. package/esm/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +1 -1
  165. package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  166. package/esm/vs/editor/browser/viewParts/whitespace/whitespace.js +4 -4
  167. package/esm/vs/editor/browser/viewParts/wordWrapIndicator/wordWrapIndicator.js +2 -2
  168. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +22 -21
  169. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
  170. package/esm/vs/editor/browser/widget/diffEditor/commands.js +12 -12
  171. package/esm/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +18 -18
  172. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -1
  173. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +3 -3
  174. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +10 -10
  175. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js.map +1 -1
  176. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +2 -2
  177. package/esm/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +4 -4
  178. package/esm/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +21 -3
  179. package/esm/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js.map +1 -1
  180. package/esm/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  181. package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +10 -10
  182. package/esm/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  183. package/esm/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
  184. package/esm/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +2 -2
  185. package/esm/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
  186. package/esm/vs/editor/browser/widget/multiDiffEditor/colors.js +3 -3
  187. package/esm/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollLayout.js +2 -2
  188. package/esm/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollLayout.js.map +1 -1
  189. package/esm/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollView.js +21 -2
  190. package/esm/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollView.js.map +1 -1
  191. package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +2 -2
  192. package/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +11 -3
  193. package/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js.map +1 -1
  194. package/esm/vs/editor/browser/widget/multiDiffEditor/virtualizedItemManager.js +1 -0
  195. package/esm/vs/editor/browser/widget/multiDiffEditor/virtualizedItemManager.js.map +1 -1
  196. package/esm/vs/editor/common/commands/columnSelectionPasteCommand.js +64 -0
  197. package/esm/vs/editor/common/commands/columnSelectionPasteCommand.js.map +1 -0
  198. package/esm/vs/editor/common/config/editorConfigurationSchema.js +68 -58
  199. package/esm/vs/editor/common/config/editorConfigurationSchema.js.map +1 -1
  200. package/esm/vs/editor/common/config/editorOptions.js +560 -500
  201. package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
  202. package/esm/vs/editor/common/core/editorColorRegistry.js +71 -71
  203. package/esm/vs/editor/common/core/edits/textEdit.js +16 -0
  204. package/esm/vs/editor/common/core/edits/textEdit.js.map +1 -1
  205. package/esm/vs/editor/common/cursor/cursor.js +20 -10
  206. package/esm/vs/editor/common/cursor/cursor.js.map +1 -1
  207. package/esm/vs/editor/common/cursor/cursorTypeEditOperations.js +67 -14
  208. package/esm/vs/editor/common/cursor/cursorTypeEditOperations.js.map +1 -1
  209. package/esm/vs/editor/common/cursor/cursorTypeOperations.js +2 -2
  210. package/esm/vs/editor/common/cursor/cursorTypeOperations.js.map +1 -1
  211. package/esm/vs/editor/common/cursorCommon.js +22 -21
  212. package/esm/vs/editor/common/cursorCommon.js.map +1 -1
  213. package/esm/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +21 -8
  214. package/esm/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js.map +1 -1
  215. package/esm/vs/editor/common/diff/documentDiffProvider.js.map +1 -1
  216. package/esm/vs/editor/common/diff/externalLinesDiffComputer.js +38 -26
  217. package/esm/vs/editor/common/diff/externalLinesDiffComputer.js.map +1 -1
  218. package/esm/vs/editor/common/diff/rangeMapping.js +11 -1
  219. package/esm/vs/editor/common/diff/rangeMapping.js.map +1 -1
  220. package/esm/vs/editor/common/diff/verifyLinesDiff.js +28 -0
  221. package/esm/vs/editor/common/diff/verifyLinesDiff.js.map +1 -0
  222. package/esm/vs/editor/common/editorContextKeys.js +53 -53
  223. package/esm/vs/editor/common/languages/languageConfiguration.js +8 -0
  224. package/esm/vs/editor/common/languages/languageConfiguration.js.map +1 -1
  225. package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
  226. package/esm/vs/editor/common/languages.js +56 -56
  227. package/esm/vs/editor/common/model/editStack.js +1 -1
  228. package/esm/vs/editor/common/services/editorWebWorker.js +27 -6
  229. package/esm/vs/editor/common/services/editorWebWorker.js.map +1 -1
  230. package/esm/vs/editor/common/services/editorWorker.js.map +1 -1
  231. package/esm/vs/editor/common/services/languageService.js +6 -4
  232. package/esm/vs/editor/common/services/languageService.js.map +1 -1
  233. package/esm/vs/editor/common/services/markerDecorationsService.js +21 -2
  234. package/esm/vs/editor/common/services/markerDecorationsService.js.map +1 -1
  235. package/esm/vs/editor/common/standalone/standaloneEnums.js +100 -97
  236. package/esm/vs/editor/common/standalone/standaloneEnums.js.map +1 -1
  237. package/esm/vs/editor/common/standaloneStrings.js +11 -11
  238. package/esm/vs/editor/common/textModelEditSource.js +9 -0
  239. package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
  240. package/esm/vs/editor/common/viewLayout/viewLayout.js +16 -16
  241. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  242. package/esm/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +1 -1
  243. package/esm/vs/editor/common/viewModel/viewModelImpl.js +19 -19
  244. package/esm/vs/editor/common/viewModel/viewModelImpl.js.map +1 -1
  245. package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  246. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +9 -9
  247. package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  248. package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  249. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +23 -20
  250. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js.map +1 -1
  251. package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  252. package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  253. package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  254. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  255. package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  256. package/esm/vs/editor/contrib/codeAction/browser/codeActionModel.js +1 -1
  257. package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  258. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  259. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js +25 -10
  260. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js.map +1 -1
  261. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  262. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  263. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerContribution.js +1 -1
  264. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +3 -3
  265. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  266. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerParticipant.js +1 -1
  267. package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
  268. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +17 -17
  269. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js.map +1 -1
  270. package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  271. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  272. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +39 -39
  273. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js.map +1 -1
  274. package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  275. package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  276. package/esm/vs/editor/contrib/dropOrPasteInto/browser/pasteEditSession.js +19 -0
  277. package/esm/vs/editor/contrib/dropOrPasteInto/browser/pasteEditSession.js.map +1 -0
  278. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +26 -18
  279. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js.map +1 -1
  280. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  281. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js.map +1 -1
  282. package/esm/vs/editor/contrib/find/browser/findController.js +18 -18
  283. package/esm/vs/editor/contrib/find/browser/findController.js.map +1 -1
  284. package/esm/vs/editor/contrib/find/browser/findModel.js +6 -6
  285. package/esm/vs/editor/contrib/find/browser/findWidget.js +40 -40
  286. package/esm/vs/editor/contrib/find/browser/findWidget.js.map +1 -1
  287. package/esm/vs/editor/contrib/folding/browser/folding.js +23 -23
  288. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  289. package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  290. package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
  291. package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  292. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  293. package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  294. package/esm/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +3 -3
  295. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +2 -2
  296. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +4 -4
  297. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js.map +1 -1
  298. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  299. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  300. package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  301. package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  302. package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  303. package/esm/vs/editor/contrib/hover/browser/contentHoverController.js +9 -3
  304. package/esm/vs/editor/contrib/hover/browser/contentHoverController.js.map +1 -1
  305. package/esm/vs/editor/contrib/hover/browser/glyphHoverController.js +2 -2
  306. package/esm/vs/editor/contrib/hover/browser/glyphHoverWidget.js +2 -1
  307. package/esm/vs/editor/contrib/hover/browser/glyphHoverWidget.js.map +1 -1
  308. package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  309. package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  310. package/esm/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
  311. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +10 -8
  312. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js.map +1 -1
  313. package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +6 -6
  314. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  315. package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  316. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +5 -5
  317. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +9 -9
  318. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +3 -3
  319. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js.map +1 -1
  320. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +21 -21
  321. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -13
  322. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +7 -7
  323. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  324. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +6 -5
  325. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js.map +1 -1
  326. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +1 -1
  327. package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +2 -2
  328. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +7 -7
  329. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
  330. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +1 -1
  331. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +3 -3
  332. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  333. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  334. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  335. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +32 -32
  336. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +5 -4
  337. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js.map +1 -1
  338. package/esm/vs/editor/contrib/links/browser/links.js +16 -15
  339. package/esm/vs/editor/contrib/links/browser/links.js.map +1 -1
  340. package/esm/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +1 -1
  341. package/esm/vs/editor/contrib/message/browser/messageController.js +16 -12
  342. package/esm/vs/editor/contrib/message/browser/messageController.js.map +1 -1
  343. package/esm/vs/editor/contrib/middleScroll/browser/middleScrollController.js +1 -1
  344. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +91 -55
  345. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js.map +1 -1
  346. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  347. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +3 -3
  348. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js.map +1 -1
  349. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +6 -4
  350. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js.map +1 -1
  351. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  352. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  353. package/esm/vs/editor/contrib/placeholderText/browser/placeholderTextContribution.js +1 -1
  354. package/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +1 -1
  355. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +12 -12
  356. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  357. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +3 -3
  358. package/esm/vs/editor/contrib/rename/browser/rename.js +11 -11
  359. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  360. package/esm/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +6 -6
  361. package/esm/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +23 -13
  362. package/esm/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js.map +1 -1
  363. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +5 -5
  364. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +5 -5
  365. package/esm/vs/editor/contrib/snippet/browser/snippetSession.js +2 -2
  366. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  367. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  368. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +10 -8
  369. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js.map +1 -1
  370. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +1 -1
  371. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
  372. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +6 -6
  373. package/esm/vs/editor/contrib/suggest/browser/suggest.js +9 -9
  374. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +15 -15
  375. package/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +2 -2
  376. package/esm/vs/editor/contrib/suggest/browser/suggestModel.js +11 -11
  377. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +27 -27
  378. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +8 -6
  379. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js.map +1 -1
  380. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +5 -5
  381. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +3 -3
  382. package/esm/vs/editor/contrib/suggest/browser/wordDistance.js +1 -1
  383. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  384. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  385. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  386. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  387. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +27 -27
  388. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +9 -9
  389. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  390. package/esm/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js +1 -1
  391. package/esm/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js.map +1 -1
  392. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +50 -14
  393. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js.map +1 -1
  394. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +6 -6
  395. package/esm/vs/editor/editor.api.d.ts +133 -98
  396. package/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +1 -1
  397. package/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +5 -3
  398. package/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js.map +1 -1
  399. package/esm/vs/editor/standalone/browser/standaloneCodeEditor.js +15 -1
  400. package/esm/vs/editor/standalone/browser/standaloneCodeEditor.js.map +1 -1
  401. package/esm/vs/nls.js.map +1 -1
  402. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +72 -66
  403. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js.map +1 -1
  404. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  405. package/esm/vs/platform/actionWidget/browser/actionList.js +434 -136
  406. package/esm/vs/platform/actionWidget/browser/actionList.js.map +1 -1
  407. package/esm/vs/platform/actionWidget/browser/actionWidget.css +74 -4
  408. package/esm/vs/platform/actionWidget/browser/actionWidget.js +24 -26
  409. package/esm/vs/platform/actionWidget/browser/actionWidget.js.map +1 -1
  410. package/esm/vs/platform/actionWidget/browser/actionWidgetMotion.js +16 -0
  411. package/esm/vs/platform/actionWidget/browser/actionWidgetMotion.js.map +1 -0
  412. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +15 -17
  413. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js.map +1 -1
  414. package/esm/vs/platform/actions/browser/toolbar.js +25 -12
  415. package/esm/vs/platform/actions/browser/toolbar.js.map +1 -1
  416. package/esm/vs/platform/actions/common/actions.js +4 -2
  417. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  418. package/esm/vs/platform/actions/common/menuService.js +15 -8
  419. package/esm/vs/platform/actions/common/menuService.js.map +1 -1
  420. package/esm/vs/platform/configuration/common/configuration.js +3 -1
  421. package/esm/vs/platform/configuration/common/configuration.js.map +1 -1
  422. package/esm/vs/platform/configuration/common/configurationModels.js +16 -11
  423. package/esm/vs/platform/configuration/common/configurationModels.js.map +1 -1
  424. package/esm/vs/platform/configuration/common/configurationRegistry.js +29 -27
  425. package/esm/vs/platform/configuration/common/configurationRegistry.js.map +1 -1
  426. package/esm/vs/platform/configuration/common/configurations.js +13 -1
  427. package/esm/vs/platform/configuration/common/configurations.js.map +1 -1
  428. package/esm/vs/platform/contextkey/browser/contextKeyService.js +2 -2
  429. package/esm/vs/platform/contextkey/browser/contextKeyService.js.map +1 -1
  430. package/esm/vs/platform/contextkey/common/contextkey.js +28 -14
  431. package/esm/vs/platform/contextkey/common/contextkey.js.map +1 -1
  432. package/esm/vs/platform/contextkey/common/contextkeys.js +10 -10
  433. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  434. package/esm/vs/platform/contextview/browser/contextMenuHandler.js +17 -4
  435. package/esm/vs/platform/contextview/browser/contextMenuHandler.js.map +1 -1
  436. package/esm/vs/platform/contextview/browser/contextMenuService.js +1 -1
  437. package/esm/vs/platform/contextview/browser/contextMenuService.js.map +1 -1
  438. package/esm/vs/platform/contextview/browser/contextView.js.map +1 -1
  439. package/esm/vs/platform/contextview/browser/contextViewService.js +7 -2
  440. package/esm/vs/platform/contextview/browser/contextViewService.js.map +1 -1
  441. package/esm/vs/platform/editor/common/editor.js +17 -0
  442. package/esm/vs/platform/editor/common/editor.js.map +1 -1
  443. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  444. package/esm/vs/platform/hover/browser/hoverService.js +6 -3
  445. package/esm/vs/platform/hover/browser/hoverService.js.map +1 -1
  446. package/esm/vs/platform/hover/browser/hoverWidget.js +38 -6
  447. package/esm/vs/platform/hover/browser/hoverWidget.js.map +1 -1
  448. package/esm/vs/platform/hover/browser/updatableHoverWidget.js +32 -5
  449. package/esm/vs/platform/hover/browser/updatableHoverWidget.js.map +1 -1
  450. package/esm/vs/platform/instantiation/common/instantiationService.js +1 -1
  451. package/esm/vs/platform/instantiation/common/instantiationService.js.map +1 -1
  452. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
  453. package/esm/vs/platform/keybinding/common/keybindingResolver.js +1 -1
  454. package/esm/vs/platform/keybinding/common/keybindingResolver.js.map +1 -1
  455. package/esm/vs/platform/list/browser/listService.js +27 -27
  456. package/esm/vs/platform/markers/common/markerService.js +11 -8
  457. package/esm/vs/platform/markers/common/markerService.js.map +1 -1
  458. package/esm/vs/platform/markers/common/markers.js +6 -6
  459. package/esm/vs/platform/markers/common/markers.js.map +1 -1
  460. package/esm/vs/platform/notification/common/notification.js.map +1 -1
  461. package/esm/vs/platform/notification/common/notificationMessage.js +37 -0
  462. package/esm/vs/platform/notification/common/notificationMessage.js.map +1 -0
  463. package/esm/vs/platform/opener/common/opener.js.map +1 -1
  464. package/esm/vs/platform/progress/common/progress.js.map +1 -1
  465. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +8 -8
  466. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  467. package/esm/vs/platform/quickinput/browser/media/quickInput.css +33 -2
  468. package/esm/vs/platform/quickinput/browser/quickAccess.js +7 -4
  469. package/esm/vs/platform/quickinput/browser/quickAccess.js.map +1 -1
  470. package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
  471. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  472. package/esm/vs/platform/quickinput/browser/quickInputController.js +65 -15
  473. package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
  474. package/esm/vs/platform/quickinput/browser/quickInputList.js +96 -90
  475. package/esm/vs/platform/quickinput/browser/quickInputList.js.map +1 -1
  476. package/esm/vs/platform/quickinput/browser/quickInputService.js +5 -7
  477. package/esm/vs/platform/quickinput/browser/quickInputService.js.map +1 -1
  478. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  479. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  480. package/esm/vs/platform/quickinput/browser/tree/quickTree.js +1 -1
  481. package/esm/vs/platform/quickinput/common/quickAccess.js.map +1 -1
  482. package/esm/vs/platform/quickinput/common/quickInput.js.map +1 -1
  483. package/esm/vs/platform/storage/common/storage.js.map +1 -1
  484. package/esm/vs/platform/theme/common/colorRegistry.js +1 -0
  485. package/esm/vs/platform/theme/common/colorRegistry.js.map +1 -1
  486. package/esm/vs/platform/theme/common/colorUtils.js +11 -3
  487. package/esm/vs/platform/theme/common/colorUtils.js.map +1 -1
  488. package/esm/vs/platform/theme/common/colors/baseColors.js +19 -19
  489. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -9
  490. package/esm/vs/platform/theme/common/colors/chartsColors.js.map +1 -1
  491. package/esm/vs/platform/theme/common/colors/confettiColors.js +14 -0
  492. package/esm/vs/platform/theme/common/colors/confettiColors.js.map +1 -0
  493. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  494. package/esm/vs/platform/theme/common/colors/inputColors.js +48 -48
  495. package/esm/vs/platform/theme/common/colors/inputColors.js.map +1 -1
  496. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  497. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  498. package/esm/vs/platform/theme/common/colors/minimapColors.js +13 -13
  499. package/esm/vs/platform/theme/common/colors/minimapColors.js.map +1 -1
  500. package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
  501. package/esm/vs/platform/theme/common/colors/quickpickColors.js +10 -10
  502. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  503. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  504. package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  505. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  506. package/monaco.d.ts +133 -98
  507. package/package.json +3 -3
  508. package/version.txt +1 -1
@@ -29,6 +29,7 @@ let MarkerDecorationsService = class MarkerDecorationsService extends Disposable
29
29
  super();
30
30
  this._markerService = _markerService;
31
31
  this._onDidChangeMarker = this._register(new Emitter());
32
+ this._onDidChangeMarkerLimit = this._register(new Emitter());
32
33
  this._suppressedRanges = new ResourceMap();
33
34
  this._markerDecorations = new ResourceMap();
34
35
  modelService.getModels().forEach(model => this._onModelAdded(model));
@@ -72,8 +73,11 @@ let MarkerDecorationsService = class MarkerDecorationsService extends Disposable
72
73
  }
73
74
  }
74
75
  _updateDecorations(markerDecorations) {
75
- // Limit to the first 500 errors/warnings
76
- let markers = this._markerService.read({ resource: markerDecorations.model.uri, take: 500 });
76
+ let markers = this._markerService.read({ resource: markerDecorations.model.uri, take: MarkerDecorations.MAX_MARKER_DECORATIONS_LIMIT + 1 });
77
+ const isMarkerLimitExceeded = markers.length > MarkerDecorations.MAX_MARKER_DECORATIONS_LIMIT;
78
+ if (isMarkerLimitExceeded) {
79
+ markers = markers.slice(0, MarkerDecorations.MAX_MARKER_DECORATIONS_LIMIT);
80
+ }
77
81
  // filter markers from suppressed ranges
78
82
  const suppressedRanges = this._suppressedRanges.get(markerDecorations.model.uri);
79
83
  if (suppressedRanges) {
@@ -84,6 +88,10 @@ let MarkerDecorationsService = class MarkerDecorationsService extends Disposable
84
88
  if (markerDecorations.update(markers)) {
85
89
  this._onDidChangeMarker.fire(markerDecorations.model);
86
90
  }
91
+ const isMarkersSourceTruncated = this._markerService.isSourceTruncated(markerDecorations.model.uri);
92
+ if (markerDecorations.updateMarkerLimit(isMarkersSourceTruncated, isMarkerLimitExceeded)) {
93
+ this._onDidChangeMarkerLimit.fire(markerDecorations.model);
94
+ }
87
95
  }
88
96
  };
89
97
  MarkerDecorationsService = __decorate([
@@ -92,10 +100,13 @@ MarkerDecorationsService = __decorate([
92
100
  ], MarkerDecorationsService);
93
101
  export { MarkerDecorationsService };
94
102
  class MarkerDecorations extends Disposable {
103
+ static { this.MAX_MARKER_DECORATIONS_LIMIT = 5000; }
95
104
  constructor(model) {
96
105
  super();
97
106
  this.model = model;
98
107
  this._map = new BidirectionalMap();
108
+ this._isMarkerLimitExceeded = false;
109
+ this._isMarkersSourceTruncated = false;
99
110
  this._register(toDisposable(() => {
100
111
  this.model.deltaDecorations([...this._map.values()], []);
101
112
  this._map.clear();
@@ -124,6 +135,14 @@ class MarkerDecorations extends Disposable {
124
135
  }
125
136
  return true;
126
137
  }
138
+ updateMarkerLimit(isMarkersSourceTruncated, isMarkerLimitExceeded) {
139
+ if (this._isMarkersSourceTruncated === isMarkersSourceTruncated && this._isMarkerLimitExceeded === isMarkerLimitExceeded) {
140
+ return false;
141
+ }
142
+ this._isMarkersSourceTruncated = isMarkersSourceTruncated;
143
+ this._isMarkerLimitExceeded = isMarkerLimitExceeded;
144
+ return true;
145
+ }
127
146
  getMarker(decoration) {
128
147
  return this._map.getKey(decoration.id);
129
148
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/common/services/markerDecorationsService.ts","vs/editor/common/services/markerDecorationsService.ts"],"names":[],"mappings":"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","file":"markerDecorationsService.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 { IMarkerService, IMarker, MarkerSeverity, MarkerTag } from '../../../platform/markers/common/markers.js';\nimport { Disposable, toDisposable } from '../../../base/common/lifecycle.js';\nimport { URI } from '../../../base/common/uri.js';\nimport { IModelDeltaDecoration, ITextModel, IModelDecorationOptions, TrackedRangeStickiness, OverviewRulerLane, IModelDecoration, MinimapPosition, IModelDecorationMinimapOptions } from '../model.js';\nimport { ClassName } from '../model/intervalTree.js';\nimport { themeColorFromId } from '../../../platform/theme/common/themeService.js';\nimport { ThemeColor } from '../../../base/common/themables.js';\nimport { overviewRulerWarning, overviewRulerInfo, overviewRulerError } from '../core/editorColorRegistry.js';\nimport { IModelService } from './model.js';\nimport { Range } from '../core/range.js';\nimport { IMarkerDecorationsService } from './markerDecorations.js';\nimport { Schemas } from '../../../base/common/network.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { minimapInfo, minimapWarning, minimapError } from '../../../platform/theme/common/colorRegistry.js';\nimport { BidirectionalMap, ResourceMap } from '../../../base/common/map.js';\nimport { diffSets } from '../../../base/common/collections.js';\nimport { Iterable } from '../../../base/common/iterator.js';\n\nexport class MarkerDecorationsService extends Disposable implements IMarkerDecorationsService {\n\n\tdeclare readonly _serviceBrand: undefined;\n\n\tprivate readonly _onDidChangeMarker = this._register(new Emitter<ITextModel>());\n\n\tprivate readonly _suppressedRanges = new ResourceMap<Set<Range>>();\n\n\tprivate readonly _markerDecorations = new ResourceMap<MarkerDecorations>();\n\n\tconstructor(\n\t\t@IModelService modelService: IModelService,\n\t\t@IMarkerService private readonly _markerService: IMarkerService\n\t) {\n\t\tsuper();\n\t\tmodelService.getModels().forEach(model => this._onModelAdded(model));\n\t\tthis._register(modelService.onModelAdded(this._onModelAdded, this));\n\t\tthis._register(modelService.onModelRemoved(this._onModelRemoved, this));\n\t\tthis._register(this._markerService.onMarkerChanged(this._handleMarkerChange, this));\n\t}\n\n\toverride dispose() {\n\t\tsuper.dispose();\n\t\tthis._markerDecorations.forEach(value => value.dispose());\n\t\tthis._markerDecorations.clear();\n\t}\n\n\tgetMarker(uri: URI, decoration: IModelDecoration): IMarker | null {\n\t\tconst markerDecorations = this._markerDecorations.get(uri);\n\t\treturn markerDecorations ? (markerDecorations.getMarker(decoration) || null) : null;\n\t}\n\n\tprivate _handleMarkerChange(changedResources: readonly URI[]): void {\n\t\tchangedResources.forEach((resource) => {\n\t\t\tconst markerDecorations = this._markerDecorations.get(resource);\n\t\t\tif (markerDecorations) {\n\t\t\t\tthis._updateDecorations(markerDecorations);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _onModelAdded(model: ITextModel): void {\n\t\tconst markerDecorations = new MarkerDecorations(model);\n\t\tthis._markerDecorations.set(model.uri, markerDecorations);\n\t\tthis._updateDecorations(markerDecorations);\n\t}\n\n\tprivate _onModelRemoved(model: ITextModel): void {\n\t\tconst markerDecorations = this._markerDecorations.get(model.uri);\n\t\tif (markerDecorations) {\n\t\t\tmarkerDecorations.dispose();\n\t\t\tthis._markerDecorations.delete(model.uri);\n\t\t}\n\n\t\t// clean up markers for internal, transient models\n\t\tif (model.uri.scheme === Schemas.inMemory\n\t\t\t|| model.uri.scheme === Schemas.internal\n\t\t\t|| model.uri.scheme === Schemas.vscode) {\n\t\t\tthis._markerService?.read({ resource: model.uri }).map(marker => marker.owner).forEach(owner => this._markerService.remove(owner, [model.uri]));\n\t\t}\n\t}\n\n\tprivate _updateDecorations(markerDecorations: MarkerDecorations): void {\n\t\t// Limit to the first 500 errors/warnings\n\t\tlet markers = this._markerService.read({ resource: markerDecorations.model.uri, take: 500 });\n\n\t\t// filter markers from suppressed ranges\n\t\tconst suppressedRanges = this._suppressedRanges.get(markerDecorations.model.uri);\n\t\tif (suppressedRanges) {\n\t\t\tmarkers = markers.filter(marker => {\n\t\t\t\treturn !Iterable.some(suppressedRanges, candidate => Range.areIntersectingOrTouching(candidate, marker));\n\t\t\t});\n\t\t}\n\n\t\tif (markerDecorations.update(markers)) {\n\t\t\tthis._onDidChangeMarker.fire(markerDecorations.model);\n\t\t}\n\t}\n}\n\nclass MarkerDecorations extends Disposable {\n\n\tprivate readonly _map = new BidirectionalMap<IMarker, /*decoration id*/string>();\n\n\tconstructor(\n\t\treadonly model: ITextModel\n\t) {\n\t\tsuper();\n\t\tthis._register(toDisposable(() => {\n\t\t\tthis.model.deltaDecorations([...this._map.values()], []);\n\t\t\tthis._map.clear();\n\t\t}));\n\t}\n\n\tpublic update(markers: IMarker[]): boolean {\n\n\t\t// We use the fact that marker instances are not recreated when different owners\n\t\t// update. So we can compare references to find out what changed since the last update.\n\n\t\tconst { added, removed } = diffSets(new Set(this._map.keys()), new Set(markers));\n\n\t\tif (added.length === 0 && removed.length === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst oldIds: string[] = removed.map(marker => this._map.get(marker)!);\n\t\tconst newDecorations: IModelDeltaDecoration[] = added.map(marker => {\n\t\t\treturn {\n\t\t\t\trange: this._createDecorationRange(this.model, marker),\n\t\t\t\toptions: this._createDecorationOption(marker)\n\t\t\t};\n\t\t});\n\n\t\tconst ids = this.model.deltaDecorations(oldIds, newDecorations);\n\t\tfor (const removedMarker of removed) {\n\t\t\tthis._map.delete(removedMarker);\n\t\t}\n\t\tfor (let index = 0; index < ids.length; index++) {\n\t\t\tthis._map.set(added[index], ids[index]);\n\t\t}\n\t\treturn true;\n\t}\n\n\tgetMarker(decoration: IModelDecoration): IMarker | undefined {\n\t\treturn this._map.getKey(decoration.id);\n\t}\n\n\tprivate _createDecorationRange(model: ITextModel, rawMarker: IMarker): Range {\n\n\t\tlet ret = Range.lift(rawMarker);\n\n\t\tif (rawMarker.severity === MarkerSeverity.Hint && !this._hasMarkerTag(rawMarker, MarkerTag.Unnecessary) && !this._hasMarkerTag(rawMarker, MarkerTag.Deprecated)) {\n\t\t\t// * never render hints on multiple lines\n\t\t\t// * make enough space for three dots\n\t\t\tret = ret.setEndPosition(ret.startLineNumber, ret.startColumn + 2);\n\t\t}\n\n\t\tret = model.validateRange(ret);\n\n\t\tif (ret.isEmpty()) {\n\t\t\tconst maxColumn = model.getLineLastNonWhitespaceColumn(ret.startLineNumber) ||\n\t\t\t\tmodel.getLineMaxColumn(ret.startLineNumber);\n\n\t\t\tif (maxColumn === 1 || ret.endColumn >= maxColumn) {\n\t\t\t\t// empty line or behind eol\n\t\t\t\t// keep the range as is, it will be rendered 1ch wide\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\tconst word = model.getWordAtPosition(ret.getStartPosition());\n\t\t\tif (word) {\n\t\t\t\tret = new Range(ret.startLineNumber, word.startColumn, ret.endLineNumber, word.endColumn);\n\t\t\t}\n\t\t} else if (rawMarker.endColumn === Number.MAX_VALUE && rawMarker.startColumn === 1 && ret.startLineNumber === ret.endLineNumber) {\n\t\t\tconst minColumn = model.getLineFirstNonWhitespaceColumn(rawMarker.startLineNumber);\n\t\t\tif (minColumn < ret.endColumn) {\n\t\t\t\tret = new Range(ret.startLineNumber, minColumn, ret.endLineNumber, ret.endColumn);\n\t\t\t\trawMarker.startColumn = minColumn;\n\t\t\t}\n\t\t}\n\t\treturn ret;\n\t}\n\n\tprivate _createDecorationOption(marker: IMarker): IModelDecorationOptions {\n\n\t\tlet className: string | undefined;\n\t\tlet color: ThemeColor | undefined = undefined;\n\t\tlet zIndex: number;\n\t\tlet inlineClassName: string | undefined = undefined;\n\t\tlet minimap: IModelDecorationMinimapOptions | undefined;\n\n\t\tswitch (marker.severity) {\n\t\t\tcase MarkerSeverity.Hint:\n\t\t\t\tif (this._hasMarkerTag(marker, MarkerTag.Deprecated)) {\n\t\t\t\t\tclassName = undefined;\n\t\t\t\t} else if (this._hasMarkerTag(marker, MarkerTag.Unnecessary)) {\n\t\t\t\t\tclassName = ClassName.EditorUnnecessaryDecoration;\n\t\t\t\t} else {\n\t\t\t\t\tclassName = ClassName.EditorHintDecoration;\n\t\t\t\t}\n\t\t\t\tzIndex = 0;\n\t\t\t\tbreak;\n\t\t\tcase MarkerSeverity.Info:\n\t\t\t\tclassName = ClassName.EditorInfoDecoration;\n\t\t\t\tcolor = themeColorFromId(overviewRulerInfo);\n\t\t\t\tzIndex = 10;\n\t\t\t\tminimap = {\n\t\t\t\t\tcolor: themeColorFromId(minimapInfo),\n\t\t\t\t\tposition: MinimapPosition.Inline\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase MarkerSeverity.Warning:\n\t\t\t\tclassName = ClassName.EditorWarningDecoration;\n\t\t\t\tcolor = themeColorFromId(overviewRulerWarning);\n\t\t\t\tzIndex = 20;\n\t\t\t\tminimap = {\n\t\t\t\t\tcolor: themeColorFromId(minimapWarning),\n\t\t\t\t\tposition: MinimapPosition.Inline\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase MarkerSeverity.Error:\n\t\t\tdefault:\n\t\t\t\tclassName = ClassName.EditorErrorDecoration;\n\t\t\t\tcolor = themeColorFromId(overviewRulerError);\n\t\t\t\tzIndex = 30;\n\t\t\t\tminimap = {\n\t\t\t\t\tcolor: themeColorFromId(minimapError),\n\t\t\t\t\tposition: MinimapPosition.Inline\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (marker.tags) {\n\t\t\tif (marker.tags.indexOf(MarkerTag.Unnecessary) !== -1) {\n\t\t\t\tinlineClassName = ClassName.EditorUnnecessaryInlineDecoration;\n\t\t\t}\n\t\t\tif (marker.tags.indexOf(MarkerTag.Deprecated) !== -1) {\n\t\t\t\tinlineClassName = ClassName.EditorDeprecatedInlineDecoration;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tdescription: 'marker-decoration',\n\t\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\t\tclassName,\n\t\t\tshowIfCollapsed: true,\n\t\t\toverviewRuler: {\n\t\t\t\tcolor,\n\t\t\t\tposition: OverviewRulerLane.Right\n\t\t\t},\n\t\t\tminimap,\n\t\t\tzIndex,\n\t\t\tinlineClassName,\n\t\t};\n\t}\n\n\tprivate _hasMarkerTag(marker: IMarker, tag: MarkerTag): boolean {\n\t\tif (marker.tags) {\n\t\t\treturn marker.tags.indexOf(tag) >= 0;\n\t\t}\n\t\treturn false;\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 { IMarkerService, IMarker, MarkerSeverity, MarkerTag } from '../../../platform/markers/common/markers.js';\nimport { Disposable, toDisposable } from '../../../base/common/lifecycle.js';\nimport { URI } from '../../../base/common/uri.js';\nimport { IModelDeltaDecoration, ITextModel, IModelDecorationOptions, TrackedRangeStickiness, OverviewRulerLane, IModelDecoration, MinimapPosition, IModelDecorationMinimapOptions } from '../model.js';\nimport { ClassName } from '../model/intervalTree.js';\nimport { themeColorFromId } from '../../../platform/theme/common/themeService.js';\nimport { ThemeColor } from '../../../base/common/themables.js';\nimport { overviewRulerWarning, overviewRulerInfo, overviewRulerError } from '../core/editorColorRegistry.js';\nimport { IModelService } from './model.js';\nimport { Range } from '../core/range.js';\nimport { IMarkerDecorationsService } from './markerDecorations.js';\nimport { Schemas } from '../../../base/common/network.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { minimapInfo, minimapWarning, minimapError } from '../../../platform/theme/common/colorRegistry.js';\nimport { BidirectionalMap, ResourceMap } from '../../../base/common/map.js';\nimport { diffSets } from '../../../base/common/collections.js';\nimport { Iterable } from '../../../base/common/iterator.js';\n\nexport class MarkerDecorationsService extends Disposable implements IMarkerDecorationsService {\n\n\tdeclare readonly _serviceBrand: undefined;\n\n\tprivate readonly _onDidChangeMarker = this._register(new Emitter<ITextModel>());\n\n\tprivate readonly _suppressedRanges = new ResourceMap<Set<Range>>();\n\n\tprivate readonly _markerDecorations = new ResourceMap<MarkerDecorations>();\n\n\tconstructor(\n\t\t@IModelService modelService: IModelService,\n\t\t@IMarkerService private readonly _markerService: IMarkerService\n\t) {\n\t\tsuper();\n\t\tmodelService.getModels().forEach(model => this._onModelAdded(model));\n\t\tthis._register(modelService.onModelAdded(this._onModelAdded, this));\n\t\tthis._register(modelService.onModelRemoved(this._onModelRemoved, this));\n\t\tthis._register(this._markerService.onMarkerChanged(this._handleMarkerChange, this));\n\t}\n\n\toverride dispose() {\n\t\tsuper.dispose();\n\t\tthis._markerDecorations.forEach(value => value.dispose());\n\t\tthis._markerDecorations.clear();\n\t}\n\n\tgetMarker(uri: URI, decoration: IModelDecoration): IMarker | null {\n\t\tconst markerDecorations = this._markerDecorations.get(uri);\n\t\treturn markerDecorations ? (markerDecorations.getMarker(decoration) || null) : null;\n\t}\n\n\tprivate _handleMarkerChange(changedResources: readonly URI[]): void {\n\t\tchangedResources.forEach((resource) => {\n\t\t\tconst markerDecorations = this._markerDecorations.get(resource);\n\t\t\tif (markerDecorations) {\n\t\t\t\tthis._updateDecorations(markerDecorations);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _onModelAdded(model: ITextModel): void {\n\t\tconst markerDecorations = new MarkerDecorations(model);\n\t\tthis._markerDecorations.set(model.uri, markerDecorations);\n\t\tthis._updateDecorations(markerDecorations);\n\t}\n\n\tprivate _onModelRemoved(model: ITextModel): void {\n\t\tconst markerDecorations = this._markerDecorations.get(model.uri);\n\t\tif (markerDecorations) {\n\t\t\tmarkerDecorations.dispose();\n\t\t\tthis._markerDecorations.delete(model.uri);\n\t\t}\n\n\t\t// clean up markers for internal, transient models\n\t\tif (model.uri.scheme === Schemas.inMemory\n\t\t\t|| model.uri.scheme === Schemas.internal\n\t\t\t|| model.uri.scheme === Schemas.vscode) {\n\t\t\tthis._markerService?.read({ resource: model.uri }).map(marker => marker.owner).forEach(owner => this._markerService.remove(owner, [model.uri]));\n\t\t}\n\t}\n\n\tprivate _updateDecorations(markerDecorations: MarkerDecorations): void {\n\t\t// Limit to the first 500 errors/warnings\n\t\tlet markers = this._markerService.read({ resource: markerDecorations.model.uri, take: 500 });\n\n\t\t// filter markers from suppressed ranges\n\t\tconst suppressedRanges = this._suppressedRanges.get(markerDecorations.model.uri);\n\t\tif (suppressedRanges) {\n\t\t\tmarkers = markers.filter(marker => {\n\t\t\t\treturn !Iterable.some(suppressedRanges, candidate => Range.areIntersectingOrTouching(candidate, marker));\n\t\t\t});\n\t\t}\n\n\t\tif (markerDecorations.update(markers)) {\n\t\t\tthis._onDidChangeMarker.fire(markerDecorations.model);\n\t\t}\n\t}\n}\n\nclass MarkerDecorations extends Disposable {\n\n\tprivate readonly _map = new BidirectionalMap<IMarker, /*decoration id*/string>();\n\n\tconstructor(\n\t\treadonly model: ITextModel\n\t) {\n\t\tsuper();\n\t\tthis._register(toDisposable(() => {\n\t\t\tthis.model.deltaDecorations([...this._map.values()], []);\n\t\t\tthis._map.clear();\n\t\t}));\n\t}\n\n\tpublic update(markers: IMarker[]): boolean {\n\n\t\t// We use the fact that marker instances are not recreated when different owners\n\t\t// update. So we can compare references to find out what changed since the last update.\n\n\t\tconst { added, removed } = diffSets(new Set(this._map.keys()), new Set(markers));\n\n\t\tif (added.length === 0 && removed.length === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst oldIds: string[] = removed.map(marker => this._map.get(marker)!);\n\t\tconst newDecorations: IModelDeltaDecoration[] = added.map(marker => {\n\t\t\treturn {\n\t\t\t\trange: this._createDecorationRange(this.model, marker),\n\t\t\t\toptions: this._createDecorationOption(marker)\n\t\t\t};\n\t\t});\n\n\t\tconst ids = this.model.deltaDecorations(oldIds, newDecorations);\n\t\tfor (const removedMarker of removed) {\n\t\t\tthis._map.delete(removedMarker);\n\t\t}\n\t\tfor (let index = 0; index < ids.length; index++) {\n\t\t\tthis._map.set(added[index], ids[index]);\n\t\t}\n\t\treturn true;\n\t}\n\n\tgetMarker(decoration: IModelDecoration): IMarker | undefined {\n\t\treturn this._map.getKey(decoration.id);\n\t}\n\n\tprivate _createDecorationRange(model: ITextModel, rawMarker: IMarker): Range {\n\n\t\tlet ret = Range.lift(rawMarker);\n\n\t\tif (rawMarker.severity === MarkerSeverity.Hint && !this._hasMarkerTag(rawMarker, MarkerTag.Unnecessary) && !this._hasMarkerTag(rawMarker, MarkerTag.Deprecated)) {\n\t\t\t// * never render hints on multiple lines\n\t\t\t// * make enough space for three dots\n\t\t\tret = ret.setEndPosition(ret.startLineNumber, ret.startColumn + 2);\n\t\t}\n\n\t\tret = model.validateRange(ret);\n\n\t\tif (ret.isEmpty()) {\n\t\t\tconst maxColumn = model.getLineLastNonWhitespaceColumn(ret.startLineNumber) ||\n\t\t\t\tmodel.getLineMaxColumn(ret.startLineNumber);\n\n\t\t\tif (maxColumn === 1 || ret.endColumn >= maxColumn) {\n\t\t\t\t// empty line or behind eol\n\t\t\t\t// keep the range as is, it will be rendered 1ch wide\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\tconst word = model.getWordAtPosition(ret.getStartPosition());\n\t\t\tif (word) {\n\t\t\t\tret = new Range(ret.startLineNumber, word.startColumn, ret.endLineNumber, word.endColumn);\n\t\t\t}\n\t\t} else if (rawMarker.endColumn === Number.MAX_VALUE && rawMarker.startColumn === 1 && ret.startLineNumber === ret.endLineNumber) {\n\t\t\tconst minColumn = model.getLineFirstNonWhitespaceColumn(rawMarker.startLineNumber);\n\t\t\tif (minColumn < ret.endColumn) {\n\t\t\t\tret = new Range(ret.startLineNumber, minColumn, ret.endLineNumber, ret.endColumn);\n\t\t\t\trawMarker.startColumn = minColumn;\n\t\t\t}\n\t\t}\n\t\treturn ret;\n\t}\n\n\tprivate _createDecorationOption(marker: IMarker): IModelDecorationOptions {\n\n\t\tlet className: string | undefined;\n\t\tlet color: ThemeColor | undefined = undefined;\n\t\tlet zIndex: number;\n\t\tlet inlineClassName: string | undefined = undefined;\n\t\tlet minimap: IModelDecorationMinimapOptions | undefined;\n\n\t\tswitch (marker.severity) {\n\t\t\tcase MarkerSeverity.Hint:\n\t\t\t\tif (this._hasMarkerTag(marker, MarkerTag.Deprecated)) {\n\t\t\t\t\tclassName = undefined;\n\t\t\t\t} else if (this._hasMarkerTag(marker, MarkerTag.Unnecessary)) {\n\t\t\t\t\tclassName = ClassName.EditorUnnecessaryDecoration;\n\t\t\t\t} else {\n\t\t\t\t\tclassName = ClassName.EditorHintDecoration;\n\t\t\t\t}\n\t\t\t\tzIndex = 0;\n\t\t\t\tbreak;\n\t\t\tcase MarkerSeverity.Info:\n\t\t\t\tclassName = ClassName.EditorInfoDecoration;\n\t\t\t\tcolor = themeColorFromId(overviewRulerInfo);\n\t\t\t\tzIndex = 10;\n\t\t\t\tminimap = {\n\t\t\t\t\tcolor: themeColorFromId(minimapInfo),\n\t\t\t\t\tposition: MinimapPosition.Inline\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase MarkerSeverity.Warning:\n\t\t\t\tclassName = ClassName.EditorWarningDecoration;\n\t\t\t\tcolor = themeColorFromId(overviewRulerWarning);\n\t\t\t\tzIndex = 20;\n\t\t\t\tminimap = {\n\t\t\t\t\tcolor: themeColorFromId(minimapWarning),\n\t\t\t\t\tposition: MinimapPosition.Inline\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase MarkerSeverity.Error:\n\t\t\tdefault:\n\t\t\t\tclassName = ClassName.EditorErrorDecoration;\n\t\t\t\tcolor = themeColorFromId(overviewRulerError);\n\t\t\t\tzIndex = 30;\n\t\t\t\tminimap = {\n\t\t\t\t\tcolor: themeColorFromId(minimapError),\n\t\t\t\t\tposition: MinimapPosition.Inline\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (marker.tags) {\n\t\t\tif (marker.tags.indexOf(MarkerTag.Unnecessary) !== -1) {\n\t\t\t\tinlineClassName = ClassName.EditorUnnecessaryInlineDecoration;\n\t\t\t}\n\t\t\tif (marker.tags.indexOf(MarkerTag.Deprecated) !== -1) {\n\t\t\t\tinlineClassName = ClassName.EditorDeprecatedInlineDecoration;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tdescription: 'marker-decoration',\n\t\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\t\tclassName,\n\t\t\tshowIfCollapsed: true,\n\t\t\toverviewRuler: {\n\t\t\t\tcolor,\n\t\t\t\tposition: OverviewRulerLane.Right\n\t\t\t},\n\t\t\tminimap,\n\t\t\tzIndex,\n\t\t\tinlineClassName,\n\t\t};\n\t}\n\n\tprivate _hasMarkerTag(marker: IMarker, tag: MarkerTag): boolean {\n\t\tif (marker.tags) {\n\t\t\treturn marker.tags.indexOf(tag) >= 0;\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/common/services/markerDecorationsService.ts","vs/editor/common/services/markerDecorationsService.ts"],"names":[],"mappings":"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","file":"markerDecorationsService.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 { IMarkerService, IMarker, MarkerSeverity, MarkerTag } from '../../../platform/markers/common/markers.js';\nimport { Disposable, toDisposable } from '../../../base/common/lifecycle.js';\nimport { URI } from '../../../base/common/uri.js';\nimport { IModelDeltaDecoration, ITextModel, IModelDecorationOptions, TrackedRangeStickiness, OverviewRulerLane, IModelDecoration, MinimapPosition, IModelDecorationMinimapOptions } from '../model.js';\nimport { ClassName } from '../model/intervalTree.js';\nimport { themeColorFromId } from '../../../platform/theme/common/themeService.js';\nimport { ThemeColor } from '../../../base/common/themables.js';\nimport { overviewRulerWarning, overviewRulerInfo, overviewRulerError } from '../core/editorColorRegistry.js';\nimport { IModelService } from './model.js';\nimport { Range } from '../core/range.js';\nimport { IMarkerDecorationsService } from './markerDecorations.js';\nimport { Schemas } from '../../../base/common/network.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { minimapInfo, minimapWarning, minimapError } from '../../../platform/theme/common/colorRegistry.js';\nimport { BidirectionalMap, ResourceMap } from '../../../base/common/map.js';\nimport { diffSets } from '../../../base/common/collections.js';\nimport { Iterable } from '../../../base/common/iterator.js';\n\nexport class MarkerDecorationsService extends Disposable implements IMarkerDecorationsService {\n\n\tdeclare readonly _serviceBrand: undefined;\n\n\tprivate readonly _onDidChangeMarker = this._register(new Emitter<ITextModel>());\n\n\tprivate readonly _onDidChangeMarkerLimit = this._register(new Emitter<ITextModel>());\n\n\tprivate readonly _suppressedRanges = new ResourceMap<Set<Range>>();\n\n\tprivate readonly _markerDecorations = new ResourceMap<MarkerDecorations>();\n\n\tconstructor(\n\t\t@IModelService modelService: IModelService,\n\t\t@IMarkerService private readonly _markerService: IMarkerService\n\t) {\n\t\tsuper();\n\t\tmodelService.getModels().forEach(model => this._onModelAdded(model));\n\t\tthis._register(modelService.onModelAdded(this._onModelAdded, this));\n\t\tthis._register(modelService.onModelRemoved(this._onModelRemoved, this));\n\t\tthis._register(this._markerService.onMarkerChanged(this._handleMarkerChange, this));\n\t}\n\n\toverride dispose() {\n\t\tsuper.dispose();\n\t\tthis._markerDecorations.forEach(value => value.dispose());\n\t\tthis._markerDecorations.clear();\n\t}\n\n\tgetMarker(uri: URI, decoration: IModelDecoration): IMarker | null {\n\t\tconst markerDecorations = this._markerDecorations.get(uri);\n\t\treturn markerDecorations ? (markerDecorations.getMarker(decoration) || null) : null;\n\t}\n\n\tprivate _handleMarkerChange(changedResources: readonly URI[]): void {\n\t\tchangedResources.forEach((resource) => {\n\t\t\tconst markerDecorations = this._markerDecorations.get(resource);\n\t\t\tif (markerDecorations) {\n\t\t\t\tthis._updateDecorations(markerDecorations);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _onModelAdded(model: ITextModel): void {\n\t\tconst markerDecorations = new MarkerDecorations(model);\n\t\tthis._markerDecorations.set(model.uri, markerDecorations);\n\t\tthis._updateDecorations(markerDecorations);\n\t}\n\n\tprivate _onModelRemoved(model: ITextModel): void {\n\t\tconst markerDecorations = this._markerDecorations.get(model.uri);\n\t\tif (markerDecorations) {\n\t\t\tmarkerDecorations.dispose();\n\t\t\tthis._markerDecorations.delete(model.uri);\n\t\t}\n\n\t\t// clean up markers for internal, transient models\n\t\tif (model.uri.scheme === Schemas.inMemory\n\t\t\t|| model.uri.scheme === Schemas.internal\n\t\t\t|| model.uri.scheme === Schemas.vscode) {\n\t\t\tthis._markerService?.read({ resource: model.uri }).map(marker => marker.owner).forEach(owner => this._markerService.remove(owner, [model.uri]));\n\t\t}\n\t}\n\n\tprivate _updateDecorations(markerDecorations: MarkerDecorations): void {\n\t\tlet markers = this._markerService.read({ resource: markerDecorations.model.uri, take: MarkerDecorations.MAX_MARKER_DECORATIONS_LIMIT + 1 });\n\t\tconst isMarkerLimitExceeded = markers.length > MarkerDecorations.MAX_MARKER_DECORATIONS_LIMIT;\n\t\tif (isMarkerLimitExceeded) {\n\t\t\tmarkers = markers.slice(0, MarkerDecorations.MAX_MARKER_DECORATIONS_LIMIT);\n\t\t}\n\n\t\t// filter markers from suppressed ranges\n\t\tconst suppressedRanges = this._suppressedRanges.get(markerDecorations.model.uri);\n\t\tif (suppressedRanges) {\n\t\t\tmarkers = markers.filter(marker => {\n\t\t\t\treturn !Iterable.some(suppressedRanges, candidate => Range.areIntersectingOrTouching(candidate, marker));\n\t\t\t});\n\t\t}\n\n\t\tif (markerDecorations.update(markers)) {\n\t\t\tthis._onDidChangeMarker.fire(markerDecorations.model);\n\t\t}\n\t\tconst isMarkersSourceTruncated = this._markerService.isSourceTruncated(markerDecorations.model.uri);\n\t\tif (markerDecorations.updateMarkerLimit(isMarkersSourceTruncated, isMarkerLimitExceeded)) {\n\t\t\tthis._onDidChangeMarkerLimit.fire(markerDecorations.model);\n\t\t}\n\t}\n}\n\nclass MarkerDecorations extends Disposable {\n\n\tpublic static readonly MAX_MARKER_DECORATIONS_LIMIT = 5000;\n\n\tprivate readonly _map = new BidirectionalMap<IMarker, /*decoration id*/string>();\n\n\tprivate _isMarkerLimitExceeded: boolean = false;\n\tprivate _isMarkersSourceTruncated: boolean = false;\n\n\tconstructor(\n\t\treadonly model: ITextModel\n\t) {\n\t\tsuper();\n\t\tthis._register(toDisposable(() => {\n\t\t\tthis.model.deltaDecorations([...this._map.values()], []);\n\t\t\tthis._map.clear();\n\t\t}));\n\t}\n\n\tpublic update(markers: IMarker[]): boolean {\n\n\t\t// We use the fact that marker instances are not recreated when different owners\n\t\t// update. So we can compare references to find out what changed since the last update.\n\n\t\tconst { added, removed } = diffSets(new Set(this._map.keys()), new Set(markers));\n\n\t\tif (added.length === 0 && removed.length === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst oldIds: string[] = removed.map(marker => this._map.get(marker)!);\n\t\tconst newDecorations: IModelDeltaDecoration[] = added.map(marker => {\n\t\t\treturn {\n\t\t\t\trange: this._createDecorationRange(this.model, marker),\n\t\t\t\toptions: this._createDecorationOption(marker)\n\t\t\t};\n\t\t});\n\n\t\tconst ids = this.model.deltaDecorations(oldIds, newDecorations);\n\t\tfor (const removedMarker of removed) {\n\t\t\tthis._map.delete(removedMarker);\n\t\t}\n\t\tfor (let index = 0; index < ids.length; index++) {\n\t\t\tthis._map.set(added[index], ids[index]);\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic updateMarkerLimit(isMarkersSourceTruncated: boolean, isMarkerLimitExceeded: boolean): boolean {\n\t\tif (this._isMarkersSourceTruncated === isMarkersSourceTruncated && this._isMarkerLimitExceeded === isMarkerLimitExceeded) {\n\t\t\treturn false;\n\t\t}\n\t\tthis._isMarkersSourceTruncated = isMarkersSourceTruncated;\n\t\tthis._isMarkerLimitExceeded = isMarkerLimitExceeded;\n\t\treturn true;\n\t}\n\n\tgetMarker(decoration: IModelDecoration): IMarker | undefined {\n\t\treturn this._map.getKey(decoration.id);\n\t}\n\n\tprivate _createDecorationRange(model: ITextModel, rawMarker: IMarker): Range {\n\n\t\tlet ret = Range.lift(rawMarker);\n\n\t\tif (rawMarker.severity === MarkerSeverity.Hint && !this._hasMarkerTag(rawMarker, MarkerTag.Unnecessary) && !this._hasMarkerTag(rawMarker, MarkerTag.Deprecated)) {\n\t\t\t// * never render hints on multiple lines\n\t\t\t// * make enough space for three dots\n\t\t\tret = ret.setEndPosition(ret.startLineNumber, ret.startColumn + 2);\n\t\t}\n\n\t\tret = model.validateRange(ret);\n\n\t\tif (ret.isEmpty()) {\n\t\t\tconst maxColumn = model.getLineLastNonWhitespaceColumn(ret.startLineNumber) ||\n\t\t\t\tmodel.getLineMaxColumn(ret.startLineNumber);\n\n\t\t\tif (maxColumn === 1 || ret.endColumn >= maxColumn) {\n\t\t\t\t// empty line or behind eol\n\t\t\t\t// keep the range as is, it will be rendered 1ch wide\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\tconst word = model.getWordAtPosition(ret.getStartPosition());\n\t\t\tif (word) {\n\t\t\t\tret = new Range(ret.startLineNumber, word.startColumn, ret.endLineNumber, word.endColumn);\n\t\t\t}\n\t\t} else if (rawMarker.endColumn === Number.MAX_VALUE && rawMarker.startColumn === 1 && ret.startLineNumber === ret.endLineNumber) {\n\t\t\tconst minColumn = model.getLineFirstNonWhitespaceColumn(rawMarker.startLineNumber);\n\t\t\tif (minColumn < ret.endColumn) {\n\t\t\t\tret = new Range(ret.startLineNumber, minColumn, ret.endLineNumber, ret.endColumn);\n\t\t\t\trawMarker.startColumn = minColumn;\n\t\t\t}\n\t\t}\n\t\treturn ret;\n\t}\n\n\tprivate _createDecorationOption(marker: IMarker): IModelDecorationOptions {\n\n\t\tlet className: string | undefined;\n\t\tlet color: ThemeColor | undefined = undefined;\n\t\tlet zIndex: number;\n\t\tlet inlineClassName: string | undefined = undefined;\n\t\tlet minimap: IModelDecorationMinimapOptions | undefined;\n\n\t\tswitch (marker.severity) {\n\t\t\tcase MarkerSeverity.Hint:\n\t\t\t\tif (this._hasMarkerTag(marker, MarkerTag.Deprecated)) {\n\t\t\t\t\tclassName = undefined;\n\t\t\t\t} else if (this._hasMarkerTag(marker, MarkerTag.Unnecessary)) {\n\t\t\t\t\tclassName = ClassName.EditorUnnecessaryDecoration;\n\t\t\t\t} else {\n\t\t\t\t\tclassName = ClassName.EditorHintDecoration;\n\t\t\t\t}\n\t\t\t\tzIndex = 0;\n\t\t\t\tbreak;\n\t\t\tcase MarkerSeverity.Info:\n\t\t\t\tclassName = ClassName.EditorInfoDecoration;\n\t\t\t\tcolor = themeColorFromId(overviewRulerInfo);\n\t\t\t\tzIndex = 10;\n\t\t\t\tminimap = {\n\t\t\t\t\tcolor: themeColorFromId(minimapInfo),\n\t\t\t\t\tposition: MinimapPosition.Inline\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase MarkerSeverity.Warning:\n\t\t\t\tclassName = ClassName.EditorWarningDecoration;\n\t\t\t\tcolor = themeColorFromId(overviewRulerWarning);\n\t\t\t\tzIndex = 20;\n\t\t\t\tminimap = {\n\t\t\t\t\tcolor: themeColorFromId(minimapWarning),\n\t\t\t\t\tposition: MinimapPosition.Inline\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase MarkerSeverity.Error:\n\t\t\tdefault:\n\t\t\t\tclassName = ClassName.EditorErrorDecoration;\n\t\t\t\tcolor = themeColorFromId(overviewRulerError);\n\t\t\t\tzIndex = 30;\n\t\t\t\tminimap = {\n\t\t\t\t\tcolor: themeColorFromId(minimapError),\n\t\t\t\t\tposition: MinimapPosition.Inline\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (marker.tags) {\n\t\t\tif (marker.tags.indexOf(MarkerTag.Unnecessary) !== -1) {\n\t\t\t\tinlineClassName = ClassName.EditorUnnecessaryInlineDecoration;\n\t\t\t}\n\t\t\tif (marker.tags.indexOf(MarkerTag.Deprecated) !== -1) {\n\t\t\t\tinlineClassName = ClassName.EditorDeprecatedInlineDecoration;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tdescription: 'marker-decoration',\n\t\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\t\tclassName,\n\t\t\tshowIfCollapsed: true,\n\t\t\toverviewRuler: {\n\t\t\t\tcolor,\n\t\t\t\tposition: OverviewRulerLane.Right\n\t\t\t},\n\t\t\tminimap,\n\t\t\tzIndex,\n\t\t\tinlineClassName,\n\t\t};\n\t}\n\n\tprivate _hasMarkerTag(marker: IMarker, tag: MarkerTag): boolean {\n\t\tif (marker.tags) {\n\t\t\treturn marker.tags.indexOf(tag) >= 0;\n\t\t}\n\t\treturn false;\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 { IMarkerService, IMarker, MarkerSeverity, MarkerTag } from '../../../platform/markers/common/markers.js';\nimport { Disposable, toDisposable } from '../../../base/common/lifecycle.js';\nimport { URI } from '../../../base/common/uri.js';\nimport { IModelDeltaDecoration, ITextModel, IModelDecorationOptions, TrackedRangeStickiness, OverviewRulerLane, IModelDecoration, MinimapPosition, IModelDecorationMinimapOptions } from '../model.js';\nimport { ClassName } from '../model/intervalTree.js';\nimport { themeColorFromId } from '../../../platform/theme/common/themeService.js';\nimport { ThemeColor } from '../../../base/common/themables.js';\nimport { overviewRulerWarning, overviewRulerInfo, overviewRulerError } from '../core/editorColorRegistry.js';\nimport { IModelService } from './model.js';\nimport { Range } from '../core/range.js';\nimport { IMarkerDecorationsService } from './markerDecorations.js';\nimport { Schemas } from '../../../base/common/network.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { minimapInfo, minimapWarning, minimapError } from '../../../platform/theme/common/colorRegistry.js';\nimport { BidirectionalMap, ResourceMap } from '../../../base/common/map.js';\nimport { diffSets } from '../../../base/common/collections.js';\nimport { Iterable } from '../../../base/common/iterator.js';\n\nexport class MarkerDecorationsService extends Disposable implements IMarkerDecorationsService {\n\n\tdeclare readonly _serviceBrand: undefined;\n\n\tprivate readonly _onDidChangeMarker = this._register(new Emitter<ITextModel>());\n\n\tprivate readonly _onDidChangeMarkerLimit = this._register(new Emitter<ITextModel>());\n\n\tprivate readonly _suppressedRanges = new ResourceMap<Set<Range>>();\n\n\tprivate readonly _markerDecorations = new ResourceMap<MarkerDecorations>();\n\n\tconstructor(\n\t\t@IModelService modelService: IModelService,\n\t\t@IMarkerService private readonly _markerService: IMarkerService\n\t) {\n\t\tsuper();\n\t\tmodelService.getModels().forEach(model => this._onModelAdded(model));\n\t\tthis._register(modelService.onModelAdded(this._onModelAdded, this));\n\t\tthis._register(modelService.onModelRemoved(this._onModelRemoved, this));\n\t\tthis._register(this._markerService.onMarkerChanged(this._handleMarkerChange, this));\n\t}\n\n\toverride dispose() {\n\t\tsuper.dispose();\n\t\tthis._markerDecorations.forEach(value => value.dispose());\n\t\tthis._markerDecorations.clear();\n\t}\n\n\tgetMarker(uri: URI, decoration: IModelDecoration): IMarker | null {\n\t\tconst markerDecorations = this._markerDecorations.get(uri);\n\t\treturn markerDecorations ? (markerDecorations.getMarker(decoration) || null) : null;\n\t}\n\n\tprivate _handleMarkerChange(changedResources: readonly URI[]): void {\n\t\tchangedResources.forEach((resource) => {\n\t\t\tconst markerDecorations = this._markerDecorations.get(resource);\n\t\t\tif (markerDecorations) {\n\t\t\t\tthis._updateDecorations(markerDecorations);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _onModelAdded(model: ITextModel): void {\n\t\tconst markerDecorations = new MarkerDecorations(model);\n\t\tthis._markerDecorations.set(model.uri, markerDecorations);\n\t\tthis._updateDecorations(markerDecorations);\n\t}\n\n\tprivate _onModelRemoved(model: ITextModel): void {\n\t\tconst markerDecorations = this._markerDecorations.get(model.uri);\n\t\tif (markerDecorations) {\n\t\t\tmarkerDecorations.dispose();\n\t\t\tthis._markerDecorations.delete(model.uri);\n\t\t}\n\n\t\t// clean up markers for internal, transient models\n\t\tif (model.uri.scheme === Schemas.inMemory\n\t\t\t|| model.uri.scheme === Schemas.internal\n\t\t\t|| model.uri.scheme === Schemas.vscode) {\n\t\t\tthis._markerService?.read({ resource: model.uri }).map(marker => marker.owner).forEach(owner => this._markerService.remove(owner, [model.uri]));\n\t\t}\n\t}\n\n\tprivate _updateDecorations(markerDecorations: MarkerDecorations): void {\n\t\tlet markers = this._markerService.read({ resource: markerDecorations.model.uri, take: MarkerDecorations.MAX_MARKER_DECORATIONS_LIMIT + 1 });\n\t\tconst isMarkerLimitExceeded = markers.length > MarkerDecorations.MAX_MARKER_DECORATIONS_LIMIT;\n\t\tif (isMarkerLimitExceeded) {\n\t\t\tmarkers = markers.slice(0, MarkerDecorations.MAX_MARKER_DECORATIONS_LIMIT);\n\t\t}\n\n\t\t// filter markers from suppressed ranges\n\t\tconst suppressedRanges = this._suppressedRanges.get(markerDecorations.model.uri);\n\t\tif (suppressedRanges) {\n\t\t\tmarkers = markers.filter(marker => {\n\t\t\t\treturn !Iterable.some(suppressedRanges, candidate => Range.areIntersectingOrTouching(candidate, marker));\n\t\t\t});\n\t\t}\n\n\t\tif (markerDecorations.update(markers)) {\n\t\t\tthis._onDidChangeMarker.fire(markerDecorations.model);\n\t\t}\n\t\tconst isMarkersSourceTruncated = this._markerService.isSourceTruncated(markerDecorations.model.uri);\n\t\tif (markerDecorations.updateMarkerLimit(isMarkersSourceTruncated, isMarkerLimitExceeded)) {\n\t\t\tthis._onDidChangeMarkerLimit.fire(markerDecorations.model);\n\t\t}\n\t}\n}\n\nclass MarkerDecorations extends Disposable {\n\n\tpublic static readonly MAX_MARKER_DECORATIONS_LIMIT = 5000;\n\n\tprivate readonly _map = new BidirectionalMap<IMarker, /*decoration id*/string>();\n\n\tprivate _isMarkerLimitExceeded: boolean = false;\n\tprivate _isMarkersSourceTruncated: boolean = false;\n\n\tconstructor(\n\t\treadonly model: ITextModel\n\t) {\n\t\tsuper();\n\t\tthis._register(toDisposable(() => {\n\t\t\tthis.model.deltaDecorations([...this._map.values()], []);\n\t\t\tthis._map.clear();\n\t\t}));\n\t}\n\n\tpublic update(markers: IMarker[]): boolean {\n\n\t\t// We use the fact that marker instances are not recreated when different owners\n\t\t// update. So we can compare references to find out what changed since the last update.\n\n\t\tconst { added, removed } = diffSets(new Set(this._map.keys()), new Set(markers));\n\n\t\tif (added.length === 0 && removed.length === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst oldIds: string[] = removed.map(marker => this._map.get(marker)!);\n\t\tconst newDecorations: IModelDeltaDecoration[] = added.map(marker => {\n\t\t\treturn {\n\t\t\t\trange: this._createDecorationRange(this.model, marker),\n\t\t\t\toptions: this._createDecorationOption(marker)\n\t\t\t};\n\t\t});\n\n\t\tconst ids = this.model.deltaDecorations(oldIds, newDecorations);\n\t\tfor (const removedMarker of removed) {\n\t\t\tthis._map.delete(removedMarker);\n\t\t}\n\t\tfor (let index = 0; index < ids.length; index++) {\n\t\t\tthis._map.set(added[index], ids[index]);\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic updateMarkerLimit(isMarkersSourceTruncated: boolean, isMarkerLimitExceeded: boolean): boolean {\n\t\tif (this._isMarkersSourceTruncated === isMarkersSourceTruncated && this._isMarkerLimitExceeded === isMarkerLimitExceeded) {\n\t\t\treturn false;\n\t\t}\n\t\tthis._isMarkersSourceTruncated = isMarkersSourceTruncated;\n\t\tthis._isMarkerLimitExceeded = isMarkerLimitExceeded;\n\t\treturn true;\n\t}\n\n\tgetMarker(decoration: IModelDecoration): IMarker | undefined {\n\t\treturn this._map.getKey(decoration.id);\n\t}\n\n\tprivate _createDecorationRange(model: ITextModel, rawMarker: IMarker): Range {\n\n\t\tlet ret = Range.lift(rawMarker);\n\n\t\tif (rawMarker.severity === MarkerSeverity.Hint && !this._hasMarkerTag(rawMarker, MarkerTag.Unnecessary) && !this._hasMarkerTag(rawMarker, MarkerTag.Deprecated)) {\n\t\t\t// * never render hints on multiple lines\n\t\t\t// * make enough space for three dots\n\t\t\tret = ret.setEndPosition(ret.startLineNumber, ret.startColumn + 2);\n\t\t}\n\n\t\tret = model.validateRange(ret);\n\n\t\tif (ret.isEmpty()) {\n\t\t\tconst maxColumn = model.getLineLastNonWhitespaceColumn(ret.startLineNumber) ||\n\t\t\t\tmodel.getLineMaxColumn(ret.startLineNumber);\n\n\t\t\tif (maxColumn === 1 || ret.endColumn >= maxColumn) {\n\t\t\t\t// empty line or behind eol\n\t\t\t\t// keep the range as is, it will be rendered 1ch wide\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\tconst word = model.getWordAtPosition(ret.getStartPosition());\n\t\t\tif (word) {\n\t\t\t\tret = new Range(ret.startLineNumber, word.startColumn, ret.endLineNumber, word.endColumn);\n\t\t\t}\n\t\t} else if (rawMarker.endColumn === Number.MAX_VALUE && rawMarker.startColumn === 1 && ret.startLineNumber === ret.endLineNumber) {\n\t\t\tconst minColumn = model.getLineFirstNonWhitespaceColumn(rawMarker.startLineNumber);\n\t\t\tif (minColumn < ret.endColumn) {\n\t\t\t\tret = new Range(ret.startLineNumber, minColumn, ret.endLineNumber, ret.endColumn);\n\t\t\t\trawMarker.startColumn = minColumn;\n\t\t\t}\n\t\t}\n\t\treturn ret;\n\t}\n\n\tprivate _createDecorationOption(marker: IMarker): IModelDecorationOptions {\n\n\t\tlet className: string | undefined;\n\t\tlet color: ThemeColor | undefined = undefined;\n\t\tlet zIndex: number;\n\t\tlet inlineClassName: string | undefined = undefined;\n\t\tlet minimap: IModelDecorationMinimapOptions | undefined;\n\n\t\tswitch (marker.severity) {\n\t\t\tcase MarkerSeverity.Hint:\n\t\t\t\tif (this._hasMarkerTag(marker, MarkerTag.Deprecated)) {\n\t\t\t\t\tclassName = undefined;\n\t\t\t\t} else if (this._hasMarkerTag(marker, MarkerTag.Unnecessary)) {\n\t\t\t\t\tclassName = ClassName.EditorUnnecessaryDecoration;\n\t\t\t\t} else {\n\t\t\t\t\tclassName = ClassName.EditorHintDecoration;\n\t\t\t\t}\n\t\t\t\tzIndex = 0;\n\t\t\t\tbreak;\n\t\t\tcase MarkerSeverity.Info:\n\t\t\t\tclassName = ClassName.EditorInfoDecoration;\n\t\t\t\tcolor = themeColorFromId(overviewRulerInfo);\n\t\t\t\tzIndex = 10;\n\t\t\t\tminimap = {\n\t\t\t\t\tcolor: themeColorFromId(minimapInfo),\n\t\t\t\t\tposition: MinimapPosition.Inline\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase MarkerSeverity.Warning:\n\t\t\t\tclassName = ClassName.EditorWarningDecoration;\n\t\t\t\tcolor = themeColorFromId(overviewRulerWarning);\n\t\t\t\tzIndex = 20;\n\t\t\t\tminimap = {\n\t\t\t\t\tcolor: themeColorFromId(minimapWarning),\n\t\t\t\t\tposition: MinimapPosition.Inline\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase MarkerSeverity.Error:\n\t\t\tdefault:\n\t\t\t\tclassName = ClassName.EditorErrorDecoration;\n\t\t\t\tcolor = themeColorFromId(overviewRulerError);\n\t\t\t\tzIndex = 30;\n\t\t\t\tminimap = {\n\t\t\t\t\tcolor: themeColorFromId(minimapError),\n\t\t\t\t\tposition: MinimapPosition.Inline\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (marker.tags) {\n\t\t\tif (marker.tags.indexOf(MarkerTag.Unnecessary) !== -1) {\n\t\t\t\tinlineClassName = ClassName.EditorUnnecessaryInlineDecoration;\n\t\t\t}\n\t\t\tif (marker.tags.indexOf(MarkerTag.Deprecated) !== -1) {\n\t\t\t\tinlineClassName = ClassName.EditorDeprecatedInlineDecoration;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tdescription: 'marker-decoration',\n\t\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\t\tclassName,\n\t\t\tshowIfCollapsed: true,\n\t\t\toverviewRuler: {\n\t\t\t\tcolor,\n\t\t\t\tposition: OverviewRulerLane.Right\n\t\t\t},\n\t\t\tminimap,\n\t\t\tzIndex,\n\t\t\tinlineClassName,\n\t\t};\n\t}\n\n\tprivate _hasMarkerTag(marker: IMarker, tag: MarkerTag): boolean {\n\t\tif (marker.tags) {\n\t\t\treturn marker.tags.indexOf(tag) >= 0;\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
@@ -252,103 +252,106 @@ export var EditorOption;
252
252
  EditorOption[EditorOption["lineNumbersMinChars"] = 77] = "lineNumbersMinChars";
253
253
  EditorOption[EditorOption["linkedEditing"] = 78] = "linkedEditing";
254
254
  EditorOption[EditorOption["links"] = 79] = "links";
255
- EditorOption[EditorOption["matchBrackets"] = 80] = "matchBrackets";
256
- EditorOption[EditorOption["minimap"] = 81] = "minimap";
257
- EditorOption[EditorOption["mouseStyle"] = 82] = "mouseStyle";
258
- EditorOption[EditorOption["mouseWheelScrollSensitivity"] = 83] = "mouseWheelScrollSensitivity";
259
- EditorOption[EditorOption["mouseWheelZoom"] = 84] = "mouseWheelZoom";
260
- EditorOption[EditorOption["multiCursorMergeOverlapping"] = 85] = "multiCursorMergeOverlapping";
261
- EditorOption[EditorOption["multiCursorModifier"] = 86] = "multiCursorModifier";
262
- EditorOption[EditorOption["mouseMiddleClickAction"] = 87] = "mouseMiddleClickAction";
263
- EditorOption[EditorOption["multiCursorPaste"] = 88] = "multiCursorPaste";
264
- EditorOption[EditorOption["multiCursorLimit"] = 89] = "multiCursorLimit";
265
- EditorOption[EditorOption["occurrencesHighlight"] = 90] = "occurrencesHighlight";
266
- EditorOption[EditorOption["occurrencesHighlightDelay"] = 91] = "occurrencesHighlightDelay";
267
- EditorOption[EditorOption["overtypeCursorStyle"] = 92] = "overtypeCursorStyle";
268
- EditorOption[EditorOption["overtypeOnPaste"] = 93] = "overtypeOnPaste";
269
- EditorOption[EditorOption["overviewRulerBorder"] = 94] = "overviewRulerBorder";
270
- EditorOption[EditorOption["overviewRulerLanes"] = 95] = "overviewRulerLanes";
271
- EditorOption[EditorOption["padding"] = 96] = "padding";
272
- EditorOption[EditorOption["pasteAs"] = 97] = "pasteAs";
273
- EditorOption[EditorOption["parameterHints"] = 98] = "parameterHints";
274
- EditorOption[EditorOption["peekWidgetDefaultFocus"] = 99] = "peekWidgetDefaultFocus";
275
- EditorOption[EditorOption["placeholder"] = 100] = "placeholder";
276
- EditorOption[EditorOption["definitionLinkOpensInPeek"] = 101] = "definitionLinkOpensInPeek";
277
- EditorOption[EditorOption["quickSuggestions"] = 102] = "quickSuggestions";
278
- EditorOption[EditorOption["quickSuggestionsDelay"] = 103] = "quickSuggestionsDelay";
279
- EditorOption[EditorOption["readOnly"] = 104] = "readOnly";
280
- EditorOption[EditorOption["readOnlyMessage"] = 105] = "readOnlyMessage";
281
- EditorOption[EditorOption["renameOnType"] = 106] = "renameOnType";
282
- EditorOption[EditorOption["renderRichScreenReaderContent"] = 107] = "renderRichScreenReaderContent";
283
- EditorOption[EditorOption["renderControlCharacters"] = 108] = "renderControlCharacters";
284
- EditorOption[EditorOption["renderFinalNewline"] = 109] = "renderFinalNewline";
285
- EditorOption[EditorOption["renderLineHighlight"] = 110] = "renderLineHighlight";
286
- EditorOption[EditorOption["renderLineHighlightOnlyWhenFocus"] = 111] = "renderLineHighlightOnlyWhenFocus";
287
- EditorOption[EditorOption["renderValidationDecorations"] = 112] = "renderValidationDecorations";
288
- EditorOption[EditorOption["renderWhitespace"] = 113] = "renderWhitespace";
289
- EditorOption[EditorOption["revealHorizontalRightPadding"] = 114] = "revealHorizontalRightPadding";
290
- EditorOption[EditorOption["roundedSelection"] = 115] = "roundedSelection";
291
- EditorOption[EditorOption["rulers"] = 116] = "rulers";
292
- EditorOption[EditorOption["scrollbar"] = 117] = "scrollbar";
293
- EditorOption[EditorOption["scrollBeyondLastColumn"] = 118] = "scrollBeyondLastColumn";
294
- EditorOption[EditorOption["scrollBeyondLastLine"] = 119] = "scrollBeyondLastLine";
295
- EditorOption[EditorOption["scrollPredominantAxis"] = 120] = "scrollPredominantAxis";
296
- EditorOption[EditorOption["selectionClipboard"] = 121] = "selectionClipboard";
297
- EditorOption[EditorOption["selectionHighlight"] = 122] = "selectionHighlight";
298
- EditorOption[EditorOption["selectionHighlightMaxLength"] = 123] = "selectionHighlightMaxLength";
299
- EditorOption[EditorOption["selectionHighlightMultiline"] = 124] = "selectionHighlightMultiline";
300
- EditorOption[EditorOption["selectOnLineNumbers"] = 125] = "selectOnLineNumbers";
301
- EditorOption[EditorOption["showFoldingControls"] = 126] = "showFoldingControls";
302
- EditorOption[EditorOption["showUnused"] = 127] = "showUnused";
303
- EditorOption[EditorOption["snippetSuggestions"] = 128] = "snippetSuggestions";
304
- EditorOption[EditorOption["smartSelect"] = 129] = "smartSelect";
305
- EditorOption[EditorOption["smoothScrolling"] = 130] = "smoothScrolling";
306
- EditorOption[EditorOption["stickyScroll"] = 131] = "stickyScroll";
307
- EditorOption[EditorOption["stickyTabStops"] = 132] = "stickyTabStops";
308
- EditorOption[EditorOption["stopRenderingLineAfter"] = 133] = "stopRenderingLineAfter";
309
- EditorOption[EditorOption["suggest"] = 134] = "suggest";
310
- EditorOption[EditorOption["suggestFontSize"] = 135] = "suggestFontSize";
311
- EditorOption[EditorOption["suggestLineHeight"] = 136] = "suggestLineHeight";
312
- EditorOption[EditorOption["suggestOnTriggerCharacters"] = 137] = "suggestOnTriggerCharacters";
313
- EditorOption[EditorOption["suggestSelection"] = 138] = "suggestSelection";
314
- EditorOption[EditorOption["tabCompletion"] = 139] = "tabCompletion";
315
- EditorOption[EditorOption["tabIndex"] = 140] = "tabIndex";
316
- EditorOption[EditorOption["trimWhitespaceOnDelete"] = 141] = "trimWhitespaceOnDelete";
317
- EditorOption[EditorOption["unicodeHighlighting"] = 142] = "unicodeHighlighting";
318
- EditorOption[EditorOption["unusualLineTerminators"] = 143] = "unusualLineTerminators";
319
- EditorOption[EditorOption["useShadowDOM"] = 144] = "useShadowDOM";
320
- EditorOption[EditorOption["useTabStops"] = 145] = "useTabStops";
321
- EditorOption[EditorOption["wordBreak"] = 146] = "wordBreak";
322
- EditorOption[EditorOption["wordSegmenterLocales"] = 147] = "wordSegmenterLocales";
323
- EditorOption[EditorOption["wordSeparators"] = 148] = "wordSeparators";
324
- EditorOption[EditorOption["wordWrap"] = 149] = "wordWrap";
325
- EditorOption[EditorOption["wordWrapBreakAfterCharacters"] = 150] = "wordWrapBreakAfterCharacters";
326
- EditorOption[EditorOption["wordWrapBreakBeforeCharacters"] = 151] = "wordWrapBreakBeforeCharacters";
327
- EditorOption[EditorOption["wordWrapColumn"] = 152] = "wordWrapColumn";
328
- EditorOption[EditorOption["wordWrapOverride1"] = 153] = "wordWrapOverride1";
329
- EditorOption[EditorOption["wordWrapOverride2"] = 154] = "wordWrapOverride2";
330
- EditorOption[EditorOption["wrappingIndent"] = 155] = "wrappingIndent";
331
- EditorOption[EditorOption["wrappingStrategy"] = 156] = "wrappingStrategy";
332
- EditorOption[EditorOption["showDeprecated"] = 157] = "showDeprecated";
333
- EditorOption[EditorOption["inertialScroll"] = 158] = "inertialScroll";
334
- EditorOption[EditorOption["inlayHints"] = 159] = "inlayHints";
335
- EditorOption[EditorOption["wrapOnEscapedLineFeeds"] = 160] = "wrapOnEscapedLineFeeds";
336
- EditorOption[EditorOption["wordWrapIndicator"] = 161] = "wordWrapIndicator";
337
- EditorOption[EditorOption["effectiveCursorStyle"] = 162] = "effectiveCursorStyle";
338
- EditorOption[EditorOption["editorClassName"] = 163] = "editorClassName";
339
- EditorOption[EditorOption["pixelRatio"] = 164] = "pixelRatio";
340
- EditorOption[EditorOption["tabFocusMode"] = 165] = "tabFocusMode";
341
- EditorOption[EditorOption["layoutInfo"] = 166] = "layoutInfo";
342
- EditorOption[EditorOption["wrappingInfo"] = 167] = "wrappingInfo";
343
- EditorOption[EditorOption["defaultColorDecorators"] = 168] = "defaultColorDecorators";
344
- EditorOption[EditorOption["colorDecoratorsActivatedOn"] = 169] = "colorDecoratorsActivatedOn";
345
- EditorOption[EditorOption["inlineCompletionsAccessibilityVerbose"] = 170] = "inlineCompletionsAccessibilityVerbose";
346
- EditorOption[EditorOption["effectiveEditContext"] = 171] = "effectiveEditContext";
347
- EditorOption[EditorOption["scrollOnMiddleClick"] = 172] = "scrollOnMiddleClick";
348
- EditorOption[EditorOption["effectiveAllowVariableFonts"] = 173] = "effectiveAllowVariableFonts";
349
- EditorOption[EditorOption["doubleClickSelectsBlock"] = 174] = "doubleClickSelectsBlock";
350
- EditorOption[EditorOption["fullwidthCharacterWidth"] = 175] = "fullwidthCharacterWidth";
351
- EditorOption[EditorOption["effectiveFullwidthCharacterWidth"] = 176] = "effectiveFullwidthCharacterWidth";
255
+ EditorOption[EditorOption["markdownImages"] = 80] = "markdownImages";
256
+ EditorOption[EditorOption["matchBrackets"] = 81] = "matchBrackets";
257
+ EditorOption[EditorOption["minimap"] = 82] = "minimap";
258
+ EditorOption[EditorOption["mouseStyle"] = 83] = "mouseStyle";
259
+ EditorOption[EditorOption["mouseWheelScrollSensitivity"] = 84] = "mouseWheelScrollSensitivity";
260
+ EditorOption[EditorOption["mouseWheelZoom"] = 85] = "mouseWheelZoom";
261
+ EditorOption[EditorOption["multiCursorMergeOverlapping"] = 86] = "multiCursorMergeOverlapping";
262
+ EditorOption[EditorOption["multiCursorModifier"] = 87] = "multiCursorModifier";
263
+ EditorOption[EditorOption["mouseMiddleClickAction"] = 88] = "mouseMiddleClickAction";
264
+ EditorOption[EditorOption["multiCursorPaste"] = 89] = "multiCursorPaste";
265
+ EditorOption[EditorOption["multiCursorLimit"] = 90] = "multiCursorLimit";
266
+ EditorOption[EditorOption["occurrencesHighlight"] = 91] = "occurrencesHighlight";
267
+ EditorOption[EditorOption["occurrencesHighlightDelay"] = 92] = "occurrencesHighlightDelay";
268
+ EditorOption[EditorOption["occurrencesHighlightFromAllProviders"] = 93] = "occurrencesHighlightFromAllProviders";
269
+ EditorOption[EditorOption["overtypeCursorStyle"] = 94] = "overtypeCursorStyle";
270
+ EditorOption[EditorOption["overtypeOnPaste"] = 95] = "overtypeOnPaste";
271
+ EditorOption[EditorOption["overviewRulerBorder"] = 96] = "overviewRulerBorder";
272
+ EditorOption[EditorOption["overviewRulerLanes"] = 97] = "overviewRulerLanes";
273
+ EditorOption[EditorOption["padding"] = 98] = "padding";
274
+ EditorOption[EditorOption["pasteAs"] = 99] = "pasteAs";
275
+ EditorOption[EditorOption["parameterHints"] = 100] = "parameterHints";
276
+ EditorOption[EditorOption["peekWidgetDefaultFocus"] = 101] = "peekWidgetDefaultFocus";
277
+ EditorOption[EditorOption["placeholder"] = 102] = "placeholder";
278
+ EditorOption[EditorOption["definitionLinkOpensInPeek"] = 103] = "definitionLinkOpensInPeek";
279
+ EditorOption[EditorOption["quickSuggestions"] = 104] = "quickSuggestions";
280
+ EditorOption[EditorOption["quickSuggestionsDelay"] = 105] = "quickSuggestionsDelay";
281
+ EditorOption[EditorOption["readOnly"] = 106] = "readOnly";
282
+ EditorOption[EditorOption["readOnlyMessage"] = 107] = "readOnlyMessage";
283
+ EditorOption[EditorOption["renameOnType"] = 108] = "renameOnType";
284
+ EditorOption[EditorOption["renderRichScreenReaderContent"] = 109] = "renderRichScreenReaderContent";
285
+ EditorOption[EditorOption["renderControlCharacters"] = 110] = "renderControlCharacters";
286
+ EditorOption[EditorOption["renderFinalNewline"] = 111] = "renderFinalNewline";
287
+ EditorOption[EditorOption["renderLineHighlight"] = 112] = "renderLineHighlight";
288
+ EditorOption[EditorOption["renderLineHighlightOnlyWhenFocus"] = 113] = "renderLineHighlightOnlyWhenFocus";
289
+ EditorOption[EditorOption["renderValidationDecorations"] = 114] = "renderValidationDecorations";
290
+ EditorOption[EditorOption["renderWhitespace"] = 115] = "renderWhitespace";
291
+ EditorOption[EditorOption["revealHorizontalRightPadding"] = 116] = "revealHorizontalRightPadding";
292
+ EditorOption[EditorOption["roundedSelection"] = 117] = "roundedSelection";
293
+ EditorOption[EditorOption["rulers"] = 118] = "rulers";
294
+ EditorOption[EditorOption["scrollbar"] = 119] = "scrollbar";
295
+ EditorOption[EditorOption["scrollBeyondLastColumn"] = 120] = "scrollBeyondLastColumn";
296
+ EditorOption[EditorOption["scrollBeyondLastLine"] = 121] = "scrollBeyondLastLine";
297
+ EditorOption[EditorOption["scrollPredominantAxis"] = 122] = "scrollPredominantAxis";
298
+ EditorOption[EditorOption["selectionClipboard"] = 123] = "selectionClipboard";
299
+ EditorOption[EditorOption["selectionHighlight"] = 124] = "selectionHighlight";
300
+ EditorOption[EditorOption["selectionHighlightMaxLength"] = 125] = "selectionHighlightMaxLength";
301
+ EditorOption[EditorOption["selectionHighlightMultiline"] = 126] = "selectionHighlightMultiline";
302
+ EditorOption[EditorOption["selectedTextMatchMode"] = 127] = "selectedTextMatchMode";
303
+ EditorOption[EditorOption["selectOnLineNumbers"] = 128] = "selectOnLineNumbers";
304
+ EditorOption[EditorOption["showFoldingControls"] = 129] = "showFoldingControls";
305
+ EditorOption[EditorOption["showUnused"] = 130] = "showUnused";
306
+ EditorOption[EditorOption["snippetSuggestions"] = 131] = "snippetSuggestions";
307
+ EditorOption[EditorOption["smartSelect"] = 132] = "smartSelect";
308
+ EditorOption[EditorOption["smoothScrolling"] = 133] = "smoothScrolling";
309
+ EditorOption[EditorOption["stickyScroll"] = 134] = "stickyScroll";
310
+ EditorOption[EditorOption["stickyTabStops"] = 135] = "stickyTabStops";
311
+ EditorOption[EditorOption["stopRenderingLineAfter"] = 136] = "stopRenderingLineAfter";
312
+ EditorOption[EditorOption["suggest"] = 137] = "suggest";
313
+ EditorOption[EditorOption["suggestFontSize"] = 138] = "suggestFontSize";
314
+ EditorOption[EditorOption["suggestLineHeight"] = 139] = "suggestLineHeight";
315
+ EditorOption[EditorOption["suggestOnTriggerCharacters"] = 140] = "suggestOnTriggerCharacters";
316
+ EditorOption[EditorOption["suggestSelection"] = 141] = "suggestSelection";
317
+ EditorOption[EditorOption["tabCompletion"] = 142] = "tabCompletion";
318
+ EditorOption[EditorOption["tabIndex"] = 143] = "tabIndex";
319
+ EditorOption[EditorOption["trimWhitespaceOnDelete"] = 144] = "trimWhitespaceOnDelete";
320
+ EditorOption[EditorOption["unicodeHighlighting"] = 145] = "unicodeHighlighting";
321
+ EditorOption[EditorOption["unusualLineTerminators"] = 146] = "unusualLineTerminators";
322
+ EditorOption[EditorOption["useShadowDOM"] = 147] = "useShadowDOM";
323
+ EditorOption[EditorOption["useTabStops"] = 148] = "useTabStops";
324
+ EditorOption[EditorOption["wordBreak"] = 149] = "wordBreak";
325
+ EditorOption[EditorOption["wordSegmenterLocales"] = 150] = "wordSegmenterLocales";
326
+ EditorOption[EditorOption["wordSeparators"] = 151] = "wordSeparators";
327
+ EditorOption[EditorOption["wordWrap"] = 152] = "wordWrap";
328
+ EditorOption[EditorOption["wordWrapBreakAfterCharacters"] = 153] = "wordWrapBreakAfterCharacters";
329
+ EditorOption[EditorOption["wordWrapBreakBeforeCharacters"] = 154] = "wordWrapBreakBeforeCharacters";
330
+ EditorOption[EditorOption["wordWrapColumn"] = 155] = "wordWrapColumn";
331
+ EditorOption[EditorOption["wordWrapOverride1"] = 156] = "wordWrapOverride1";
332
+ EditorOption[EditorOption["wordWrapOverride2"] = 157] = "wordWrapOverride2";
333
+ EditorOption[EditorOption["wrappingIndent"] = 158] = "wrappingIndent";
334
+ EditorOption[EditorOption["wrappingStrategy"] = 159] = "wrappingStrategy";
335
+ EditorOption[EditorOption["showDeprecated"] = 160] = "showDeprecated";
336
+ EditorOption[EditorOption["inertialScroll"] = 161] = "inertialScroll";
337
+ EditorOption[EditorOption["inlayHints"] = 162] = "inlayHints";
338
+ EditorOption[EditorOption["wrapOnEscapedLineFeeds"] = 163] = "wrapOnEscapedLineFeeds";
339
+ EditorOption[EditorOption["wordWrapIndicator"] = 164] = "wordWrapIndicator";
340
+ EditorOption[EditorOption["effectiveCursorStyle"] = 165] = "effectiveCursorStyle";
341
+ EditorOption[EditorOption["editorClassName"] = 166] = "editorClassName";
342
+ EditorOption[EditorOption["pixelRatio"] = 167] = "pixelRatio";
343
+ EditorOption[EditorOption["tabFocusMode"] = 168] = "tabFocusMode";
344
+ EditorOption[EditorOption["layoutInfo"] = 169] = "layoutInfo";
345
+ EditorOption[EditorOption["wrappingInfo"] = 170] = "wrappingInfo";
346
+ EditorOption[EditorOption["defaultColorDecorators"] = 171] = "defaultColorDecorators";
347
+ EditorOption[EditorOption["colorDecoratorsActivatedOn"] = 172] = "colorDecoratorsActivatedOn";
348
+ EditorOption[EditorOption["inlineCompletionsAccessibilityVerbose"] = 173] = "inlineCompletionsAccessibilityVerbose";
349
+ EditorOption[EditorOption["effectiveEditContext"] = 174] = "effectiveEditContext";
350
+ EditorOption[EditorOption["scrollOnMiddleClick"] = 175] = "scrollOnMiddleClick";
351
+ EditorOption[EditorOption["effectiveAllowVariableFonts"] = 176] = "effectiveAllowVariableFonts";
352
+ EditorOption[EditorOption["doubleClickSelectsBlock"] = 177] = "doubleClickSelectsBlock";
353
+ EditorOption[EditorOption["fullwidthCharacterWidth"] = 178] = "fullwidthCharacterWidth";
354
+ EditorOption[EditorOption["effectiveFullwidthCharacterWidth"] = 179] = "effectiveFullwidthCharacterWidth";
352
355
  })(EditorOption || (EditorOption = {}));
353
356
  /**
354
357
  * End of line character preference.