monaco-editor-core 0.55.0-dev-20251021 → 0.55.0-dev-20251023

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 (226) 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 +23 -5
  18. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  19. package/esm/vs/base/browser/ui/iconLabel/iconlabel.css +2 -3
  20. package/esm/vs/base/browser/ui/list/listPaging.js +5 -1
  21. package/esm/vs/base/browser/ui/list/listPaging.js.map +1 -1
  22. package/esm/vs/base/browser/ui/list/listView.js +4 -3
  23. package/esm/vs/base/browser/ui/list/listView.js.map +1 -1
  24. package/esm/vs/base/common/arrays.js +10 -0
  25. package/esm/vs/base/common/arrays.js.map +1 -1
  26. package/esm/vs/base/common/codiconsLibrary.js +1 -0
  27. package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
  28. package/esm/vs/base/common/paging.js.map +1 -1
  29. package/esm/vs/base/common/platform.js +1 -0
  30. package/esm/vs/base/common/platform.js.map +1 -1
  31. package/esm/vs/base/common/policy.js +40 -1
  32. package/esm/vs/base/common/policy.js.map +1 -1
  33. package/esm/vs/base/common/validation.js +157 -0
  34. package/esm/vs/base/common/validation.js.map +1 -0
  35. package/esm/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +1 -1
  36. package/esm/vs/editor/browser/controller/editContext/screenReaderUtils.js +4 -4
  37. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +1 -1
  38. package/esm/vs/editor/browser/coreCommands.js +3 -3
  39. package/esm/vs/editor/browser/editorExtensions.js +9 -9
  40. package/esm/vs/editor/browser/gpu/viewGpuContext.js +1 -1
  41. package/esm/vs/editor/browser/services/hoverService/hoverWidget.js +1 -1
  42. package/esm/vs/editor/browser/services/hoverService/updatableHoverWidget.js +1 -1
  43. package/esm/vs/editor/browser/services/inlineCompletionsService.js +4 -4
  44. package/esm/vs/editor/browser/services/inlineCompletionsService.js.map +1 -1
  45. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +2 -2
  46. package/esm/vs/editor/browser/widget/diffEditor/commands.js +12 -12
  47. package/esm/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +14 -14
  48. package/esm/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js.map +1 -1
  49. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -1
  50. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/copySelection.js +1 -1
  51. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +7 -7
  52. package/esm/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +5 -5
  53. package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +7 -7
  54. package/esm/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  55. package/esm/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +2 -2
  56. package/esm/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
  57. package/esm/vs/editor/browser/widget/multiDiffEditor/colors.js +3 -3
  58. package/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
  59. package/esm/vs/editor/common/config/editorConfigurationSchema.js +54 -54
  60. package/esm/vs/editor/common/config/editorOptions.js +406 -406
  61. package/esm/vs/editor/common/core/editorColorRegistry.js +68 -68
  62. package/esm/vs/editor/common/editorContextKeys.js +46 -46
  63. package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
  64. package/esm/vs/editor/common/languages.js +66 -56
  65. package/esm/vs/editor/common/languages.js.map +1 -1
  66. package/esm/vs/editor/common/model/editStack.js +1 -1
  67. package/esm/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js.map +1 -1
  68. package/esm/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.js +1 -1
  69. package/esm/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.js.map +1 -1
  70. package/esm/vs/editor/common/services/treeSitter/treeSitterLibraryService.js.map +1 -1
  71. package/esm/vs/editor/common/standaloneStrings.js +10 -10
  72. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  73. package/esm/vs/editor/common/viewModel/viewModelLines.js.map +1 -1
  74. package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  75. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  76. package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  77. package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  78. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  79. package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  80. package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  81. package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  82. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  83. package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  84. package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  85. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  86. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  87. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  88. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  89. package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
  90. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  91. package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  92. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  93. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  94. package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  95. package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  96. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  97. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  98. package/esm/vs/editor/contrib/find/browser/findController.js +16 -16
  99. package/esm/vs/editor/contrib/find/browser/findWidget.js +26 -26
  100. package/esm/vs/editor/contrib/folding/browser/folding.js +20 -20
  101. package/esm/vs/editor/contrib/folding/browser/folding.js.map +1 -1
  102. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  103. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js.map +1 -1
  104. package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  105. package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
  106. package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  107. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  108. package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  109. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  110. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  111. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  112. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  113. package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  114. package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  115. package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  116. package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  117. package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  118. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  119. package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  120. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  121. package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  122. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  123. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +63 -52
  124. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js.map +1 -1
  125. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -12
  126. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +1 -1
  127. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +1 -1
  128. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  129. package/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +2 -4
  130. package/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js.map +1 -1
  131. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +11 -12
  132. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  133. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +4 -4
  134. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js.map +1 -1
  135. package/esm/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js.map +1 -1
  136. package/esm/vs/editor/contrib/inlineCompletions/browser/telemetry.js.map +1 -1
  137. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
  138. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +3 -0
  139. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js.map +1 -1
  140. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +1 -1
  141. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +5 -5
  142. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js.map +1 -1
  143. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  144. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  145. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  146. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -31
  147. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  148. package/esm/vs/editor/contrib/links/browser/links.js +10 -10
  149. package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
  150. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  151. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  152. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  153. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  154. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  155. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +35 -28
  156. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js.map +1 -1
  157. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  158. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  159. package/esm/vs/editor/contrib/rename/browser/rename.js +11 -11
  160. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  161. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  162. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  163. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  164. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  165. package/esm/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  166. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  167. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  168. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  169. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  170. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  171. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  172. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  173. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  174. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  175. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  176. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  177. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  178. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  179. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  180. package/esm/vs/editor/standalone/browser/standaloneTreeSitterLibraryService.js +2 -12
  181. package/esm/vs/editor/standalone/browser/standaloneTreeSitterLibraryService.js.map +1 -1
  182. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  183. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  184. package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
  185. package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  186. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  187. package/esm/vs/platform/actions/browser/toolbar.js +2 -2
  188. package/esm/vs/platform/actions/common/actions.js +1 -0
  189. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  190. package/esm/vs/platform/actions/common/menuService.js +2 -2
  191. package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
  192. package/esm/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  193. package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
  194. package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
  195. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  196. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  197. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  198. package/esm/vs/platform/list/browser/listService.js +27 -27
  199. package/esm/vs/platform/markers/common/markerService.js +2 -2
  200. package/esm/vs/platform/markers/common/markers.js +6 -6
  201. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +19 -9
  202. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js.map +1 -1
  203. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  204. package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
  205. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  206. package/esm/vs/platform/quickinput/browser/quickInputController.js +6 -6
  207. package/esm/vs/platform/quickinput/browser/quickInputList.js +1 -1
  208. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  209. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +2 -2
  210. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js.map +1 -1
  211. package/esm/vs/platform/theme/common/colorUtils.js +2 -2
  212. package/esm/vs/platform/theme/common/colors/baseColors.js +17 -17
  213. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
  214. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  215. package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
  216. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  217. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  218. package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
  219. package/esm/vs/platform/theme/common/colors/miscColors.js +15 -15
  220. package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  221. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  222. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  223. package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  224. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  225. package/package.json +2 -2
  226. package/version.txt +1 -1
@@ -202,6 +202,13 @@
202
202
  ]
203
203
  }
204
204
  ],
205
+ "vs/base/common/policy": [
206
+ "extensionsConfigurationTitle",
207
+ "terminalIntegratedConfigurationTitle",
208
+ "interactiveSessionConfigurationTitle",
209
+ "telemetryConfigurationTitle",
210
+ "updateConfigurationTitle"
211
+ ],
205
212
  "vs/editor/browser/controller/editContext/native/screenReaderSupport": [
206
213
  "editor"
207
214
  ],
@@ -1695,7 +1702,9 @@
1695
1702
  "hint.cmd"
1696
1703
  ],
1697
1704
  "vs/editor/contrib/inlineCompletions/browser/controller/commands": [
1698
- "noInlineEditAvailable",
1705
+ "inlineSuggest.trigger.description",
1706
+ "inlineSuggest.trigger.args",
1707
+ "noInlineSuggestionAvailable",
1699
1708
  "acceptWord",
1700
1709
  "acceptLine",
1701
1710
  "accept",
@@ -1707,7 +1716,6 @@
1707
1716
  "action.inlineSuggest.showNext",
1708
1717
  "action.inlineSuggest.showPrevious",
1709
1718
  "action.inlineSuggest.trigger",
1710
- "action.inlineSuggest.trigger.explicitInlineEdit",
1711
1719
  "action.inlineSuggest.acceptNextWord",
1712
1720
  "action.inlineSuggest.acceptNextLine",
1713
1721
  "action.inlineSuggest.accept",
@@ -1958,6 +1966,7 @@
1958
1966
  ],
1959
1967
  "vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess": [
1960
1968
  "cannotRunGotoLine",
1969
+ "gotoLineQuickAccessDescription",
1961
1970
  "gotoLineToggle",
1962
1971
  "gotoLineColumnLabel",
1963
1972
  "gotoLineLabel",
@@ -3057,6 +3066,13 @@
3057
3066
  "Alt",
3058
3067
  "Super"
3059
3068
  ],
3069
+ "vs/base/common/policy": [
3070
+ "Extensions",
3071
+ "Integrated Terminal",
3072
+ "Chat",
3073
+ "Telemetry",
3074
+ "Update"
3075
+ ],
3060
3076
  "vs/editor/browser/controller/editContext/native/screenReaderSupport": [
3061
3077
  "editor"
3062
3078
  ],
@@ -3096,7 +3112,7 @@
3096
3112
  ],
3097
3113
  "vs/editor/browser/services/inlineCompletionsService": [
3098
3114
  "Whether inline completions are currently snoozed",
3099
- "Select snooze duration for Code completions and NES",
3115
+ "Select snooze duration for Inline Suggestions",
3100
3116
  "Snooze Inline Suggestions",
3101
3117
  "Cancel Snooze Inline Suggestions"
3102
3118
  ],
@@ -4323,7 +4339,9 @@
4323
4339
  "Execute Command"
4324
4340
  ],
4325
4341
  "vs/editor/contrib/inlineCompletions/browser/controller/commands": [
4326
- "No inline edit is available.",
4342
+ "Triggers an inline suggestion in the editor.",
4343
+ "Options for triggering inline suggestions.",
4344
+ "No inline suggestion is available.",
4327
4345
  "Accept Word",
4328
4346
  "Accept Line",
4329
4347
  "Accept",
@@ -4335,7 +4353,6 @@
4335
4353
  "Show Next Inline Suggestion",
4336
4354
  "Show Previous Inline Suggestion",
4337
4355
  "Trigger Inline Suggestion",
4338
- "Trigger Next Edit Suggestion",
4339
4356
  "Accept Next Word Of Inline Suggestion",
4340
4357
  "Accept Next Line Of Inline Suggestion",
4341
4358
  "Accept Inline Suggestion",
@@ -4525,6 +4542,7 @@
4525
4542
  ],
4526
4543
  "vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess": [
4527
4544
  "Open a text editor first to go to a line.",
4545
+ "Use :line[:column] or ::offset to go to a position. Negative values are counted from the end.",
4528
4546
  "Use zero-based offset",
4529
4547
  "Go to line {0} and character {1}.",
4530
4548
  "Go to line {0}.",
@@ -33,9 +33,8 @@
33
33
 
34
34
  .monaco-icon-label-iconpath {
35
35
  width: 16px;
36
- height: 16px;
37
- padding-left: 2px;
38
- margin-top: 2px;
36
+ height: 22px;
37
+ margin-right: 6px;
39
38
  display: flex;
40
39
  }
41
40
 
@@ -5,7 +5,7 @@
5
5
  import { range } from '../../../common/arrays.js';
6
6
  import { CancellationTokenSource } from '../../../common/cancellation.js';
7
7
  import { Event } from '../../../common/event.js';
8
- import { Disposable } from '../../../common/lifecycle.js';
8
+ import { Disposable, DisposableStore } from '../../../common/lifecycle.js';
9
9
  import './list.css';
10
10
  import { List } from './listWidget.js';
11
11
  class PagedRenderer {
@@ -68,6 +68,7 @@ function fromPagedListOptions(modelProvider, options) {
68
68
  }
69
69
  export class PagedList {
70
70
  constructor(user, container, virtualDelegate, renderers, options = {}) {
71
+ this.modelDisposables = new DisposableStore();
71
72
  const modelProvider = () => this.model;
72
73
  const pagedRenderers = renderers.map(r => new PagedRenderer(r, modelProvider));
73
74
  this.list = new List(user, container, virtualDelegate, pagedRenderers, fromPagedListOptions(modelProvider, options));
@@ -100,8 +101,10 @@ export class PagedList {
100
101
  return this._model;
101
102
  }
102
103
  set model(model) {
104
+ this.modelDisposables.clear();
103
105
  this._model = model;
104
106
  this.list.splice(0, this.list.length, range(model.length));
107
+ this.modelDisposables.add(model.onDidIncrementLength(newLength => this.list.splice(this.list.length, 0, range(this.list.length, newLength))));
105
108
  }
106
109
  getFocus() {
107
110
  return this.list.getFocus();
@@ -117,6 +120,7 @@ export class PagedList {
117
120
  }
118
121
  dispose() {
119
122
  this.list.dispose();
123
+ this.modelDisposables.dispose();
120
124
  }
121
125
  }
122
126
  //# sourceMappingURL=listPaging.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/base/browser/ui/list/listPaging.ts","vs/base/browser/ui/list/listPaging.ts"],"names":[],"mappings":"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","file":"listPaging.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 { range } from '../../../common/arrays.js';\nimport { CancellationTokenSource } from '../../../common/cancellation.js';\nimport { Event } from '../../../common/event.js';\nimport { Disposable, IDisposable } from '../../../common/lifecycle.js';\nimport { IPagedModel } from '../../../common/paging.js';\nimport './list.css';\nimport { IListElementRenderDetails, IListEvent, IListMouseEvent, IListRenderer, IListVirtualDelegate } from './list.js';\nimport { IListAccessibilityProvider, IListOptions, IListOptionsUpdate, IListStyles, List } from './listWidget.js';\n\nexport interface IPagedRenderer<TElement, TTemplateData> extends IListRenderer<TElement, TTemplateData> {\n\trenderPlaceholder(index: number, templateData: TTemplateData): void;\n}\n\nexport interface ITemplateData<T> {\n\tdata?: T;\n\tdisposable?: IDisposable;\n}\n\nclass PagedRenderer<TElement, TTemplateData> implements IListRenderer<number, ITemplateData<TTemplateData>> {\n\n\tget templateId(): string { return this.renderer.templateId; }\n\n\tconstructor(\n\t\tprivate renderer: IPagedRenderer<TElement, TTemplateData>,\n\t\tprivate modelProvider: () => IPagedModel<TElement>\n\t) { }\n\n\trenderTemplate(container: HTMLElement): ITemplateData<TTemplateData> {\n\t\tconst data = this.renderer.renderTemplate(container);\n\t\treturn { data, disposable: Disposable.None };\n\t}\n\n\trenderElement(index: number, _: number, data: ITemplateData<TTemplateData>, details?: IListElementRenderDetails): void {\n\t\tdata.disposable?.dispose();\n\n\t\tif (!data.data) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this.modelProvider();\n\n\t\tif (model.isResolved(index)) {\n\t\t\treturn this.renderer.renderElement(model.get(index), index, data.data, details);\n\t\t}\n\n\t\tconst cts = new CancellationTokenSource();\n\t\tconst promise = model.resolve(index, cts.token);\n\t\tdata.disposable = { dispose: () => cts.cancel() };\n\n\t\tthis.renderer.renderPlaceholder(index, data.data);\n\t\tpromise.then(entry => this.renderer.renderElement(entry, index, data.data!, details));\n\t}\n\n\tdisposeTemplate(data: ITemplateData<TTemplateData>): void {\n\t\tif (data.disposable) {\n\t\t\tdata.disposable.dispose();\n\t\t\tdata.disposable = undefined;\n\t\t}\n\t\tif (data.data) {\n\t\t\tthis.renderer.disposeTemplate(data.data);\n\t\t\tdata.data = undefined;\n\t\t}\n\t}\n}\n\nclass PagedAccessibilityProvider<T> implements IListAccessibilityProvider<number> {\n\n\tconstructor(\n\t\tprivate modelProvider: () => IPagedModel<T>,\n\t\tprivate accessibilityProvider: IListAccessibilityProvider<T>\n\t) { }\n\n\tgetWidgetAriaLabel() {\n\t\treturn this.accessibilityProvider.getWidgetAriaLabel();\n\t}\n\n\tgetAriaLabel(index: number) {\n\t\tconst model = this.modelProvider();\n\n\t\tif (!model.isResolved(index)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this.accessibilityProvider.getAriaLabel(model.get(index));\n\t}\n}\n\nexport interface IPagedListOptions<T> {\n\treadonly keyboardSupport?: boolean;\n\treadonly accessibilityProvider?: IListAccessibilityProvider<T>;\n\treadonly horizontalScrolling?: boolean;\n}\n\nfunction fromPagedListOptions<T>(modelProvider: () => IPagedModel<T>, options: IPagedListOptions<T>): IListOptions<number> {\n\treturn {\n\t\t...options,\n\t\taccessibilityProvider: options.accessibilityProvider && new PagedAccessibilityProvider(modelProvider, options.accessibilityProvider)\n\t};\n}\n\nexport class PagedList<T> implements IDisposable {\n\n\tprivate list: List<number>;\n\tprivate _model!: IPagedModel<T>;\n\n\tconstructor(\n\t\tuser: string,\n\t\tcontainer: HTMLElement,\n\t\tvirtualDelegate: IListVirtualDelegate<number>,\n\t\trenderers: IPagedRenderer<T, any>[],\n\t\toptions: IPagedListOptions<T> = {}\n\t) {\n\t\tconst modelProvider = () => this.model;\n\t\tconst pagedRenderers = renderers.map(r => new PagedRenderer<T, ITemplateData<T>>(r, modelProvider));\n\t\tthis.list = new List(user, container, virtualDelegate, pagedRenderers, fromPagedListOptions(modelProvider, options));\n\t}\n\n\tupdateOptions(options: IListOptionsUpdate) {\n\t\tthis.list.updateOptions(options);\n\t}\n\n\tgetHTMLElement(): HTMLElement {\n\t\treturn this.list.getHTMLElement();\n\t}\n\n\tget onDidFocus(): Event<void> {\n\t\treturn this.list.onDidFocus;\n\t}\n\n\tget widget(): List<number> {\n\t\treturn this.list;\n\t}\n\n\tget onDidDispose(): Event<void> {\n\t\treturn this.list.onDidDispose;\n\t}\n\n\tget onMouseDblClick(): Event<IListMouseEvent<T>> {\n\t\treturn Event.map(this.list.onMouseDblClick, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\n\t}\n\n\tget onPointer(): Event<IListMouseEvent<T>> {\n\t\treturn Event.map(this.list.onPointer, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\n\t}\n\n\tget onDidChangeSelection(): Event<IListEvent<T>> {\n\t\treturn Event.map(this.list.onDidChangeSelection, ({ elements, indexes, browserEvent }) => ({ elements: elements.map(e => this._model.get(e)), indexes, browserEvent }));\n\t}\n\n\tget model(): IPagedModel<T> {\n\t\treturn this._model;\n\t}\n\n\tset model(model: IPagedModel<T>) {\n\t\tthis._model = model;\n\t\tthis.list.splice(0, this.list.length, range(model.length));\n\t}\n\n\tgetFocus(): number[] {\n\t\treturn this.list.getFocus();\n\t}\n\n\tgetSelection(): number[] {\n\t\treturn this.list.getSelection();\n\t}\n\n\tgetSelectedElements(): T[] {\n\t\treturn this.getSelection().map(i => this.model.get(i));\n\t}\n\n\tstyle(styles: IListStyles): void {\n\t\tthis.list.style(styles);\n\t}\n\n\tdispose(): void {\n\t\tthis.list.dispose();\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 { range } from '../../../common/arrays.js';\nimport { CancellationTokenSource } from '../../../common/cancellation.js';\nimport { Event } from '../../../common/event.js';\nimport { Disposable, IDisposable } from '../../../common/lifecycle.js';\nimport { IPagedModel } from '../../../common/paging.js';\nimport './list.css';\nimport { IListElementRenderDetails, IListEvent, IListMouseEvent, IListRenderer, IListVirtualDelegate } from './list.js';\nimport { IListAccessibilityProvider, IListOptions, IListOptionsUpdate, IListStyles, List } from './listWidget.js';\n\nexport interface IPagedRenderer<TElement, TTemplateData> extends IListRenderer<TElement, TTemplateData> {\n\trenderPlaceholder(index: number, templateData: TTemplateData): void;\n}\n\nexport interface ITemplateData<T> {\n\tdata?: T;\n\tdisposable?: IDisposable;\n}\n\nclass PagedRenderer<TElement, TTemplateData> implements IListRenderer<number, ITemplateData<TTemplateData>> {\n\n\tget templateId(): string { return this.renderer.templateId; }\n\n\tconstructor(\n\t\tprivate renderer: IPagedRenderer<TElement, TTemplateData>,\n\t\tprivate modelProvider: () => IPagedModel<TElement>\n\t) { }\n\n\trenderTemplate(container: HTMLElement): ITemplateData<TTemplateData> {\n\t\tconst data = this.renderer.renderTemplate(container);\n\t\treturn { data, disposable: Disposable.None };\n\t}\n\n\trenderElement(index: number, _: number, data: ITemplateData<TTemplateData>, details?: IListElementRenderDetails): void {\n\t\tdata.disposable?.dispose();\n\n\t\tif (!data.data) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this.modelProvider();\n\n\t\tif (model.isResolved(index)) {\n\t\t\treturn this.renderer.renderElement(model.get(index), index, data.data, details);\n\t\t}\n\n\t\tconst cts = new CancellationTokenSource();\n\t\tconst promise = model.resolve(index, cts.token);\n\t\tdata.disposable = { dispose: () => cts.cancel() };\n\n\t\tthis.renderer.renderPlaceholder(index, data.data);\n\t\tpromise.then(entry => this.renderer.renderElement(entry, index, data.data!, details));\n\t}\n\n\tdisposeTemplate(data: ITemplateData<TTemplateData>): void {\n\t\tif (data.disposable) {\n\t\t\tdata.disposable.dispose();\n\t\t\tdata.disposable = undefined;\n\t\t}\n\t\tif (data.data) {\n\t\t\tthis.renderer.disposeTemplate(data.data);\n\t\t\tdata.data = undefined;\n\t\t}\n\t}\n}\n\nclass PagedAccessibilityProvider<T> implements IListAccessibilityProvider<number> {\n\n\tconstructor(\n\t\tprivate modelProvider: () => IPagedModel<T>,\n\t\tprivate accessibilityProvider: IListAccessibilityProvider<T>\n\t) { }\n\n\tgetWidgetAriaLabel() {\n\t\treturn this.accessibilityProvider.getWidgetAriaLabel();\n\t}\n\n\tgetAriaLabel(index: number) {\n\t\tconst model = this.modelProvider();\n\n\t\tif (!model.isResolved(index)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this.accessibilityProvider.getAriaLabel(model.get(index));\n\t}\n}\n\nexport interface IPagedListOptions<T> {\n\treadonly keyboardSupport?: boolean;\n\treadonly accessibilityProvider?: IListAccessibilityProvider<T>;\n\treadonly horizontalScrolling?: boolean;\n}\n\nfunction fromPagedListOptions<T>(modelProvider: () => IPagedModel<T>, options: IPagedListOptions<T>): IListOptions<number> {\n\treturn {\n\t\t...options,\n\t\taccessibilityProvider: options.accessibilityProvider && new PagedAccessibilityProvider(modelProvider, options.accessibilityProvider)\n\t};\n}\n\nexport class PagedList<T> implements IDisposable {\n\n\tprivate list: List<number>;\n\tprivate _model!: IPagedModel<T>;\n\n\tconstructor(\n\t\tuser: string,\n\t\tcontainer: HTMLElement,\n\t\tvirtualDelegate: IListVirtualDelegate<number>,\n\t\trenderers: IPagedRenderer<T, any>[],\n\t\toptions: IPagedListOptions<T> = {}\n\t) {\n\t\tconst modelProvider = () => this.model;\n\t\tconst pagedRenderers = renderers.map(r => new PagedRenderer<T, ITemplateData<T>>(r, modelProvider));\n\t\tthis.list = new List(user, container, virtualDelegate, pagedRenderers, fromPagedListOptions(modelProvider, options));\n\t}\n\n\tupdateOptions(options: IListOptionsUpdate) {\n\t\tthis.list.updateOptions(options);\n\t}\n\n\tgetHTMLElement(): HTMLElement {\n\t\treturn this.list.getHTMLElement();\n\t}\n\n\tget onDidFocus(): Event<void> {\n\t\treturn this.list.onDidFocus;\n\t}\n\n\tget widget(): List<number> {\n\t\treturn this.list;\n\t}\n\n\tget onDidDispose(): Event<void> {\n\t\treturn this.list.onDidDispose;\n\t}\n\n\tget onMouseDblClick(): Event<IListMouseEvent<T>> {\n\t\treturn Event.map(this.list.onMouseDblClick, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\n\t}\n\n\tget onPointer(): Event<IListMouseEvent<T>> {\n\t\treturn Event.map(this.list.onPointer, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\n\t}\n\n\tget onDidChangeSelection(): Event<IListEvent<T>> {\n\t\treturn Event.map(this.list.onDidChangeSelection, ({ elements, indexes, browserEvent }) => ({ elements: elements.map(e => this._model.get(e)), indexes, browserEvent }));\n\t}\n\n\tget model(): IPagedModel<T> {\n\t\treturn this._model;\n\t}\n\n\tset model(model: IPagedModel<T>) {\n\t\tthis._model = model;\n\t\tthis.list.splice(0, this.list.length, range(model.length));\n\t}\n\n\tgetFocus(): number[] {\n\t\treturn this.list.getFocus();\n\t}\n\n\tgetSelection(): number[] {\n\t\treturn this.list.getSelection();\n\t}\n\n\tgetSelectedElements(): T[] {\n\t\treturn this.getSelection().map(i => this.model.get(i));\n\t}\n\n\tstyle(styles: IListStyles): void {\n\t\tthis.list.style(styles);\n\t}\n\n\tdispose(): void {\n\t\tthis.list.dispose();\n\t}\n}\n"]}
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/base/browser/ui/list/listPaging.ts","vs/base/browser/ui/list/listPaging.ts"],"names":[],"mappings":"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","file":"listPaging.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 { range } from '../../../common/arrays.js';\nimport { CancellationTokenSource } from '../../../common/cancellation.js';\nimport { Event } from '../../../common/event.js';\nimport { Disposable, DisposableStore, IDisposable } from '../../../common/lifecycle.js';\nimport { IPagedModel } from '../../../common/paging.js';\nimport './list.css';\nimport { IListElementRenderDetails, IListEvent, IListMouseEvent, IListRenderer, IListVirtualDelegate } from './list.js';\nimport { IListAccessibilityProvider, IListOptions, IListOptionsUpdate, IListStyles, List } from './listWidget.js';\n\nexport interface IPagedRenderer<TElement, TTemplateData> extends IListRenderer<TElement, TTemplateData> {\n\trenderPlaceholder(index: number, templateData: TTemplateData): void;\n}\n\nexport interface ITemplateData<T> {\n\tdata?: T;\n\tdisposable?: IDisposable;\n}\n\nclass PagedRenderer<TElement, TTemplateData> implements IListRenderer<number, ITemplateData<TTemplateData>> {\n\n\tget templateId(): string { return this.renderer.templateId; }\n\n\tconstructor(\n\t\tprivate renderer: IPagedRenderer<TElement, TTemplateData>,\n\t\tprivate modelProvider: () => IPagedModel<TElement>\n\t) { }\n\n\trenderTemplate(container: HTMLElement): ITemplateData<TTemplateData> {\n\t\tconst data = this.renderer.renderTemplate(container);\n\t\treturn { data, disposable: Disposable.None };\n\t}\n\n\trenderElement(index: number, _: number, data: ITemplateData<TTemplateData>, details?: IListElementRenderDetails): void {\n\t\tdata.disposable?.dispose();\n\n\t\tif (!data.data) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this.modelProvider();\n\n\t\tif (model.isResolved(index)) {\n\t\t\treturn this.renderer.renderElement(model.get(index), index, data.data, details);\n\t\t}\n\n\t\tconst cts = new CancellationTokenSource();\n\t\tconst promise = model.resolve(index, cts.token);\n\t\tdata.disposable = { dispose: () => cts.cancel() };\n\n\t\tthis.renderer.renderPlaceholder(index, data.data);\n\t\tpromise.then(entry => this.renderer.renderElement(entry, index, data.data!, details));\n\t}\n\n\tdisposeTemplate(data: ITemplateData<TTemplateData>): void {\n\t\tif (data.disposable) {\n\t\t\tdata.disposable.dispose();\n\t\t\tdata.disposable = undefined;\n\t\t}\n\t\tif (data.data) {\n\t\t\tthis.renderer.disposeTemplate(data.data);\n\t\t\tdata.data = undefined;\n\t\t}\n\t}\n}\n\nclass PagedAccessibilityProvider<T> implements IListAccessibilityProvider<number> {\n\n\tconstructor(\n\t\tprivate modelProvider: () => IPagedModel<T>,\n\t\tprivate accessibilityProvider: IListAccessibilityProvider<T>\n\t) { }\n\n\tgetWidgetAriaLabel() {\n\t\treturn this.accessibilityProvider.getWidgetAriaLabel();\n\t}\n\n\tgetAriaLabel(index: number) {\n\t\tconst model = this.modelProvider();\n\n\t\tif (!model.isResolved(index)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this.accessibilityProvider.getAriaLabel(model.get(index));\n\t}\n}\n\nexport interface IPagedListOptions<T> {\n\treadonly keyboardSupport?: boolean;\n\treadonly accessibilityProvider?: IListAccessibilityProvider<T>;\n\treadonly horizontalScrolling?: boolean;\n}\n\nfunction fromPagedListOptions<T>(modelProvider: () => IPagedModel<T>, options: IPagedListOptions<T>): IListOptions<number> {\n\treturn {\n\t\t...options,\n\t\taccessibilityProvider: options.accessibilityProvider && new PagedAccessibilityProvider(modelProvider, options.accessibilityProvider)\n\t};\n}\n\nexport class PagedList<T> implements IDisposable {\n\n\tprivate readonly list: List<number>;\n\tprivate _model!: IPagedModel<T>;\n\tprivate readonly modelDisposables = new DisposableStore();\n\n\tconstructor(\n\t\tuser: string,\n\t\tcontainer: HTMLElement,\n\t\tvirtualDelegate: IListVirtualDelegate<number>,\n\t\trenderers: IPagedRenderer<T, any>[],\n\t\toptions: IPagedListOptions<T> = {}\n\t) {\n\t\tconst modelProvider = () => this.model;\n\t\tconst pagedRenderers = renderers.map(r => new PagedRenderer<T, ITemplateData<T>>(r, modelProvider));\n\t\tthis.list = new List(user, container, virtualDelegate, pagedRenderers, fromPagedListOptions(modelProvider, options));\n\t}\n\n\tupdateOptions(options: IListOptionsUpdate) {\n\t\tthis.list.updateOptions(options);\n\t}\n\n\tgetHTMLElement(): HTMLElement {\n\t\treturn this.list.getHTMLElement();\n\t}\n\n\tget onDidFocus(): Event<void> {\n\t\treturn this.list.onDidFocus;\n\t}\n\n\tget widget(): List<number> {\n\t\treturn this.list;\n\t}\n\n\tget onDidDispose(): Event<void> {\n\t\treturn this.list.onDidDispose;\n\t}\n\n\tget onMouseDblClick(): Event<IListMouseEvent<T>> {\n\t\treturn Event.map(this.list.onMouseDblClick, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\n\t}\n\n\tget onPointer(): Event<IListMouseEvent<T>> {\n\t\treturn Event.map(this.list.onPointer, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\n\t}\n\n\tget onDidChangeSelection(): Event<IListEvent<T>> {\n\t\treturn Event.map(this.list.onDidChangeSelection, ({ elements, indexes, browserEvent }) => ({ elements: elements.map(e => this._model.get(e)), indexes, browserEvent }));\n\t}\n\n\tget model(): IPagedModel<T> {\n\t\treturn this._model;\n\t}\n\n\tset model(model: IPagedModel<T>) {\n\t\tthis.modelDisposables.clear();\n\t\tthis._model = model;\n\t\tthis.list.splice(0, this.list.length, range(model.length));\n\t\tthis.modelDisposables.add(model.onDidIncrementLength(newLength => this.list.splice(this.list.length, 0, range(this.list.length, newLength))));\n\t}\n\n\tgetFocus(): number[] {\n\t\treturn this.list.getFocus();\n\t}\n\n\tgetSelection(): number[] {\n\t\treturn this.list.getSelection();\n\t}\n\n\tgetSelectedElements(): T[] {\n\t\treturn this.getSelection().map(i => this.model.get(i));\n\t}\n\n\tstyle(styles: IListStyles): void {\n\t\tthis.list.style(styles);\n\t}\n\n\tdispose(): void {\n\t\tthis.list.dispose();\n\t\tthis.modelDisposables.dispose();\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 { range } from '../../../common/arrays.js';\nimport { CancellationTokenSource } from '../../../common/cancellation.js';\nimport { Event } from '../../../common/event.js';\nimport { Disposable, DisposableStore, IDisposable } from '../../../common/lifecycle.js';\nimport { IPagedModel } from '../../../common/paging.js';\nimport './list.css';\nimport { IListElementRenderDetails, IListEvent, IListMouseEvent, IListRenderer, IListVirtualDelegate } from './list.js';\nimport { IListAccessibilityProvider, IListOptions, IListOptionsUpdate, IListStyles, List } from './listWidget.js';\n\nexport interface IPagedRenderer<TElement, TTemplateData> extends IListRenderer<TElement, TTemplateData> {\n\trenderPlaceholder(index: number, templateData: TTemplateData): void;\n}\n\nexport interface ITemplateData<T> {\n\tdata?: T;\n\tdisposable?: IDisposable;\n}\n\nclass PagedRenderer<TElement, TTemplateData> implements IListRenderer<number, ITemplateData<TTemplateData>> {\n\n\tget templateId(): string { return this.renderer.templateId; }\n\n\tconstructor(\n\t\tprivate renderer: IPagedRenderer<TElement, TTemplateData>,\n\t\tprivate modelProvider: () => IPagedModel<TElement>\n\t) { }\n\n\trenderTemplate(container: HTMLElement): ITemplateData<TTemplateData> {\n\t\tconst data = this.renderer.renderTemplate(container);\n\t\treturn { data, disposable: Disposable.None };\n\t}\n\n\trenderElement(index: number, _: number, data: ITemplateData<TTemplateData>, details?: IListElementRenderDetails): void {\n\t\tdata.disposable?.dispose();\n\n\t\tif (!data.data) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this.modelProvider();\n\n\t\tif (model.isResolved(index)) {\n\t\t\treturn this.renderer.renderElement(model.get(index), index, data.data, details);\n\t\t}\n\n\t\tconst cts = new CancellationTokenSource();\n\t\tconst promise = model.resolve(index, cts.token);\n\t\tdata.disposable = { dispose: () => cts.cancel() };\n\n\t\tthis.renderer.renderPlaceholder(index, data.data);\n\t\tpromise.then(entry => this.renderer.renderElement(entry, index, data.data!, details));\n\t}\n\n\tdisposeTemplate(data: ITemplateData<TTemplateData>): void {\n\t\tif (data.disposable) {\n\t\t\tdata.disposable.dispose();\n\t\t\tdata.disposable = undefined;\n\t\t}\n\t\tif (data.data) {\n\t\t\tthis.renderer.disposeTemplate(data.data);\n\t\t\tdata.data = undefined;\n\t\t}\n\t}\n}\n\nclass PagedAccessibilityProvider<T> implements IListAccessibilityProvider<number> {\n\n\tconstructor(\n\t\tprivate modelProvider: () => IPagedModel<T>,\n\t\tprivate accessibilityProvider: IListAccessibilityProvider<T>\n\t) { }\n\n\tgetWidgetAriaLabel() {\n\t\treturn this.accessibilityProvider.getWidgetAriaLabel();\n\t}\n\n\tgetAriaLabel(index: number) {\n\t\tconst model = this.modelProvider();\n\n\t\tif (!model.isResolved(index)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this.accessibilityProvider.getAriaLabel(model.get(index));\n\t}\n}\n\nexport interface IPagedListOptions<T> {\n\treadonly keyboardSupport?: boolean;\n\treadonly accessibilityProvider?: IListAccessibilityProvider<T>;\n\treadonly horizontalScrolling?: boolean;\n}\n\nfunction fromPagedListOptions<T>(modelProvider: () => IPagedModel<T>, options: IPagedListOptions<T>): IListOptions<number> {\n\treturn {\n\t\t...options,\n\t\taccessibilityProvider: options.accessibilityProvider && new PagedAccessibilityProvider(modelProvider, options.accessibilityProvider)\n\t};\n}\n\nexport class PagedList<T> implements IDisposable {\n\n\tprivate readonly list: List<number>;\n\tprivate _model!: IPagedModel<T>;\n\tprivate readonly modelDisposables = new DisposableStore();\n\n\tconstructor(\n\t\tuser: string,\n\t\tcontainer: HTMLElement,\n\t\tvirtualDelegate: IListVirtualDelegate<number>,\n\t\trenderers: IPagedRenderer<T, any>[],\n\t\toptions: IPagedListOptions<T> = {}\n\t) {\n\t\tconst modelProvider = () => this.model;\n\t\tconst pagedRenderers = renderers.map(r => new PagedRenderer<T, ITemplateData<T>>(r, modelProvider));\n\t\tthis.list = new List(user, container, virtualDelegate, pagedRenderers, fromPagedListOptions(modelProvider, options));\n\t}\n\n\tupdateOptions(options: IListOptionsUpdate) {\n\t\tthis.list.updateOptions(options);\n\t}\n\n\tgetHTMLElement(): HTMLElement {\n\t\treturn this.list.getHTMLElement();\n\t}\n\n\tget onDidFocus(): Event<void> {\n\t\treturn this.list.onDidFocus;\n\t}\n\n\tget widget(): List<number> {\n\t\treturn this.list;\n\t}\n\n\tget onDidDispose(): Event<void> {\n\t\treturn this.list.onDidDispose;\n\t}\n\n\tget onMouseDblClick(): Event<IListMouseEvent<T>> {\n\t\treturn Event.map(this.list.onMouseDblClick, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\n\t}\n\n\tget onPointer(): Event<IListMouseEvent<T>> {\n\t\treturn Event.map(this.list.onPointer, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\n\t}\n\n\tget onDidChangeSelection(): Event<IListEvent<T>> {\n\t\treturn Event.map(this.list.onDidChangeSelection, ({ elements, indexes, browserEvent }) => ({ elements: elements.map(e => this._model.get(e)), indexes, browserEvent }));\n\t}\n\n\tget model(): IPagedModel<T> {\n\t\treturn this._model;\n\t}\n\n\tset model(model: IPagedModel<T>) {\n\t\tthis.modelDisposables.clear();\n\t\tthis._model = model;\n\t\tthis.list.splice(0, this.list.length, range(model.length));\n\t\tthis.modelDisposables.add(model.onDidIncrementLength(newLength => this.list.splice(this.list.length, 0, range(this.list.length, newLength))));\n\t}\n\n\tgetFocus(): number[] {\n\t\treturn this.list.getFocus();\n\t}\n\n\tgetSelection(): number[] {\n\t\treturn this.list.getSelection();\n\t}\n\n\tgetSelectedElements(): T[] {\n\t\treturn this.getSelection().map(i => this.model.get(i));\n\t}\n\n\tstyle(styles: IListStyles): void {\n\t\tthis.list.style(styles);\n\t}\n\n\tdispose(): void {\n\t\tthis.list.dispose();\n\t\tthis.modelDisposables.dispose();\n\t}\n}\n"]}
@@ -568,11 +568,12 @@ export class ListView {
568
568
  const role = this.accessibilityProvider.getRole(item.element) || 'listitem';
569
569
  item.row.domNode.setAttribute('role', role);
570
570
  const checked = this.accessibilityProvider.isChecked(item.element);
571
- if (typeof checked === 'boolean') {
572
- item.row.domNode.setAttribute('aria-checked', String(!!checked));
571
+ const toAriaState = (value) => value === 'mixed' ? 'mixed' : String(!!value);
572
+ if (typeof checked === 'boolean' || checked === 'mixed') {
573
+ item.row.domNode.setAttribute('aria-checked', toAriaState(checked));
573
574
  }
574
575
  else if (checked) {
575
- const update = (checked) => item.row.domNode.setAttribute('aria-checked', String(!!checked));
576
+ const update = (value) => item.row.domNode.setAttribute('aria-checked', toAriaState(value));
576
577
  update(checked.value);
577
578
  item.checkedDisposable = checked.onDidChange(() => update(checked.value));
578
579
  }