monaco-editor-core 0.55.0-dev-20251013 → 0.55.0-dev-20251015

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 (212) hide show
  1. package/esm/nls.keys.json +1 -1
  2. package/esm/nls.messages.cs.js +9 -0
  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 +9 -0
  12. package/esm/nls.messages.pt-br.js +9 -0
  13. package/esm/nls.messages.ru.js +2 -2
  14. package/esm/nls.messages.tr.js +9 -0
  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 +10 -0
  18. package/esm/vs/base/browser/canIUse.js +0 -1
  19. package/esm/vs/base/browser/canIUse.js.map +1 -1
  20. package/esm/vs/base/browser/domSanitize.js +31 -23
  21. package/esm/vs/base/browser/domSanitize.js.map +1 -1
  22. package/esm/vs/base/browser/dompurify/dompurify.js +188 -385
  23. package/esm/vs/base/browser/markdownRenderer.js +6 -1
  24. package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
  25. package/esm/vs/base/browser/trustedTypes.js.map +1 -1
  26. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  27. package/esm/vs/base/browser/ui/countBadge/countBadge.css +1 -1
  28. package/esm/vs/base/browser/ui/toggle/toggle.js +6 -0
  29. package/esm/vs/base/browser/ui/toggle/toggle.js.map +1 -1
  30. package/esm/vs/base/common/codiconsLibrary.js +1 -0
  31. package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
  32. package/esm/vs/base/common/objects.js +0 -1
  33. package/esm/vs/base/common/objects.js.map +1 -1
  34. package/esm/vs/editor/browser/controller/mouseTarget.js +2 -1
  35. package/esm/vs/editor/browser/controller/mouseTarget.js.map +1 -1
  36. package/esm/vs/editor/browser/services/abstractCodeEditorService.js +5 -0
  37. package/esm/vs/editor/browser/services/abstractCodeEditorService.js.map +1 -1
  38. package/esm/vs/editor/browser/services/codeEditorService.js.map +1 -1
  39. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/copySelection.js +104 -0
  40. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/copySelection.js.map +1 -0
  41. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +3 -3
  42. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js.map +1 -1
  43. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +25 -24
  44. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js.map +1 -1
  45. package/esm/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +5 -5
  46. package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +7 -3
  47. package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js.map +1 -1
  48. package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +8 -8
  49. package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js.map +1 -1
  50. package/esm/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  51. package/esm/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +2 -2
  52. package/esm/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
  53. package/esm/vs/editor/browser/widget/diffEditor/style.css +11 -0
  54. package/esm/vs/editor/browser/widget/multiDiffEditor/colors.js +3 -3
  55. package/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
  56. package/esm/vs/editor/common/config/editorConfigurationSchema.js +54 -54
  57. package/esm/vs/editor/common/config/editorOptions.js +406 -406
  58. package/esm/vs/editor/common/core/editorColorRegistry.js +68 -68
  59. package/esm/vs/editor/common/editorContextKeys.js +46 -46
  60. package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
  61. package/esm/vs/editor/common/languages.js +56 -56
  62. package/esm/vs/editor/common/model/editStack.js +1 -1
  63. package/esm/vs/editor/common/standaloneStrings.js +10 -10
  64. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  65. package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  66. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  67. package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  68. package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  69. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  70. package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  71. package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  72. package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  73. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  74. package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  75. package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  76. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  77. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  78. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  79. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  80. package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
  81. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +13 -14
  82. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js.map +1 -1
  83. package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  84. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  85. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  86. package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  87. package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  88. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  89. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  90. package/esm/vs/editor/contrib/find/browser/findController.js +16 -16
  91. package/esm/vs/editor/contrib/find/browser/findWidget.js +26 -26
  92. package/esm/vs/editor/contrib/folding/browser/folding.js +20 -20
  93. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  94. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js.map +1 -1
  95. package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  96. package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
  97. package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  98. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  99. package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  100. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  101. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  102. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  103. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  104. package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  105. package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  106. package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  107. package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  108. package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  109. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  110. package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  111. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  112. package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  113. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  114. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +19 -19
  115. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -12
  116. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +16 -11
  117. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js.map +1 -1
  118. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +1 -1
  119. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +6 -6
  120. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js.map +1 -1
  121. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +2 -4
  122. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js.map +1 -1
  123. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
  124. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +1 -1
  125. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +2 -4
  126. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js.map +1 -1
  127. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  128. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  129. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  130. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +47 -37
  131. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js.map +1 -1
  132. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  133. package/esm/vs/editor/contrib/links/browser/links.js +10 -10
  134. package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
  135. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  136. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  137. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  138. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  139. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  140. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +56 -10
  141. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js.map +1 -1
  142. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  143. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  144. package/esm/vs/editor/contrib/rename/browser/rename.js +11 -11
  145. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  146. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  147. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  148. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  149. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  150. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +2 -2
  151. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js.map +1 -1
  152. package/esm/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  153. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  154. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  155. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  156. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  157. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  158. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  159. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  160. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  161. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  162. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  163. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  164. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  165. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  166. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  167. package/esm/vs/editor/editor.api.d.ts +3 -3
  168. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  169. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  170. package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
  171. package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  172. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  173. package/esm/vs/platform/actions/browser/toolbar.js +2 -2
  174. package/esm/vs/platform/actions/common/actions.js +0 -1
  175. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  176. package/esm/vs/platform/actions/common/menuService.js +2 -2
  177. package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
  178. package/esm/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  179. package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
  180. package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
  181. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  182. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  183. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  184. package/esm/vs/platform/list/browser/listService.js +27 -27
  185. package/esm/vs/platform/markers/common/markerService.js +2 -2
  186. package/esm/vs/platform/markers/common/markers.js +6 -6
  187. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +7 -7
  188. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  189. package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
  190. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  191. package/esm/vs/platform/quickinput/browser/quickInputController.js +6 -6
  192. package/esm/vs/platform/quickinput/browser/quickInputList.js +1 -1
  193. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  194. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  195. package/esm/vs/platform/quickinput/common/quickInput.js.map +1 -1
  196. package/esm/vs/platform/theme/common/colorUtils.js +2 -2
  197. package/esm/vs/platform/theme/common/colors/baseColors.js +17 -17
  198. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
  199. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  200. package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
  201. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  202. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  203. package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
  204. package/esm/vs/platform/theme/common/colors/miscColors.js +15 -15
  205. package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  206. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  207. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  208. package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  209. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  210. package/monaco.d.ts +3 -3
  211. package/package.json +3 -3
  212. package/version.txt +1 -1
@@ -6,17 +6,17 @@ import { RawContextKey } from '../../../../../platform/contextkey/common/context
6
6
  import { localize } from '../../../../../nls.js';
7
7
  import * as nls from '../../../../../nls.js';
8
8
  export class InlineCompletionContextKeys {
9
- static { this.inlineSuggestionVisible = new RawContextKey('inlineSuggestionVisible', false, localize(1184, "Whether an inline suggestion is visible")); }
10
- static { this.inlineSuggestionHasIndentation = new RawContextKey('inlineSuggestionHasIndentation', false, localize(1185, "Whether the inline suggestion starts with whitespace")); }
11
- static { this.inlineSuggestionHasIndentationLessThanTabSize = new RawContextKey('inlineSuggestionHasIndentationLessThanTabSize', true, localize(1186, "Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")); }
12
- static { this.suppressSuggestions = new RawContextKey('inlineSuggestionSuppressSuggestions', undefined, localize(1187, "Whether suggestions should be suppressed for the current suggestion")); }
13
- static { this.cursorBeforeGhostText = new RawContextKey('cursorBeforeGhostText', false, localize(1188, "Whether the cursor is at ghost text")); }
14
- static { this.cursorInIndentation = new RawContextKey('cursorInIndentation', false, localize(1189, "Whether the cursor is in indentation")); }
15
- static { this.hasSelection = new RawContextKey('editor.hasSelection', false, localize(1190, "Whether the editor has a selection")); }
16
- static { this.cursorAtInlineEdit = new RawContextKey('cursorAtInlineEdit', false, localize(1191, "Whether the cursor is at an inline edit")); }
17
- static { this.inlineEditVisible = new RawContextKey('inlineEditIsVisible', false, localize(1192, "Whether an inline edit is visible")); }
18
- static { this.tabShouldJumpToInlineEdit = new RawContextKey('tabShouldJumpToInlineEdit', false, localize(1193, "Whether tab should jump to an inline edit.")); }
19
- static { this.tabShouldAcceptInlineEdit = new RawContextKey('tabShouldAcceptInlineEdit', false, localize(1194, "Whether tab should accept the inline edit.")); }
20
- static { this.inInlineEditsPreviewEditor = new RawContextKey('inInlineEditsPreviewEditor', true, nls.localize(1195, "Whether the current code editor is showing an inline edits preview")); }
9
+ static { this.inlineSuggestionVisible = new RawContextKey('inlineSuggestionVisible', false, localize(1185, "Whether an inline suggestion is visible")); }
10
+ static { this.inlineSuggestionHasIndentation = new RawContextKey('inlineSuggestionHasIndentation', false, localize(1186, "Whether the inline suggestion starts with whitespace")); }
11
+ static { this.inlineSuggestionHasIndentationLessThanTabSize = new RawContextKey('inlineSuggestionHasIndentationLessThanTabSize', true, localize(1187, "Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")); }
12
+ static { this.suppressSuggestions = new RawContextKey('inlineSuggestionSuppressSuggestions', undefined, localize(1188, "Whether suggestions should be suppressed for the current suggestion")); }
13
+ static { this.cursorBeforeGhostText = new RawContextKey('cursorBeforeGhostText', false, localize(1189, "Whether the cursor is at ghost text")); }
14
+ static { this.cursorInIndentation = new RawContextKey('cursorInIndentation', false, localize(1190, "Whether the cursor is in indentation")); }
15
+ static { this.hasSelection = new RawContextKey('editor.hasSelection', false, localize(1191, "Whether the editor has a selection")); }
16
+ static { this.cursorAtInlineEdit = new RawContextKey('cursorAtInlineEdit', false, localize(1192, "Whether the cursor is at an inline edit")); }
17
+ static { this.inlineEditVisible = new RawContextKey('inlineEditIsVisible', false, localize(1193, "Whether an inline edit is visible")); }
18
+ static { this.tabShouldJumpToInlineEdit = new RawContextKey('tabShouldJumpToInlineEdit', false, localize(1194, "Whether tab should jump to an inline edit.")); }
19
+ static { this.tabShouldAcceptInlineEdit = new RawContextKey('tabShouldAcceptInlineEdit', false, localize(1195, "Whether tab should accept the inline edit.")); }
20
+ static { this.inInlineEditsPreviewEditor = new RawContextKey('inInlineEditsPreviewEditor', true, nls.localize(1196, "Whether the current code editor is showing an inline edits preview")); }
21
21
  }
22
22
  //# sourceMappingURL=inlineCompletionContextKeys.js.map
@@ -35,6 +35,8 @@ import { getOuterEditor } from '../../../../browser/widget/codeEditor/embeddedCo
35
35
  import { Position } from '../../../../common/core/position.js';
36
36
  import { ILanguageFeatureDebounceService } from '../../../../common/services/languageFeatureDebounce.js';
37
37
  import { ILanguageFeaturesService } from '../../../../common/services/languageFeatures.js';
38
+ import { FIND_IDS } from '../../../find/browser/findModel.js';
39
+ import { InsertLineAfterAction, InsertLineBeforeAction } from '../../../linesOperations/browser/linesOperations.js';
38
40
  import { InlineSuggestionHintsContentWidget } from '../hintsWidget/inlineCompletionsHintsWidget.js';
39
41
  import { TextModelChangeRecorder } from '../model/changeRecorder.js';
40
42
  import { InlineCompletionsModel } from '../model/inlineCompletionsModel.js';
@@ -46,7 +48,7 @@ import { InlineCompletionContextKeys } from './inlineCompletionContextKeys.js';
46
48
  let InlineCompletionsController = class InlineCompletionsController extends Disposable {
47
49
  static { InlineCompletionsController_1 = this; }
48
50
  static { this._instances = new Set(); }
49
- static { this.hot = createHotClass(InlineCompletionsController_1); }
51
+ static { this.hot = createHotClass(this); }
50
52
  static { this.ID = 'editor.contrib.inlineCompletionsController'; }
51
53
  /**
52
54
  * Find the controller in the focused editor or in the outer editor (if applicable)
@@ -178,16 +180,19 @@ let InlineCompletionsController = class InlineCompletionsController extends Disp
178
180
  this.model.get()?.trigger();
179
181
  }
180
182
  }));
183
+ // These commands don't trigger onDidType.
184
+ const triggerCommands = new Set([
185
+ CoreEditingCommands.Tab.id,
186
+ CoreEditingCommands.DeleteLeft.id,
187
+ CoreEditingCommands.DeleteRight.id,
188
+ inlineSuggestCommitId,
189
+ 'acceptSelectedSuggestion',
190
+ InsertLineAfterAction.ID,
191
+ InsertLineBeforeAction.ID,
192
+ FIND_IDS.NextMatchFindAction,
193
+ ]);
181
194
  this._register(this._commandService.onDidExecuteCommand((e) => {
182
- // These commands don't trigger onDidType.
183
- const commands = new Set([
184
- CoreEditingCommands.Tab.id,
185
- CoreEditingCommands.DeleteLeft.id,
186
- CoreEditingCommands.DeleteRight.id,
187
- inlineSuggestCommitId,
188
- 'acceptSelectedSuggestion',
189
- ]);
190
- if (commands.has(e.commandId) && editor.hasTextFocus() && this._enabled.get()) {
195
+ if (triggerCommands.has(e.commandId) && editor.hasTextFocus() && this._enabled.get()) {
191
196
  let noDelay = false;
192
197
  if (e.commandId === inlineSuggestCommitId) {
193
198
  noDelay = true;
@@ -358,7 +363,7 @@ let InlineCompletionsController = class InlineCompletionsController extends Disp
358
363
  const accessibleViewKeybinding = this._keybindingService.lookupKeybinding('editor.action.accessibleView');
359
364
  let hint;
360
365
  if (!accessibleViewShowing && accessibleViewKeybinding && this.editor.getOption(169 /* EditorOption.inlineCompletionsAccessibilityVerbose */)) {
361
- hint = localize(1196, "Inspect this in the accessible view ({0})", accessibleViewKeybinding.getAriaLabel());
366
+ hint = localize(1197, "Inspect this in the accessible view ({0})", accessibleViewKeybinding.getAriaLabel());
362
367
  }
363
368
  alert(hint ? content + ', ' + hint : content);
364
369
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.ts"],"names":[],"mappings":"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","file":"inlineCompletionsController.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 { alert } from '../../../../../base/browser/ui/aria/aria.js';\nimport { timeout } from '../../../../../base/common/async.js';\nimport { cancelOnDispose } from '../../../../../base/common/cancellation.js';\nimport { createHotClass } from '../../../../../base/common/hotReloadHelpers.js';\nimport { Disposable, toDisposable } from '../../../../../base/common/lifecycle.js';\nimport { ITransaction, autorun, derived, derivedDisposable, derivedObservableWithCache, observableFromEvent, observableSignal, observableValue, runOnChange, runOnChangeWithStore, transaction, waitForState } from '../../../../../base/common/observable.js';\nimport { isEqual } from '../../../../../base/common/resources.js';\nimport { isUndefined } from '../../../../../base/common/types.js';\nimport { localize } from '../../../../../nls.js';\nimport { IAccessibilityService } from '../../../../../platform/accessibility/common/accessibility.js';\nimport { AccessibilitySignal, IAccessibilitySignalService } from '../../../../../platform/accessibilitySignal/browser/accessibilitySignalService.js';\nimport { ICommandService } from '../../../../../platform/commands/common/commands.js';\nimport { IConfigurationService } from '../../../../../platform/configuration/common/configuration.js';\nimport { IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.js';\nimport { IInstantiationService, ServicesAccessor } from '../../../../../platform/instantiation/common/instantiation.js';\nimport { IKeybindingService } from '../../../../../platform/keybinding/common/keybinding.js';\nimport { hotClassGetOriginalInstance } from '../../../../../platform/observable/common/wrapInHotClass.js';\nimport { CoreEditingCommands } from '../../../../browser/coreCommands.js';\nimport { ICodeEditor } from '../../../../browser/editorBrowser.js';\nimport { observableCodeEditor } from '../../../../browser/observableCodeEditor.js';\nimport { getOuterEditor } from '../../../../browser/widget/codeEditor/embeddedCodeEditorWidget.js';\nimport { EditorOption } from '../../../../common/config/editorOptions.js';\nimport { Position } from '../../../../common/core/position.js';\nimport { Range } from '../../../../common/core/range.js';\nimport { CursorChangeReason } from '../../../../common/cursorEvents.js';\nimport { ILanguageFeatureDebounceService } from '../../../../common/services/languageFeatureDebounce.js';\nimport { ILanguageFeaturesService } from '../../../../common/services/languageFeatures.js';\nimport { InlineSuggestionHintsContentWidget } from '../hintsWidget/inlineCompletionsHintsWidget.js';\nimport { TextModelChangeRecorder } from '../model/changeRecorder.js';\nimport { InlineCompletionsModel } from '../model/inlineCompletionsModel.js';\nimport { ObservableSuggestWidgetAdapter } from '../model/suggestWidgetAdapter.js';\nimport { ObservableContextKeyService } from '../utils.js';\nimport { InlineCompletionsView } from '../view/inlineCompletionsView.js';\nimport { inlineSuggestCommitId } from './commandIds.js';\nimport { InlineCompletionContextKeys } from './inlineCompletionContextKeys.js';\n\nexport class InlineCompletionsController extends Disposable {\n\tprivate static readonly _instances = new Set<InlineCompletionsController>();\n\n\tpublic static hot = createHotClass(InlineCompletionsController);\n\tpublic static ID = 'editor.contrib.inlineCompletionsController';\n\n\t/**\n\t * Find the controller in the focused editor or in the outer editor (if applicable)\n\t */\n\tpublic static getInFocusedEditorOrParent(accessor: ServicesAccessor): InlineCompletionsController | null {\n\t\tconst outerEditor = getOuterEditor(accessor);\n\t\tif (!outerEditor) {\n\t\t\treturn null;\n\t\t}\n\t\treturn InlineCompletionsController.get(outerEditor);\n\t}\n\n\tpublic static get(editor: ICodeEditor): InlineCompletionsController | null {\n\t\treturn hotClassGetOriginalInstance(editor.getContribution<InlineCompletionsController>(InlineCompletionsController.ID));\n\t}\n\n\tprivate readonly _editorObs;\n\tprivate readonly _positions;\n\n\tprivate readonly _suggestWidgetAdapter;\n\n\tprivate readonly _enabledInConfig;\n\tprivate readonly _isScreenReaderEnabled;\n\tprivate readonly _editorDictationInProgress;\n\tprivate readonly _enabled;\n\n\tprivate readonly _debounceValue;\n\n\tprivate readonly _focusIsInMenu;\n\tprivate readonly _focusIsInEditorOrMenu;\n\n\tprivate readonly _cursorIsInIndentation;\n\n\tpublic readonly model;\n\n\tprivate readonly _playAccessibilitySignal;\n\n\tprivate readonly _hideInlineEditOnSelectionChange;\n\n\tprotected readonly _view;\n\n\tconstructor(\n\t\tpublic readonly editor: ICodeEditor,\n\t\t@IInstantiationService private readonly _instantiationService: IInstantiationService,\n\t\t@IContextKeyService private readonly _contextKeyService: IContextKeyService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@ICommandService private readonly _commandService: ICommandService,\n\t\t@ILanguageFeatureDebounceService private readonly _debounceService: ILanguageFeatureDebounceService,\n\t\t@ILanguageFeaturesService private readonly _languageFeaturesService: ILanguageFeaturesService,\n\t\t@IAccessibilitySignalService private readonly _accessibilitySignalService: IAccessibilitySignalService,\n\t\t@IKeybindingService private readonly _keybindingService: IKeybindingService,\n\t\t@IAccessibilityService private readonly _accessibilityService: IAccessibilityService,\n\t) {\n\t\tsuper();\n\t\tthis._editorObs = observableCodeEditor(this.editor);\n\t\tthis._positions = derived(this, reader => this._editorObs.selections.read(reader)?.map(s => s.getEndPosition()) ?? [new Position(1, 1)]);\n\t\tthis._suggestWidgetAdapter = this._register(new ObservableSuggestWidgetAdapter(\n\t\t\tthis._editorObs,\n\t\t\titem => this.model.get()?.handleSuggestAccepted(item),\n\t\t\t() => this.model.get()?.selectedInlineCompletion.get()?.getSingleTextEdit(),\n\t\t));\n\t\tthis._enabledInConfig = observableFromEvent(this, this.editor.onDidChangeConfiguration, () => this.editor.getOption(EditorOption.inlineSuggest).enabled);\n\t\tthis._isScreenReaderEnabled = observableFromEvent(this, this._accessibilityService.onDidChangeScreenReaderOptimized, () => this._accessibilityService.isScreenReaderOptimized());\n\t\tthis._editorDictationInProgress = observableFromEvent(this,\n\t\t\tthis._contextKeyService.onDidChangeContext,\n\t\t\t() => this._contextKeyService.getContext(this.editor.getDomNode()).getValue('editorDictation.inProgress') === true\n\t\t);\n\t\tthis._enabled = derived(this, reader => this._enabledInConfig.read(reader) && (!this._isScreenReaderEnabled.read(reader) || !this._editorDictationInProgress.read(reader)));\n\t\tthis._debounceValue = this._debounceService.for(\n\t\t\tthis._languageFeaturesService.inlineCompletionsProvider,\n\t\t\t'InlineCompletionsDebounce',\n\t\t\t{ min: 50, max: 50 }\n\t\t);\n\t\tthis._focusIsInMenu = observableValue<boolean>(this, false);\n\t\tthis._focusIsInEditorOrMenu = derived(this, reader => {\n\t\t\tconst editorHasFocus = this._editorObs.isFocused.read(reader);\n\t\t\tconst menuHasFocus = this._focusIsInMenu.read(reader);\n\t\t\treturn editorHasFocus || menuHasFocus;\n\t\t});\n\t\tthis._cursorIsInIndentation = derived(this, reader => {\n\t\t\tconst cursorPos = this._editorObs.cursorPosition.read(reader);\n\t\t\tif (cursorPos === null) { return false; }\n\t\t\tconst model = this._editorObs.model.read(reader);\n\t\t\tif (!model) { return false; }\n\t\t\tthis._editorObs.versionId.read(reader);\n\t\t\tconst indentMaxColumn = model.getLineIndentColumn(cursorPos.lineNumber);\n\t\t\treturn cursorPos.column <= indentMaxColumn;\n\t\t});\n\t\tthis.model = derivedDisposable<InlineCompletionsModel | undefined>(this, reader => {\n\t\t\tif (this._editorObs.isReadonly.read(reader)) { return undefined; }\n\t\t\tconst textModel = this._editorObs.model.read(reader);\n\t\t\tif (!textModel) { return undefined; }\n\n\t\t\tconst model: InlineCompletionsModel = this._instantiationService.createInstance(\n\t\t\t\tInlineCompletionsModel,\n\t\t\t\ttextModel,\n\t\t\t\tthis._suggestWidgetAdapter.selectedItem,\n\t\t\t\tthis._editorObs.versionId,\n\t\t\t\tthis._positions,\n\t\t\t\tthis._debounceValue,\n\t\t\t\tthis._enabled,\n\t\t\t\tthis.editor,\n\t\t\t);\n\t\t\treturn model;\n\t\t}).recomputeInitiallyAndOnChange(this._store);\n\t\tthis._playAccessibilitySignal = observableSignal(this);\n\t\tthis._hideInlineEditOnSelectionChange = this._editorObs.getOption(EditorOption.inlineSuggest).map(val => true);\n\t\tthis._view = this._register(this._instantiationService.createInstance(InlineCompletionsView, this.editor, this.model, this._focusIsInMenu));\n\n\t\tInlineCompletionsController._instances.add(this);\n\t\tthis._register(toDisposable(() => InlineCompletionsController._instances.delete(this)));\n\n\t\tthis._register(autorun(reader => {\n\t\t\t// Cancel all other inline completions when a new one starts\n\t\t\tconst model = this.model.read(reader);\n\t\t\tif (!model) { return; }\n\t\t\tconst state = model.state.read(reader);\n\t\t\tif (!state) { return; }\n\t\t\tif (!this._focusIsInEditorOrMenu.read(undefined)) { return; }\n\n\t\t\t// This controller is in focus, hence reject others.\n\t\t\t// However if we display a NES that relates to another edit then trigger NES on that related controller\n\t\t\tconst nextEditUri = state.kind === 'inlineEdit' ? state.nextEditUri : undefined;\n\t\t\tfor (const ctrl of InlineCompletionsController._instances) {\n\t\t\t\tif (ctrl === this) {\n\t\t\t\t\tcontinue;\n\t\t\t\t} else if (nextEditUri && isEqual(nextEditUri, ctrl.editor.getModel()?.uri)) {\n\t\t\t\t\t// The next edit in other edito is related to this controller, trigger it.\n\t\t\t\t\tctrl.model.read(undefined)?.trigger();\n\t\t\t\t} else {\n\t\t\t\t\tctrl.reject();\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\t\tthis._register(autorun(reader => {\n\t\t\t// Cancel all other inline completions when a new one starts\n\t\t\tconst model = this.model.read(reader);\n\t\t\tconst uri = this.editor.getModel()?.uri;\n\t\t\tif (!model || !uri) { return; }\n\n\t\t\t// This NES was accepted, its possible there is an NES that points to this editor.\n\t\t\t// I.e. there's an NES that reads `Go To Next Edit`,\n\t\t\t// If there is one that points to this editor, then we need to hide that as this NES was accepted.\n\t\t\treader.store.add(model.onDidAccept(() => {\n\t\t\t\tfor (const ctrl of InlineCompletionsController._instances) {\n\t\t\t\t\tif (ctrl === this) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\t// Find the nes from another editor that points to this.\n\t\t\t\t\tconst state = ctrl.model.read(undefined)?.state.read(undefined);\n\t\t\t\t\tif (state?.kind === 'inlineEdit' && isEqual(state.nextEditUri, uri)) {\n\t\t\t\t\t\tctrl.model.read(undefined)?.stop('automatic');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}));\n\n\t\t}));\n\n\t\tthis._register(runOnChange(this._editorObs.onDidType, (_value, _changes) => {\n\t\t\tif (this._enabled.get()) {\n\t\t\t\tthis.model.get()?.trigger();\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(runOnChange(this._editorObs.onDidPaste, (_value, _changes) => {\n\t\t\tif (this._enabled.get()) {\n\t\t\t\tthis.model.get()?.trigger();\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(this._commandService.onDidExecuteCommand((e) => {\n\t\t\t// These commands don't trigger onDidType.\n\t\t\tconst commands = new Set([\n\t\t\t\tCoreEditingCommands.Tab.id,\n\t\t\t\tCoreEditingCommands.DeleteLeft.id,\n\t\t\t\tCoreEditingCommands.DeleteRight.id,\n\t\t\t\tinlineSuggestCommitId,\n\t\t\t\t'acceptSelectedSuggestion',\n\t\t\t]);\n\t\t\tif (commands.has(e.commandId) && editor.hasTextFocus() && this._enabled.get()) {\n\t\t\t\tlet noDelay = false;\n\t\t\t\tif (e.commandId === inlineSuggestCommitId) {\n\t\t\t\t\tnoDelay = true;\n\t\t\t\t}\n\t\t\t\tthis._editorObs.forceUpdate(tx => {\n\t\t\t\t\t/** @description onDidExecuteCommand */\n\t\t\t\t\tthis.model.get()?.trigger(tx, { noDelay });\n\t\t\t\t});\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(runOnChange(this._editorObs.selections, (_value, _, changes) => {\n\t\t\tif (changes.some(e => e.reason === CursorChangeReason.Explicit || e.source === 'api')) {\n\t\t\t\tif (!this._hideInlineEditOnSelectionChange.get() && this.model.get()?.state.get()?.kind === 'inlineEdit') {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst m = this.model.get();\n\t\t\t\tif (!m) { return; }\n\t\t\t\tif (m.state.get()?.kind === 'ghostText') {\n\t\t\t\t\tthis.model.get()?.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(autorun(reader => {\n\t\t\tconst isFocused = this._focusIsInEditorOrMenu.read(reader);\n\t\t\tconst model = this.model.read(undefined);\n\t\t\tif (isFocused) {\n\t\t\t\t// If this model already has an NES for another editor, then leave as is\n\t\t\t\t// Else stop other models.\n\t\t\t\tconst state = model?.state.read(undefined);\n\t\t\t\tif (!state || state.kind !== 'inlineEdit' || !state.nextEditUri) {\n\t\t\t\t\ttransaction(tx => {\n\t\t\t\t\t\tfor (const ctrl of InlineCompletionsController._instances) {\n\t\t\t\t\t\t\tif (ctrl !== this) {\n\t\t\t\t\t\t\t\tctrl.model.read(undefined)?.stop('automatic', tx);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// This is a hidden setting very useful for debugging\n\t\t\tif (this._contextKeyService.getContextKeyValue<boolean>('accessibleViewIsShown')\n\t\t\t\t|| this._configurationService.getValue('editor.inlineSuggest.keepOnBlur')\n\t\t\t\t|| editor.getOption(EditorOption.inlineSuggest).keepOnBlur\n\t\t\t\t|| InlineSuggestionHintsContentWidget.dropDownVisible) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!model) { return; }\n\t\t\tif (model.state.read(undefined)?.inlineCompletion?.isFromExplicitRequest && model.inlineEditAvailable.read(undefined)) {\n\t\t\t\t// dont hide inline edits on blur when requested explicitly\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttransaction(tx => {\n\t\t\t\t/** @description InlineCompletionsController.onDidBlurEditorWidget */\n\t\t\t\tmodel.stop('automatic', tx);\n\t\t\t});\n\t\t}));\n\n\t\tthis._register(autorun(reader => {\n\t\t\t/** @description InlineCompletionsController.forceRenderingAbove */\n\t\t\tconst state = this.model.read(reader)?.inlineCompletionState.read(reader);\n\t\t\tif (state?.suggestItem) {\n\t\t\t\tif (state.primaryGhostText.lineCount >= 2) {\n\t\t\t\t\tthis._suggestWidgetAdapter.forceRenderingAbove();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._suggestWidgetAdapter.stopForceRenderingAbove();\n\t\t\t}\n\t\t}));\n\t\tthis._register(toDisposable(() => {\n\t\t\tthis._suggestWidgetAdapter.stopForceRenderingAbove();\n\t\t}));\n\n\t\tconst currentInlineCompletionBySemanticId = derivedObservableWithCache<string | undefined>(this, (reader, last) => {\n\t\t\tconst model = this.model.read(reader);\n\t\t\tconst state = model?.state.read(reader);\n\t\t\tif (this._suggestWidgetAdapter.selectedItem.get()) {\n\t\t\t\treturn last;\n\t\t\t}\n\t\t\treturn state?.inlineCompletion?.semanticId;\n\t\t});\n\t\tthis._register(runOnChangeWithStore(derived(reader => {\n\t\t\tthis._playAccessibilitySignal.read(reader);\n\t\t\tcurrentInlineCompletionBySemanticId.read(reader);\n\t\t\treturn {};\n\t\t}), async (_value, _, _deltas, store) => {\n\t\t\t/** @description InlineCompletionsController.playAccessibilitySignalAndReadSuggestion */\n\t\t\tlet model = this.model.get();\n\t\t\tlet state = model?.state.get();\n\t\t\tif (!state || !model) { return; }\n\n\t\t\tawait timeout(50, cancelOnDispose(store));\n\t\t\tawait waitForState(this._suggestWidgetAdapter.selectedItem, isUndefined, () => false, cancelOnDispose(store));\n\n\t\t\tmodel = this.model.get();\n\t\t\tstate = model?.state.get();\n\t\t\tif (!state || !model) { return; }\n\t\t\tconst lineText = state.kind === 'ghostText' ? model.textModel.getLineContent(state.primaryGhostText.lineNumber) : '';\n\t\t\tthis._accessibilitySignalService.playSignal(state.kind === 'ghostText' ? AccessibilitySignal.inlineSuggestion : AccessibilitySignal.nextEditSuggestion);\n\n\t\t\tif (this.editor.getOption(EditorOption.screenReaderAnnounceInlineSuggestion)) {\n\t\t\t\tif (state.kind === 'ghostText') {\n\t\t\t\t\tthis._provideScreenReaderUpdate(state.primaryGhostText.renderForScreenReader(lineText));\n\t\t\t\t} else {\n\t\t\t\t\tthis._provideScreenReaderUpdate(''); // Only announce Alt+F2\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\n\t\t// TODO@hediet\n\t\tthis._register(this._configurationService.onDidChangeConfiguration(e => {\n\t\t\tif (e.affectsConfiguration('accessibility.verbosity.inlineCompletions')) {\n\t\t\t\tthis.editor.updateOptions({ inlineCompletionsAccessibilityVerbose: this._configurationService.getValue('accessibility.verbosity.inlineCompletions') });\n\t\t\t}\n\t\t}));\n\t\tthis.editor.updateOptions({ inlineCompletionsAccessibilityVerbose: this._configurationService.getValue('accessibility.verbosity.inlineCompletions') });\n\n\t\tconst contextKeySvcObs = new ObservableContextKeyService(this._contextKeyService);\n\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.cursorInIndentation, this._cursorIsInIndentation));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.hasSelection, reader => !this._editorObs.cursorSelection.read(reader)?.isEmpty()));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.cursorAtInlineEdit, this.model.map((m, reader) => m?.inlineEditState?.read(reader)?.cursorAtInlineEdit.read(reader))));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.tabShouldAcceptInlineEdit, this.model.map((m, r) => !!m?.tabShouldAcceptInlineEdit.read(r))));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.tabShouldJumpToInlineEdit, this.model.map((m, r) => !!m?.tabShouldJumpToInlineEdit.read(r))));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.inlineEditVisible, reader => this.model.read(reader)?.inlineEditState.read(reader) !== undefined));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.inlineSuggestionHasIndentation,\n\t\t\treader => this.model.read(reader)?.getIndentationInfo(reader)?.startsWithIndentation\n\t\t));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize,\n\t\t\treader => this.model.read(reader)?.getIndentationInfo(reader)?.startsWithIndentationLessThanTabSize\n\t\t));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.suppressSuggestions, reader => {\n\t\t\tconst model = this.model.read(reader);\n\t\t\tconst state = model?.inlineCompletionState.read(reader);\n\t\t\treturn state?.primaryGhostText && state?.inlineCompletion ? state.inlineCompletion.source.inlineSuggestions.suppressSuggestions : undefined;\n\t\t}));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.inlineSuggestionVisible, reader => {\n\t\t\tconst model = this.model.read(reader);\n\t\t\tconst state = model?.inlineCompletionState.read(reader);\n\t\t\treturn !!state?.inlineCompletion && state?.primaryGhostText !== undefined && !state?.primaryGhostText.isEmpty();\n\t\t}));\n\t\tconst firstGhostTextPos = derived(this, reader => {\n\t\t\tconst model = this.model.read(reader);\n\t\t\tconst state = model?.inlineCompletionState.read(reader);\n\t\t\tconst primaryGhostText = state?.primaryGhostText;\n\t\t\tif (!primaryGhostText || primaryGhostText.isEmpty()) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst firstPartPos = new Position(primaryGhostText.lineNumber, primaryGhostText.parts[0].column);\n\t\t\treturn firstPartPos;\n\t\t});\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.cursorBeforeGhostText, reader => {\n\t\t\tconst firstPartPos = firstGhostTextPos.read(reader);\n\t\t\tif (!firstPartPos) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst cursorPos = this._editorObs.cursorPosition.read(reader);\n\t\t\tif (!cursorPos) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn firstPartPos.equals(cursorPos);\n\t\t}));\n\n\t\tthis._register(this._instantiationService.createInstance(TextModelChangeRecorder, this.editor));\n\t}\n\n\tpublic playAccessibilitySignal(tx: ITransaction) {\n\t\tthis._playAccessibilitySignal.trigger(tx);\n\t}\n\n\tprivate _provideScreenReaderUpdate(content: string): void {\n\t\tconst accessibleViewShowing = this._contextKeyService.getContextKeyValue<boolean>('accessibleViewIsShown');\n\t\tconst accessibleViewKeybinding = this._keybindingService.lookupKeybinding('editor.action.accessibleView');\n\t\tlet hint: string | undefined;\n\t\tif (!accessibleViewShowing && accessibleViewKeybinding && this.editor.getOption(EditorOption.inlineCompletionsAccessibilityVerbose)) {\n\t\t\thint = localize('showAccessibleViewHint', \"Inspect this in the accessible view ({0})\", accessibleViewKeybinding.getAriaLabel());\n\t\t}\n\t\talert(hint ? content + ', ' + hint : content);\n\t}\n\n\tpublic shouldShowHoverAt(range: Range) {\n\t\tconst ghostText = this.model.get()?.primaryGhostText.get();\n\t\tif (!ghostText) {\n\t\t\treturn false;\n\t\t}\n\t\treturn ghostText.parts.some(p => range.containsPosition(new Position(ghostText.lineNumber, p.column)));\n\t}\n\n\tpublic shouldShowHoverAtViewZone(viewZoneId: string): boolean {\n\t\treturn this._view.shouldShowHoverAtViewZone(viewZoneId);\n\t}\n\n\tpublic reject(): void {\n\t\ttransaction(tx => {\n\t\t\tconst m = this.model.get();\n\t\t\tif (m) {\n\t\t\t\tm.stop('explicitCancel', tx);\n\t\t\t\t// Only if this controller is in focus can we cancel others.\n\t\t\t\tif (this._focusIsInEditorOrMenu.get()) {\n\t\t\t\t\tfor (const ctrl of InlineCompletionsController._instances) {\n\t\t\t\t\t\tif (ctrl !== this) {\n\t\t\t\t\t\t\tctrl.model.get()?.stop('automatic', tx);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic jump(): void {\n\t\tconst m = this.model.get();\n\t\tif (m) {\n\t\t\tm.jump();\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.ts"],"names":[],"mappings":"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","file":"inlineCompletionsController.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 { alert } from '../../../../../base/browser/ui/aria/aria.js';\nimport { timeout } from '../../../../../base/common/async.js';\nimport { cancelOnDispose } from '../../../../../base/common/cancellation.js';\nimport { createHotClass } from '../../../../../base/common/hotReloadHelpers.js';\nimport { Disposable, toDisposable } from '../../../../../base/common/lifecycle.js';\nimport { ITransaction, autorun, derived, derivedDisposable, derivedObservableWithCache, observableFromEvent, observableSignal, observableValue, runOnChange, runOnChangeWithStore, transaction, waitForState } from '../../../../../base/common/observable.js';\nimport { isEqual } from '../../../../../base/common/resources.js';\nimport { isUndefined } from '../../../../../base/common/types.js';\nimport { localize } from '../../../../../nls.js';\nimport { IAccessibilityService } from '../../../../../platform/accessibility/common/accessibility.js';\nimport { AccessibilitySignal, IAccessibilitySignalService } from '../../../../../platform/accessibilitySignal/browser/accessibilitySignalService.js';\nimport { ICommandService } from '../../../../../platform/commands/common/commands.js';\nimport { IConfigurationService } from '../../../../../platform/configuration/common/configuration.js';\nimport { IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.js';\nimport { IInstantiationService, ServicesAccessor } from '../../../../../platform/instantiation/common/instantiation.js';\nimport { IKeybindingService } from '../../../../../platform/keybinding/common/keybinding.js';\nimport { hotClassGetOriginalInstance } from '../../../../../platform/observable/common/wrapInHotClass.js';\nimport { CoreEditingCommands } from '../../../../browser/coreCommands.js';\nimport { ICodeEditor } from '../../../../browser/editorBrowser.js';\nimport { observableCodeEditor } from '../../../../browser/observableCodeEditor.js';\nimport { getOuterEditor } from '../../../../browser/widget/codeEditor/embeddedCodeEditorWidget.js';\nimport { EditorOption } from '../../../../common/config/editorOptions.js';\nimport { Position } from '../../../../common/core/position.js';\nimport { Range } from '../../../../common/core/range.js';\nimport { CursorChangeReason } from '../../../../common/cursorEvents.js';\nimport { ILanguageFeatureDebounceService } from '../../../../common/services/languageFeatureDebounce.js';\nimport { ILanguageFeaturesService } from '../../../../common/services/languageFeatures.js';\nimport { FIND_IDS } from '../../../find/browser/findModel.js';\nimport { InsertLineAfterAction, InsertLineBeforeAction } from '../../../linesOperations/browser/linesOperations.js';\nimport { InlineSuggestionHintsContentWidget } from '../hintsWidget/inlineCompletionsHintsWidget.js';\nimport { TextModelChangeRecorder } from '../model/changeRecorder.js';\nimport { InlineCompletionsModel } from '../model/inlineCompletionsModel.js';\nimport { ObservableSuggestWidgetAdapter } from '../model/suggestWidgetAdapter.js';\nimport { ObservableContextKeyService } from '../utils.js';\nimport { InlineCompletionsView } from '../view/inlineCompletionsView.js';\nimport { inlineSuggestCommitId } from './commandIds.js';\nimport { InlineCompletionContextKeys } from './inlineCompletionContextKeys.js';\n\nexport class InlineCompletionsController extends Disposable {\n\tprivate static readonly _instances = new Set<InlineCompletionsController>();\n\n\tpublic static hot = createHotClass(this);\n\tpublic static ID = 'editor.contrib.inlineCompletionsController';\n\n\t/**\n\t * Find the controller in the focused editor or in the outer editor (if applicable)\n\t */\n\tpublic static getInFocusedEditorOrParent(accessor: ServicesAccessor): InlineCompletionsController | null {\n\t\tconst outerEditor = getOuterEditor(accessor);\n\t\tif (!outerEditor) {\n\t\t\treturn null;\n\t\t}\n\t\treturn InlineCompletionsController.get(outerEditor);\n\t}\n\n\tpublic static get(editor: ICodeEditor): InlineCompletionsController | null {\n\t\treturn hotClassGetOriginalInstance(editor.getContribution<InlineCompletionsController>(InlineCompletionsController.ID));\n\t}\n\n\tprivate readonly _editorObs;\n\tprivate readonly _positions;\n\n\tprivate readonly _suggestWidgetAdapter;\n\n\tprivate readonly _enabledInConfig;\n\tprivate readonly _isScreenReaderEnabled;\n\tprivate readonly _editorDictationInProgress;\n\tprivate readonly _enabled;\n\n\tprivate readonly _debounceValue;\n\n\tprivate readonly _focusIsInMenu;\n\tprivate readonly _focusIsInEditorOrMenu;\n\n\tprivate readonly _cursorIsInIndentation;\n\n\tpublic readonly model;\n\n\tprivate readonly _playAccessibilitySignal;\n\n\tprivate readonly _hideInlineEditOnSelectionChange;\n\n\tprotected readonly _view;\n\n\tconstructor(\n\t\tpublic readonly editor: ICodeEditor,\n\t\t@IInstantiationService private readonly _instantiationService: IInstantiationService,\n\t\t@IContextKeyService private readonly _contextKeyService: IContextKeyService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@ICommandService private readonly _commandService: ICommandService,\n\t\t@ILanguageFeatureDebounceService private readonly _debounceService: ILanguageFeatureDebounceService,\n\t\t@ILanguageFeaturesService private readonly _languageFeaturesService: ILanguageFeaturesService,\n\t\t@IAccessibilitySignalService private readonly _accessibilitySignalService: IAccessibilitySignalService,\n\t\t@IKeybindingService private readonly _keybindingService: IKeybindingService,\n\t\t@IAccessibilityService private readonly _accessibilityService: IAccessibilityService,\n\t) {\n\t\tsuper();\n\t\tthis._editorObs = observableCodeEditor(this.editor);\n\t\tthis._positions = derived(this, reader => this._editorObs.selections.read(reader)?.map(s => s.getEndPosition()) ?? [new Position(1, 1)]);\n\t\tthis._suggestWidgetAdapter = this._register(new ObservableSuggestWidgetAdapter(\n\t\t\tthis._editorObs,\n\t\t\titem => this.model.get()?.handleSuggestAccepted(item),\n\t\t\t() => this.model.get()?.selectedInlineCompletion.get()?.getSingleTextEdit(),\n\t\t));\n\t\tthis._enabledInConfig = observableFromEvent(this, this.editor.onDidChangeConfiguration, () => this.editor.getOption(EditorOption.inlineSuggest).enabled);\n\t\tthis._isScreenReaderEnabled = observableFromEvent(this, this._accessibilityService.onDidChangeScreenReaderOptimized, () => this._accessibilityService.isScreenReaderOptimized());\n\t\tthis._editorDictationInProgress = observableFromEvent(this,\n\t\t\tthis._contextKeyService.onDidChangeContext,\n\t\t\t() => this._contextKeyService.getContext(this.editor.getDomNode()).getValue('editorDictation.inProgress') === true\n\t\t);\n\t\tthis._enabled = derived(this, reader => this._enabledInConfig.read(reader) && (!this._isScreenReaderEnabled.read(reader) || !this._editorDictationInProgress.read(reader)));\n\t\tthis._debounceValue = this._debounceService.for(\n\t\t\tthis._languageFeaturesService.inlineCompletionsProvider,\n\t\t\t'InlineCompletionsDebounce',\n\t\t\t{ min: 50, max: 50 }\n\t\t);\n\t\tthis._focusIsInMenu = observableValue<boolean>(this, false);\n\t\tthis._focusIsInEditorOrMenu = derived(this, reader => {\n\t\t\tconst editorHasFocus = this._editorObs.isFocused.read(reader);\n\t\t\tconst menuHasFocus = this._focusIsInMenu.read(reader);\n\t\t\treturn editorHasFocus || menuHasFocus;\n\t\t});\n\t\tthis._cursorIsInIndentation = derived(this, reader => {\n\t\t\tconst cursorPos = this._editorObs.cursorPosition.read(reader);\n\t\t\tif (cursorPos === null) { return false; }\n\t\t\tconst model = this._editorObs.model.read(reader);\n\t\t\tif (!model) { return false; }\n\t\t\tthis._editorObs.versionId.read(reader);\n\t\t\tconst indentMaxColumn = model.getLineIndentColumn(cursorPos.lineNumber);\n\t\t\treturn cursorPos.column <= indentMaxColumn;\n\t\t});\n\t\tthis.model = derivedDisposable<InlineCompletionsModel | undefined>(this, reader => {\n\t\t\tif (this._editorObs.isReadonly.read(reader)) { return undefined; }\n\t\t\tconst textModel = this._editorObs.model.read(reader);\n\t\t\tif (!textModel) { return undefined; }\n\n\t\t\tconst model: InlineCompletionsModel = this._instantiationService.createInstance(\n\t\t\t\tInlineCompletionsModel,\n\t\t\t\ttextModel,\n\t\t\t\tthis._suggestWidgetAdapter.selectedItem,\n\t\t\t\tthis._editorObs.versionId,\n\t\t\t\tthis._positions,\n\t\t\t\tthis._debounceValue,\n\t\t\t\tthis._enabled,\n\t\t\t\tthis.editor,\n\t\t\t);\n\t\t\treturn model;\n\t\t}).recomputeInitiallyAndOnChange(this._store);\n\t\tthis._playAccessibilitySignal = observableSignal(this);\n\t\tthis._hideInlineEditOnSelectionChange = this._editorObs.getOption(EditorOption.inlineSuggest).map(val => true);\n\t\tthis._view = this._register(this._instantiationService.createInstance(InlineCompletionsView, this.editor, this.model, this._focusIsInMenu));\n\n\t\tInlineCompletionsController._instances.add(this);\n\t\tthis._register(toDisposable(() => InlineCompletionsController._instances.delete(this)));\n\n\t\tthis._register(autorun(reader => {\n\t\t\t// Cancel all other inline completions when a new one starts\n\t\t\tconst model = this.model.read(reader);\n\t\t\tif (!model) { return; }\n\t\t\tconst state = model.state.read(reader);\n\t\t\tif (!state) { return; }\n\t\t\tif (!this._focusIsInEditorOrMenu.read(undefined)) { return; }\n\n\t\t\t// This controller is in focus, hence reject others.\n\t\t\t// However if we display a NES that relates to another edit then trigger NES on that related controller\n\t\t\tconst nextEditUri = state.kind === 'inlineEdit' ? state.nextEditUri : undefined;\n\t\t\tfor (const ctrl of InlineCompletionsController._instances) {\n\t\t\t\tif (ctrl === this) {\n\t\t\t\t\tcontinue;\n\t\t\t\t} else if (nextEditUri && isEqual(nextEditUri, ctrl.editor.getModel()?.uri)) {\n\t\t\t\t\t// The next edit in other edito is related to this controller, trigger it.\n\t\t\t\t\tctrl.model.read(undefined)?.trigger();\n\t\t\t\t} else {\n\t\t\t\t\tctrl.reject();\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\t\tthis._register(autorun(reader => {\n\t\t\t// Cancel all other inline completions when a new one starts\n\t\t\tconst model = this.model.read(reader);\n\t\t\tconst uri = this.editor.getModel()?.uri;\n\t\t\tif (!model || !uri) { return; }\n\n\t\t\t// This NES was accepted, its possible there is an NES that points to this editor.\n\t\t\t// I.e. there's an NES that reads `Go To Next Edit`,\n\t\t\t// If there is one that points to this editor, then we need to hide that as this NES was accepted.\n\t\t\treader.store.add(model.onDidAccept(() => {\n\t\t\t\tfor (const ctrl of InlineCompletionsController._instances) {\n\t\t\t\t\tif (ctrl === this) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\t// Find the nes from another editor that points to this.\n\t\t\t\t\tconst state = ctrl.model.read(undefined)?.state.read(undefined);\n\t\t\t\t\tif (state?.kind === 'inlineEdit' && isEqual(state.nextEditUri, uri)) {\n\t\t\t\t\t\tctrl.model.read(undefined)?.stop('automatic');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}));\n\n\t\t}));\n\n\t\tthis._register(runOnChange(this._editorObs.onDidType, (_value, _changes) => {\n\t\t\tif (this._enabled.get()) {\n\t\t\t\tthis.model.get()?.trigger();\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(runOnChange(this._editorObs.onDidPaste, (_value, _changes) => {\n\t\t\tif (this._enabled.get()) {\n\t\t\t\tthis.model.get()?.trigger();\n\t\t\t}\n\t\t}));\n\n\t\t// These commands don't trigger onDidType.\n\t\tconst triggerCommands = new Set([\n\t\t\tCoreEditingCommands.Tab.id,\n\t\t\tCoreEditingCommands.DeleteLeft.id,\n\t\t\tCoreEditingCommands.DeleteRight.id,\n\t\t\tinlineSuggestCommitId,\n\t\t\t'acceptSelectedSuggestion',\n\t\t\tInsertLineAfterAction.ID,\n\t\t\tInsertLineBeforeAction.ID,\n\t\t\tFIND_IDS.NextMatchFindAction,\n\t\t]);\n\t\tthis._register(this._commandService.onDidExecuteCommand((e) => {\n\t\t\tif (triggerCommands.has(e.commandId) && editor.hasTextFocus() && this._enabled.get()) {\n\t\t\t\tlet noDelay = false;\n\t\t\t\tif (e.commandId === inlineSuggestCommitId) {\n\t\t\t\t\tnoDelay = true;\n\t\t\t\t}\n\t\t\t\tthis._editorObs.forceUpdate(tx => {\n\t\t\t\t\t/** @description onDidExecuteCommand */\n\t\t\t\t\tthis.model.get()?.trigger(tx, { noDelay });\n\t\t\t\t});\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(runOnChange(this._editorObs.selections, (_value, _, changes) => {\n\t\t\tif (changes.some(e => e.reason === CursorChangeReason.Explicit || e.source === 'api')) {\n\t\t\t\tif (!this._hideInlineEditOnSelectionChange.get() && this.model.get()?.state.get()?.kind === 'inlineEdit') {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst m = this.model.get();\n\t\t\t\tif (!m) { return; }\n\t\t\t\tif (m.state.get()?.kind === 'ghostText') {\n\t\t\t\t\tthis.model.get()?.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(autorun(reader => {\n\t\t\tconst isFocused = this._focusIsInEditorOrMenu.read(reader);\n\t\t\tconst model = this.model.read(undefined);\n\t\t\tif (isFocused) {\n\t\t\t\t// If this model already has an NES for another editor, then leave as is\n\t\t\t\t// Else stop other models.\n\t\t\t\tconst state = model?.state.read(undefined);\n\t\t\t\tif (!state || state.kind !== 'inlineEdit' || !state.nextEditUri) {\n\t\t\t\t\ttransaction(tx => {\n\t\t\t\t\t\tfor (const ctrl of InlineCompletionsController._instances) {\n\t\t\t\t\t\t\tif (ctrl !== this) {\n\t\t\t\t\t\t\t\tctrl.model.read(undefined)?.stop('automatic', tx);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// This is a hidden setting very useful for debugging\n\t\t\tif (this._contextKeyService.getContextKeyValue<boolean>('accessibleViewIsShown')\n\t\t\t\t|| this._configurationService.getValue('editor.inlineSuggest.keepOnBlur')\n\t\t\t\t|| editor.getOption(EditorOption.inlineSuggest).keepOnBlur\n\t\t\t\t|| InlineSuggestionHintsContentWidget.dropDownVisible) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!model) { return; }\n\t\t\tif (model.state.read(undefined)?.inlineCompletion?.isFromExplicitRequest && model.inlineEditAvailable.read(undefined)) {\n\t\t\t\t// dont hide inline edits on blur when requested explicitly\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttransaction(tx => {\n\t\t\t\t/** @description InlineCompletionsController.onDidBlurEditorWidget */\n\t\t\t\tmodel.stop('automatic', tx);\n\t\t\t});\n\t\t}));\n\n\t\tthis._register(autorun(reader => {\n\t\t\t/** @description InlineCompletionsController.forceRenderingAbove */\n\t\t\tconst state = this.model.read(reader)?.inlineCompletionState.read(reader);\n\t\t\tif (state?.suggestItem) {\n\t\t\t\tif (state.primaryGhostText.lineCount >= 2) {\n\t\t\t\t\tthis._suggestWidgetAdapter.forceRenderingAbove();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._suggestWidgetAdapter.stopForceRenderingAbove();\n\t\t\t}\n\t\t}));\n\t\tthis._register(toDisposable(() => {\n\t\t\tthis._suggestWidgetAdapter.stopForceRenderingAbove();\n\t\t}));\n\n\t\tconst currentInlineCompletionBySemanticId = derivedObservableWithCache<string | undefined>(this, (reader, last) => {\n\t\t\tconst model = this.model.read(reader);\n\t\t\tconst state = model?.state.read(reader);\n\t\t\tif (this._suggestWidgetAdapter.selectedItem.get()) {\n\t\t\t\treturn last;\n\t\t\t}\n\t\t\treturn state?.inlineCompletion?.semanticId;\n\t\t});\n\t\tthis._register(runOnChangeWithStore(derived(reader => {\n\t\t\tthis._playAccessibilitySignal.read(reader);\n\t\t\tcurrentInlineCompletionBySemanticId.read(reader);\n\t\t\treturn {};\n\t\t}), async (_value, _, _deltas, store) => {\n\t\t\t/** @description InlineCompletionsController.playAccessibilitySignalAndReadSuggestion */\n\t\t\tlet model = this.model.get();\n\t\t\tlet state = model?.state.get();\n\t\t\tif (!state || !model) { return; }\n\n\t\t\tawait timeout(50, cancelOnDispose(store));\n\t\t\tawait waitForState(this._suggestWidgetAdapter.selectedItem, isUndefined, () => false, cancelOnDispose(store));\n\n\t\t\tmodel = this.model.get();\n\t\t\tstate = model?.state.get();\n\t\t\tif (!state || !model) { return; }\n\t\t\tconst lineText = state.kind === 'ghostText' ? model.textModel.getLineContent(state.primaryGhostText.lineNumber) : '';\n\t\t\tthis._accessibilitySignalService.playSignal(state.kind === 'ghostText' ? AccessibilitySignal.inlineSuggestion : AccessibilitySignal.nextEditSuggestion);\n\n\t\t\tif (this.editor.getOption(EditorOption.screenReaderAnnounceInlineSuggestion)) {\n\t\t\t\tif (state.kind === 'ghostText') {\n\t\t\t\t\tthis._provideScreenReaderUpdate(state.primaryGhostText.renderForScreenReader(lineText));\n\t\t\t\t} else {\n\t\t\t\t\tthis._provideScreenReaderUpdate(''); // Only announce Alt+F2\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\n\t\t// TODO@hediet\n\t\tthis._register(this._configurationService.onDidChangeConfiguration(e => {\n\t\t\tif (e.affectsConfiguration('accessibility.verbosity.inlineCompletions')) {\n\t\t\t\tthis.editor.updateOptions({ inlineCompletionsAccessibilityVerbose: this._configurationService.getValue('accessibility.verbosity.inlineCompletions') });\n\t\t\t}\n\t\t}));\n\t\tthis.editor.updateOptions({ inlineCompletionsAccessibilityVerbose: this._configurationService.getValue('accessibility.verbosity.inlineCompletions') });\n\n\t\tconst contextKeySvcObs = new ObservableContextKeyService(this._contextKeyService);\n\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.cursorInIndentation, this._cursorIsInIndentation));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.hasSelection, reader => !this._editorObs.cursorSelection.read(reader)?.isEmpty()));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.cursorAtInlineEdit, this.model.map((m, reader) => m?.inlineEditState?.read(reader)?.cursorAtInlineEdit.read(reader))));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.tabShouldAcceptInlineEdit, this.model.map((m, r) => !!m?.tabShouldAcceptInlineEdit.read(r))));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.tabShouldJumpToInlineEdit, this.model.map((m, r) => !!m?.tabShouldJumpToInlineEdit.read(r))));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.inlineEditVisible, reader => this.model.read(reader)?.inlineEditState.read(reader) !== undefined));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.inlineSuggestionHasIndentation,\n\t\t\treader => this.model.read(reader)?.getIndentationInfo(reader)?.startsWithIndentation\n\t\t));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize,\n\t\t\treader => this.model.read(reader)?.getIndentationInfo(reader)?.startsWithIndentationLessThanTabSize\n\t\t));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.suppressSuggestions, reader => {\n\t\t\tconst model = this.model.read(reader);\n\t\t\tconst state = model?.inlineCompletionState.read(reader);\n\t\t\treturn state?.primaryGhostText && state?.inlineCompletion ? state.inlineCompletion.source.inlineSuggestions.suppressSuggestions : undefined;\n\t\t}));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.inlineSuggestionVisible, reader => {\n\t\t\tconst model = this.model.read(reader);\n\t\t\tconst state = model?.inlineCompletionState.read(reader);\n\t\t\treturn !!state?.inlineCompletion && state?.primaryGhostText !== undefined && !state?.primaryGhostText.isEmpty();\n\t\t}));\n\t\tconst firstGhostTextPos = derived(this, reader => {\n\t\t\tconst model = this.model.read(reader);\n\t\t\tconst state = model?.inlineCompletionState.read(reader);\n\t\t\tconst primaryGhostText = state?.primaryGhostText;\n\t\t\tif (!primaryGhostText || primaryGhostText.isEmpty()) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst firstPartPos = new Position(primaryGhostText.lineNumber, primaryGhostText.parts[0].column);\n\t\t\treturn firstPartPos;\n\t\t});\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.cursorBeforeGhostText, reader => {\n\t\t\tconst firstPartPos = firstGhostTextPos.read(reader);\n\t\t\tif (!firstPartPos) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst cursorPos = this._editorObs.cursorPosition.read(reader);\n\t\t\tif (!cursorPos) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn firstPartPos.equals(cursorPos);\n\t\t}));\n\n\t\tthis._register(this._instantiationService.createInstance(TextModelChangeRecorder, this.editor));\n\t}\n\n\tpublic playAccessibilitySignal(tx: ITransaction) {\n\t\tthis._playAccessibilitySignal.trigger(tx);\n\t}\n\n\tprivate _provideScreenReaderUpdate(content: string): void {\n\t\tconst accessibleViewShowing = this._contextKeyService.getContextKeyValue<boolean>('accessibleViewIsShown');\n\t\tconst accessibleViewKeybinding = this._keybindingService.lookupKeybinding('editor.action.accessibleView');\n\t\tlet hint: string | undefined;\n\t\tif (!accessibleViewShowing && accessibleViewKeybinding && this.editor.getOption(EditorOption.inlineCompletionsAccessibilityVerbose)) {\n\t\t\thint = localize('showAccessibleViewHint', \"Inspect this in the accessible view ({0})\", accessibleViewKeybinding.getAriaLabel());\n\t\t}\n\t\talert(hint ? content + ', ' + hint : content);\n\t}\n\n\tpublic shouldShowHoverAt(range: Range) {\n\t\tconst ghostText = this.model.get()?.primaryGhostText.get();\n\t\tif (!ghostText) {\n\t\t\treturn false;\n\t\t}\n\t\treturn ghostText.parts.some(p => range.containsPosition(new Position(ghostText.lineNumber, p.column)));\n\t}\n\n\tpublic shouldShowHoverAtViewZone(viewZoneId: string): boolean {\n\t\treturn this._view.shouldShowHoverAtViewZone(viewZoneId);\n\t}\n\n\tpublic reject(): void {\n\t\ttransaction(tx => {\n\t\t\tconst m = this.model.get();\n\t\t\tif (m) {\n\t\t\t\tm.stop('explicitCancel', tx);\n\t\t\t\t// Only if this controller is in focus can we cancel others.\n\t\t\t\tif (this._focusIsInEditorOrMenu.get()) {\n\t\t\t\t\tfor (const ctrl of InlineCompletionsController._instances) {\n\t\t\t\t\t\tif (ctrl !== this) {\n\t\t\t\t\t\t\tctrl.model.get()?.stop('automatic', tx);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic jump(): void {\n\t\tconst m = this.model.get();\n\t\tif (m) {\n\t\t\tm.jump();\n\t\t}\n\t}\n}\n"]}
@@ -120,7 +120,7 @@ let InlineCompletionsHoverParticipant = class InlineCompletionsHoverParticipant
120
120
  const markdownHoverElement = $('div.hover-row.markdown-hover');
121
121
  const hoverContentsElement = dom.append(markdownHoverElement, $('div.hover-contents', { ['aria-live']: 'assertive' }));
122
122
  const render = (code) => {
123
- const inlineSuggestionAvailable = nls.localize(1197, "Suggestion:");
123
+ const inlineSuggestionAvailable = nls.localize(1198, "Suggestion:");
124
124
  const renderedContents = disposables.add(this._markdownRendererService.render(new MarkdownString().appendText(inlineSuggestionAvailable).appendCodeblock('text', code), {
125
125
  context: this._editor,
126
126
  asyncRenderCallback: () => {
@@ -97,11 +97,11 @@ InlineCompletionsHintsWidget = __decorate([
97
97
  __param(2, IInstantiationService)
98
98
  ], InlineCompletionsHintsWidget);
99
99
  export { InlineCompletionsHintsWidget };
100
- const inlineSuggestionHintsNextIcon = registerIcon('inline-suggestion-hints-next', Codicon.chevronRight, localize(1198, 'Icon for show next parameter hint.'));
101
- const inlineSuggestionHintsPreviousIcon = registerIcon('inline-suggestion-hints-previous', Codicon.chevronLeft, localize(1199, 'Icon for show previous parameter hint.'));
100
+ const inlineSuggestionHintsNextIcon = registerIcon('inline-suggestion-hints-next', Codicon.chevronRight, localize(1199, 'Icon for show next parameter hint.'));
101
+ const inlineSuggestionHintsPreviousIcon = registerIcon('inline-suggestion-hints-previous', Codicon.chevronLeft, localize(1200, 'Icon for show previous parameter hint.'));
102
102
  let InlineSuggestionHintsContentWidget = class InlineSuggestionHintsContentWidget extends Disposable {
103
103
  static { InlineSuggestionHintsContentWidget_1 = this; }
104
- static { this.hot = createHotClass(InlineSuggestionHintsContentWidget_1); }
104
+ static { this.hot = createHotClass(this); }
105
105
  static { this._dropDownVisible = false; }
106
106
  static get dropDownVisible() { return this._dropDownVisible; }
107
107
  static { this.id = 0; }
@@ -110,7 +110,7 @@ let InlineSuggestionHintsContentWidget = class InlineSuggestionHintsContentWidge
110
110
  const kb = this.keybindingService.lookupKeybinding(commandId, this._contextKeyService);
111
111
  let tooltip = label;
112
112
  if (kb) {
113
- tooltip = localize(1200, '{0} ({1})', label, kb.getLabel());
113
+ tooltip = localize(1201, '{0} ({1})', label, kb.getLabel());
114
114
  }
115
115
  action.tooltip = tooltip;
116
116
  return action;
@@ -158,9 +158,9 @@ let InlineSuggestionHintsContentWidget = class InlineSuggestionHintsContentWidge
158
158
  this._warningMessageNode.element,
159
159
  h('div@toolBar'),
160
160
  ]);
161
- this.previousAction = this._register(this.createCommandAction(showPreviousInlineSuggestionActionId, localize(1201, 'Previous'), ThemeIcon.asClassName(inlineSuggestionHintsPreviousIcon)));
161
+ this.previousAction = this._register(this.createCommandAction(showPreviousInlineSuggestionActionId, localize(1202, 'Previous'), ThemeIcon.asClassName(inlineSuggestionHintsPreviousIcon)));
162
162
  this.availableSuggestionCountAction = this._register(new Action('inlineSuggestionHints.availableSuggestionCount', '', undefined, false));
163
- this.nextAction = this._register(this.createCommandAction(showNextInlineSuggestionActionId, localize(1202, 'Next'), ThemeIcon.asClassName(inlineSuggestionHintsNextIcon)));
163
+ this.nextAction = this._register(this.createCommandAction(showNextInlineSuggestionActionId, localize(1203, 'Next'), ThemeIcon.asClassName(inlineSuggestionHintsNextIcon)));
164
164
  this.inlineCompletionsActionsMenus = this._register(this._menuService.createMenu(MenuId.InlineCompletionsActions, this._contextKeyService));
165
165
  this.clearAvailableSuggestionCountLabelDebounced = this._register(new RunOnceScheduler(() => {
166
166
  this.availableSuggestionCountAction.label = '';
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.ts"],"names":[],"mappings":"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","file":"inlineCompletionsHintsWidget.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 { h, n } from '../../../../../base/browser/dom.js';\nimport { renderMarkdown } from '../../../../../base/browser/markdownRenderer.js';\nimport { ActionViewItem } from '../../../../../base/browser/ui/actionbar/actionViewItems.js';\nimport { KeybindingLabel, unthemedKeybindingLabelOptions } from '../../../../../base/browser/ui/keybindingLabel/keybindingLabel.js';\nimport { Action, IAction, Separator } from '../../../../../base/common/actions.js';\nimport { equals } from '../../../../../base/common/arrays.js';\nimport { RunOnceScheduler } from '../../../../../base/common/async.js';\nimport { Codicon } from '../../../../../base/common/codicons.js';\nimport { createHotClass } from '../../../../../base/common/hotReloadHelpers.js';\nimport { Disposable, toDisposable } from '../../../../../base/common/lifecycle.js';\nimport { IObservable, autorun, autorunWithStore, derived, derivedObservableWithCache, observableFromEvent } from '../../../../../base/common/observable.js';\nimport { OS } from '../../../../../base/common/platform.js';\nimport { ThemeIcon } from '../../../../../base/common/themables.js';\nimport { localize } from '../../../../../nls.js';\nimport { MenuEntryActionViewItem, getActionBarActions } from '../../../../../platform/actions/browser/menuEntryActionViewItem.js';\nimport { IMenuWorkbenchToolBarOptions, WorkbenchToolBar } from '../../../../../platform/actions/browser/toolbar.js';\nimport { IMenuService, MenuId, MenuItemAction } from '../../../../../platform/actions/common/actions.js';\nimport { ICommandService } from '../../../../../platform/commands/common/commands.js';\nimport { IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.js';\nimport { IContextMenuService } from '../../../../../platform/contextview/browser/contextView.js';\nimport { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';\nimport { IKeybindingService } from '../../../../../platform/keybinding/common/keybinding.js';\nimport { ITelemetryService } from '../../../../../platform/telemetry/common/telemetry.js';\nimport { registerIcon } from '../../../../../platform/theme/common/iconRegistry.js';\nimport { ContentWidgetPositionPreference, ICodeEditor, IContentWidget, IContentWidgetPosition } from '../../../../browser/editorBrowser.js';\nimport { EditorOption } from '../../../../common/config/editorOptions.js';\nimport { Position } from '../../../../common/core/position.js';\nimport { InlineCompletionCommand, InlineCompletionTriggerKind, InlineCompletionWarning } from '../../../../common/languages.js';\nimport { PositionAffinity } from '../../../../common/model.js';\nimport { showNextInlineSuggestionActionId, showPreviousInlineSuggestionActionId } from '../controller/commandIds.js';\nimport { InlineCompletionsModel } from '../model/inlineCompletionsModel.js';\nimport './inlineCompletionsHintsWidget.css';\n\nexport class InlineCompletionsHintsWidget extends Disposable {\n\tprivate readonly alwaysShowToolbar;\n\n\tprivate sessionPosition: Position | undefined;\n\n\tprivate readonly position;\n\n\tconstructor(\n\t\tprivate readonly editor: ICodeEditor,\n\t\tprivate readonly model: IObservable<InlineCompletionsModel | undefined>,\n\t\t@IInstantiationService private readonly instantiationService: IInstantiationService,\n\t) {\n\t\tsuper();\n\t\tthis.alwaysShowToolbar = observableFromEvent(this, this.editor.onDidChangeConfiguration, () => this.editor.getOption(EditorOption.inlineSuggest).showToolbar === 'always');\n\t\tthis.sessionPosition = undefined;\n\t\tthis.position = derived(this, reader => {\n\t\t\tconst ghostText = this.model.read(reader)?.primaryGhostText.read(reader);\n\n\t\t\tif (!this.alwaysShowToolbar.read(reader) || !ghostText || ghostText.parts.length === 0) {\n\t\t\t\tthis.sessionPosition = undefined;\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst firstColumn = ghostText.parts[0].column;\n\t\t\tif (this.sessionPosition && this.sessionPosition.lineNumber !== ghostText.lineNumber) {\n\t\t\t\tthis.sessionPosition = undefined;\n\t\t\t}\n\n\t\t\tconst position = new Position(ghostText.lineNumber, Math.min(firstColumn, this.sessionPosition?.column ?? Number.MAX_SAFE_INTEGER));\n\t\t\tthis.sessionPosition = position;\n\t\t\treturn position;\n\t\t});\n\n\t\tthis._register(autorunWithStore((reader, store) => {\n\t\t\t/** @description setup content widget */\n\t\t\tconst model = this.model.read(reader);\n\t\t\tif (!model || !this.alwaysShowToolbar.read(reader)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst contentWidgetValue = derived((reader) => {\n\t\t\t\tconst contentWidget = reader.store.add(this.instantiationService.createInstance(\n\t\t\t\t\tInlineSuggestionHintsContentWidget.hot.read(reader),\n\t\t\t\t\tthis.editor,\n\t\t\t\t\ttrue,\n\t\t\t\t\tthis.position,\n\t\t\t\t\tmodel.selectedInlineCompletionIndex,\n\t\t\t\t\tmodel.inlineCompletionsCount,\n\t\t\t\t\tmodel.activeCommands,\n\t\t\t\t\tmodel.warning,\n\t\t\t\t\t() => { },\n\t\t\t\t));\n\t\t\t\teditor.addContentWidget(contentWidget);\n\t\t\t\treader.store.add(toDisposable(() => editor.removeContentWidget(contentWidget)));\n\n\t\t\t\treader.store.add(autorun(reader => {\n\t\t\t\t\t/** @description request explicit */\n\t\t\t\t\tconst position = this.position.read(reader);\n\t\t\t\t\tif (!position) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (model.lastTriggerKind.read(reader) !== InlineCompletionTriggerKind.Explicit) {\n\t\t\t\t\t\tmodel.triggerExplicitly();\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\treturn contentWidget;\n\t\t\t});\n\n\t\t\tconst hadPosition = derivedObservableWithCache(this, (reader, lastValue) => !!this.position.read(reader) || !!lastValue);\n\t\t\tstore.add(autorun(reader => {\n\t\t\t\tif (hadPosition.read(reader)) {\n\t\t\t\t\tcontentWidgetValue.read(reader);\n\t\t\t\t}\n\t\t\t}));\n\t\t}));\n\t}\n}\n\nconst inlineSuggestionHintsNextIcon = registerIcon('inline-suggestion-hints-next', Codicon.chevronRight, localize('parameterHintsNextIcon', 'Icon for show next parameter hint.'));\nconst inlineSuggestionHintsPreviousIcon = registerIcon('inline-suggestion-hints-previous', Codicon.chevronLeft, localize('parameterHintsPreviousIcon', 'Icon for show previous parameter hint.'));\n\nexport class InlineSuggestionHintsContentWidget extends Disposable implements IContentWidget {\n\tpublic static readonly hot = createHotClass(InlineSuggestionHintsContentWidget);\n\n\tprivate static _dropDownVisible = false;\n\tpublic static get dropDownVisible() { return this._dropDownVisible; }\n\n\tprivate static id = 0;\n\n\tprivate readonly id;\n\tpublic readonly allowEditorOverflow;\n\tpublic readonly suppressMouseDown;\n\n\tprivate readonly _warningMessageContentNode;\n\n\tprivate readonly _warningMessageNode;\n\n\tprivate readonly nodes;\n\n\tprivate createCommandAction(commandId: string, label: string, iconClassName: string): Action {\n\t\tconst action = new Action(\n\t\t\tcommandId,\n\t\t\tlabel,\n\t\t\ticonClassName,\n\t\t\ttrue,\n\t\t\t() => this._commandService.executeCommand(commandId),\n\t\t);\n\t\tconst kb = this.keybindingService.lookupKeybinding(commandId, this._contextKeyService);\n\t\tlet tooltip = label;\n\t\tif (kb) {\n\t\t\ttooltip = localize({ key: 'content', comment: ['A label', 'A keybinding'] }, '{0} ({1})', label, kb.getLabel());\n\t\t}\n\t\taction.tooltip = tooltip;\n\t\treturn action;\n\t}\n\n\tprivate readonly previousAction;\n\tprivate readonly availableSuggestionCountAction;\n\tprivate readonly nextAction;\n\n\tprivate readonly toolBar: CustomizedMenuWorkbenchToolBar;\n\n\t// TODO@hediet: deprecate MenuId.InlineCompletionsActions\n\tprivate readonly inlineCompletionsActionsMenus;\n\n\tprivate readonly clearAvailableSuggestionCountLabelDebounced;\n\n\tprivate readonly disableButtonsDebounced;\n\n\tconstructor(\n\t\tprivate readonly editor: ICodeEditor,\n\t\tprivate readonly withBorder: boolean,\n\t\tprivate readonly _position: IObservable<Position | null>,\n\t\tprivate readonly _currentSuggestionIdx: IObservable<number>,\n\t\tprivate readonly _suggestionCount: IObservable<number | undefined>,\n\t\tprivate readonly _extraCommands: IObservable<InlineCompletionCommand[]>,\n\t\tprivate readonly _warning: IObservable<InlineCompletionWarning | undefined>,\n\t\tprivate readonly _relayout: () => void,\n\t\t@ICommandService private readonly _commandService: ICommandService,\n\t\t@IInstantiationService instantiationService: IInstantiationService,\n\t\t@IKeybindingService private readonly keybindingService: IKeybindingService,\n\t\t@IContextKeyService private readonly _contextKeyService: IContextKeyService,\n\t\t@IMenuService private readonly _menuService: IMenuService,\n\t) {\n\t\tsuper();\n\t\tthis.id = `InlineSuggestionHintsContentWidget${InlineSuggestionHintsContentWidget.id++}`;\n\t\tthis.allowEditorOverflow = true;\n\t\tthis.suppressMouseDown = false;\n\t\tthis._warningMessageContentNode = derived((reader) => {\n\t\t\tconst warning = this._warning.read(reader);\n\t\t\tif (!warning) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif (typeof warning.message === 'string') {\n\t\t\t\treturn warning.message;\n\t\t\t}\n\t\t\tconst markdownElement = reader.store.add(renderMarkdown(warning.message));\n\t\t\treturn markdownElement.element;\n\t\t});\n\t\tthis._warningMessageNode = n.div({\n\t\t\tclass: 'warningMessage',\n\t\t\tstyle: {\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tmargin: 4,\n\t\t\t\tmarginBottom: 4,\n\t\t\t\tdisplay: derived(reader => this._warning.read(reader) ? 'block' : 'none'),\n\t\t\t}\n\t\t}, [\n\t\t\tthis._warningMessageContentNode,\n\t\t]).keepUpdated(this._store);\n\t\tthis.nodes = h('div.inlineSuggestionsHints', { className: this.withBorder ? 'monaco-hover monaco-hover-content' : '' }, [\n\t\t\tthis._warningMessageNode.element,\n\t\t\th('div@toolBar'),\n\t\t]);\n\t\tthis.previousAction = this._register(this.createCommandAction(showPreviousInlineSuggestionActionId, localize('previous', 'Previous'), ThemeIcon.asClassName(inlineSuggestionHintsPreviousIcon)));\n\t\tthis.availableSuggestionCountAction = this._register(new Action('inlineSuggestionHints.availableSuggestionCount', '', undefined, false));\n\t\tthis.nextAction = this._register(this.createCommandAction(showNextInlineSuggestionActionId, localize('next', 'Next'), ThemeIcon.asClassName(inlineSuggestionHintsNextIcon)));\n\t\tthis.inlineCompletionsActionsMenus = this._register(this._menuService.createMenu(\n\t\t\tMenuId.InlineCompletionsActions,\n\t\t\tthis._contextKeyService\n\t\t));\n\t\tthis.clearAvailableSuggestionCountLabelDebounced = this._register(new RunOnceScheduler(() => {\n\t\t\tthis.availableSuggestionCountAction.label = '';\n\t\t}, 100));\n\t\tthis.disableButtonsDebounced = this._register(new RunOnceScheduler(() => {\n\t\t\tthis.previousAction.enabled = this.nextAction.enabled = false;\n\t\t}, 100));\n\n\t\tthis._register(autorun(reader => {\n\t\t\tthis._warningMessageContentNode.read(reader);\n\t\t\tthis._warningMessageNode.readEffect(reader);\n\t\t\t// Only update after the warning message node has been rendered\n\t\t\tthis._relayout();\n\t\t}));\n\n\t\tthis.toolBar = this._register(instantiationService.createInstance(CustomizedMenuWorkbenchToolBar, this.nodes.toolBar, MenuId.InlineSuggestionToolbar, {\n\t\t\tmenuOptions: { renderShortTitle: true },\n\t\t\ttoolbarOptions: { primaryGroup: g => g.startsWith('primary') },\n\t\t\tactionViewItemProvider: (action, options) => {\n\t\t\t\tif (action instanceof MenuItemAction) {\n\t\t\t\t\treturn instantiationService.createInstance(StatusBarViewItem, action, undefined);\n\t\t\t\t}\n\t\t\t\tif (action === this.availableSuggestionCountAction) {\n\t\t\t\t\tconst a = new ActionViewItemWithClassName(undefined, action, { label: true, icon: false });\n\t\t\t\t\ta.setClass('availableSuggestionCount');\n\t\t\t\t\treturn a;\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t\ttelemetrySource: 'InlineSuggestionToolbar',\n\t\t}));\n\n\t\tthis.toolBar.setPrependedPrimaryActions([\n\t\t\tthis.previousAction,\n\t\t\tthis.availableSuggestionCountAction,\n\t\t\tthis.nextAction,\n\t\t]);\n\n\t\tthis._register(this.toolBar.onDidChangeDropdownVisibility(e => {\n\t\t\tInlineSuggestionHintsContentWidget._dropDownVisible = e;\n\t\t}));\n\n\t\tthis._register(autorun(reader => {\n\t\t\t/** @description update position */\n\t\t\tthis._position.read(reader);\n\t\t\tthis.editor.layoutContentWidget(this);\n\t\t}));\n\n\t\tthis._register(autorun(reader => {\n\t\t\t/** @description counts */\n\t\t\tconst suggestionCount = this._suggestionCount.read(reader);\n\t\t\tconst currentSuggestionIdx = this._currentSuggestionIdx.read(reader);\n\n\t\t\tif (suggestionCount !== undefined) {\n\t\t\t\tthis.clearAvailableSuggestionCountLabelDebounced.cancel();\n\t\t\t\tthis.availableSuggestionCountAction.label = `${currentSuggestionIdx + 1}/${suggestionCount}`;\n\t\t\t} else {\n\t\t\t\tthis.clearAvailableSuggestionCountLabelDebounced.schedule();\n\t\t\t}\n\n\t\t\tif (suggestionCount !== undefined && suggestionCount > 1) {\n\t\t\t\tthis.disableButtonsDebounced.cancel();\n\t\t\t\tthis.previousAction.enabled = this.nextAction.enabled = true;\n\t\t\t} else {\n\t\t\t\tthis.disableButtonsDebounced.schedule();\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(autorun(reader => {\n\t\t\t/** @description extra commands */\n\t\t\tconst extraCommands = this._extraCommands.read(reader);\n\t\t\tconst extraActions = extraCommands.map<IAction>(c => ({\n\t\t\t\tclass: undefined,\n\t\t\t\tid: c.command.id,\n\t\t\t\tenabled: true,\n\t\t\t\ttooltip: c.command.tooltip || '',\n\t\t\t\tlabel: c.command.title,\n\t\t\t\trun: (event) => {\n\t\t\t\t\treturn this._commandService.executeCommand(c.command.id);\n\t\t\t\t},\n\t\t\t}));\n\n\t\t\tfor (const [_, group] of this.inlineCompletionsActionsMenus.getActions()) {\n\t\t\t\tfor (const action of group) {\n\t\t\t\t\tif (action instanceof MenuItemAction) {\n\t\t\t\t\t\textraActions.push(action);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (extraActions.length > 0) {\n\t\t\t\textraActions.unshift(new Separator());\n\t\t\t}\n\n\t\t\tthis.toolBar.setAdditionalSecondaryActions(extraActions);\n\t\t}));\n\t}\n\n\tgetId(): string { return this.id; }\n\n\tgetDomNode(): HTMLElement {\n\t\treturn this.nodes.root;\n\t}\n\n\tgetPosition(): IContentWidgetPosition | null {\n\t\treturn {\n\t\t\tposition: this._position.get(),\n\t\t\tpreference: [ContentWidgetPositionPreference.ABOVE, ContentWidgetPositionPreference.BELOW],\n\t\t\tpositionAffinity: PositionAffinity.LeftOfInjectedText,\n\t\t};\n\t}\n}\n\nclass ActionViewItemWithClassName extends ActionViewItem {\n\tprivate _className: string | undefined = undefined;\n\n\tsetClass(className: string | undefined): void {\n\t\tthis._className = className;\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tsuper.render(container);\n\t\tif (this._className) {\n\t\t\tcontainer.classList.add(this._className);\n\t\t}\n\t}\n\n\tprotected override updateTooltip(): void {\n\t\t// NOOP, disable tooltip\n\t}\n}\n\nclass StatusBarViewItem extends MenuEntryActionViewItem {\n\tprotected override updateLabel() {\n\t\tconst kb = this._keybindingService.lookupKeybinding(this._action.id, this._contextKeyService, true);\n\t\tif (!kb) {\n\t\t\treturn super.updateLabel();\n\t\t}\n\t\tif (this.label) {\n\t\t\tconst div = h('div.keybinding').root;\n\n\t\t\tconst k = this._register(new KeybindingLabel(div, OS, { disableTitle: true, ...unthemedKeybindingLabelOptions }));\n\t\t\tk.set(kb);\n\t\t\tthis.label.textContent = this._action.label;\n\t\t\tthis.label.appendChild(div);\n\t\t\tthis.label.classList.add('inlineSuggestionStatusBarItemLabel');\n\t\t}\n\t}\n\n\tprotected override updateTooltip(): void {\n\t\t// NOOP, disable tooltip\n\t}\n}\n\nexport class CustomizedMenuWorkbenchToolBar extends WorkbenchToolBar {\n\tprivate readonly menu;\n\tprivate additionalActions: IAction[];\n\tprivate prependedPrimaryActions: IAction[];\n\tprivate additionalPrimaryActions: IAction[];\n\n\tconstructor(\n\t\tcontainer: HTMLElement,\n\t\tprivate readonly menuId: MenuId,\n\t\tprivate readonly options2: IMenuWorkbenchToolBarOptions | undefined,\n\t\t@IMenuService private readonly menuService: IMenuService,\n\t\t@IContextKeyService private readonly contextKeyService: IContextKeyService,\n\t\t@IContextMenuService contextMenuService: IContextMenuService,\n\t\t@IKeybindingService keybindingService: IKeybindingService,\n\t\t@ICommandService commandService: ICommandService,\n\t\t@ITelemetryService telemetryService: ITelemetryService,\n\t) {\n\t\tsuper(container, { resetMenu: menuId, ...options2 }, menuService, contextKeyService, contextMenuService, keybindingService, commandService, telemetryService);\n\t\tthis.menu = this._store.add(this.menuService.createMenu(this.menuId, this.contextKeyService, { emitEventsForSubmenuChanges: true }));\n\t\tthis.additionalActions = [];\n\t\tthis.prependedPrimaryActions = [];\n\t\tthis.additionalPrimaryActions = [];\n\n\t\tthis._store.add(this.menu.onDidChange(() => this.updateToolbar()));\n\t\tthis.updateToolbar();\n\t}\n\n\tprivate updateToolbar(): void {\n\t\tconst { primary, secondary } = getActionBarActions(\n\t\t\tthis.menu.getActions(this.options2?.menuOptions),\n\t\t\tthis.options2?.toolbarOptions?.primaryGroup, this.options2?.toolbarOptions?.shouldInlineSubmenu, this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions\n\t\t);\n\n\t\tsecondary.push(...this.additionalActions);\n\t\tprimary.unshift(...this.prependedPrimaryActions);\n\t\tprimary.push(...this.additionalPrimaryActions);\n\t\tthis.setActions(primary, secondary);\n\t}\n\n\tsetPrependedPrimaryActions(actions: IAction[]): void {\n\t\tif (equals(this.prependedPrimaryActions, actions, (a, b) => a === b)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.prependedPrimaryActions = actions;\n\t\tthis.updateToolbar();\n\t}\n\n\tsetAdditionalSecondaryActions(actions: IAction[]): void {\n\t\tif (equals(this.additionalActions, actions, (a, b) => a === b)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.additionalActions = actions;\n\t\tthis.updateToolbar();\n\t}\n}\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.ts"],"names":[],"mappings":"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","file":"inlineCompletionsHintsWidget.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 { h, n } from '../../../../../base/browser/dom.js';\nimport { renderMarkdown } from '../../../../../base/browser/markdownRenderer.js';\nimport { ActionViewItem } from '../../../../../base/browser/ui/actionbar/actionViewItems.js';\nimport { KeybindingLabel, unthemedKeybindingLabelOptions } from '../../../../../base/browser/ui/keybindingLabel/keybindingLabel.js';\nimport { Action, IAction, Separator } from '../../../../../base/common/actions.js';\nimport { equals } from '../../../../../base/common/arrays.js';\nimport { RunOnceScheduler } from '../../../../../base/common/async.js';\nimport { Codicon } from '../../../../../base/common/codicons.js';\nimport { createHotClass } from '../../../../../base/common/hotReloadHelpers.js';\nimport { Disposable, toDisposable } from '../../../../../base/common/lifecycle.js';\nimport { IObservable, autorun, autorunWithStore, derived, derivedObservableWithCache, observableFromEvent } from '../../../../../base/common/observable.js';\nimport { OS } from '../../../../../base/common/platform.js';\nimport { ThemeIcon } from '../../../../../base/common/themables.js';\nimport { localize } from '../../../../../nls.js';\nimport { MenuEntryActionViewItem, getActionBarActions } from '../../../../../platform/actions/browser/menuEntryActionViewItem.js';\nimport { IMenuWorkbenchToolBarOptions, WorkbenchToolBar } from '../../../../../platform/actions/browser/toolbar.js';\nimport { IMenuService, MenuId, MenuItemAction } from '../../../../../platform/actions/common/actions.js';\nimport { ICommandService } from '../../../../../platform/commands/common/commands.js';\nimport { IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.js';\nimport { IContextMenuService } from '../../../../../platform/contextview/browser/contextView.js';\nimport { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';\nimport { IKeybindingService } from '../../../../../platform/keybinding/common/keybinding.js';\nimport { ITelemetryService } from '../../../../../platform/telemetry/common/telemetry.js';\nimport { registerIcon } from '../../../../../platform/theme/common/iconRegistry.js';\nimport { ContentWidgetPositionPreference, ICodeEditor, IContentWidget, IContentWidgetPosition } from '../../../../browser/editorBrowser.js';\nimport { EditorOption } from '../../../../common/config/editorOptions.js';\nimport { Position } from '../../../../common/core/position.js';\nimport { InlineCompletionCommand, InlineCompletionTriggerKind, InlineCompletionWarning } from '../../../../common/languages.js';\nimport { PositionAffinity } from '../../../../common/model.js';\nimport { showNextInlineSuggestionActionId, showPreviousInlineSuggestionActionId } from '../controller/commandIds.js';\nimport { InlineCompletionsModel } from '../model/inlineCompletionsModel.js';\nimport './inlineCompletionsHintsWidget.css';\n\nexport class InlineCompletionsHintsWidget extends Disposable {\n\tprivate readonly alwaysShowToolbar;\n\n\tprivate sessionPosition: Position | undefined;\n\n\tprivate readonly position;\n\n\tconstructor(\n\t\tprivate readonly editor: ICodeEditor,\n\t\tprivate readonly model: IObservable<InlineCompletionsModel | undefined>,\n\t\t@IInstantiationService private readonly instantiationService: IInstantiationService,\n\t) {\n\t\tsuper();\n\t\tthis.alwaysShowToolbar = observableFromEvent(this, this.editor.onDidChangeConfiguration, () => this.editor.getOption(EditorOption.inlineSuggest).showToolbar === 'always');\n\t\tthis.sessionPosition = undefined;\n\t\tthis.position = derived(this, reader => {\n\t\t\tconst ghostText = this.model.read(reader)?.primaryGhostText.read(reader);\n\n\t\t\tif (!this.alwaysShowToolbar.read(reader) || !ghostText || ghostText.parts.length === 0) {\n\t\t\t\tthis.sessionPosition = undefined;\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst firstColumn = ghostText.parts[0].column;\n\t\t\tif (this.sessionPosition && this.sessionPosition.lineNumber !== ghostText.lineNumber) {\n\t\t\t\tthis.sessionPosition = undefined;\n\t\t\t}\n\n\t\t\tconst position = new Position(ghostText.lineNumber, Math.min(firstColumn, this.sessionPosition?.column ?? Number.MAX_SAFE_INTEGER));\n\t\t\tthis.sessionPosition = position;\n\t\t\treturn position;\n\t\t});\n\n\t\tthis._register(autorunWithStore((reader, store) => {\n\t\t\t/** @description setup content widget */\n\t\t\tconst model = this.model.read(reader);\n\t\t\tif (!model || !this.alwaysShowToolbar.read(reader)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst contentWidgetValue = derived((reader) => {\n\t\t\t\tconst contentWidget = reader.store.add(this.instantiationService.createInstance(\n\t\t\t\t\tInlineSuggestionHintsContentWidget.hot.read(reader),\n\t\t\t\t\tthis.editor,\n\t\t\t\t\ttrue,\n\t\t\t\t\tthis.position,\n\t\t\t\t\tmodel.selectedInlineCompletionIndex,\n\t\t\t\t\tmodel.inlineCompletionsCount,\n\t\t\t\t\tmodel.activeCommands,\n\t\t\t\t\tmodel.warning,\n\t\t\t\t\t() => { },\n\t\t\t\t));\n\t\t\t\teditor.addContentWidget(contentWidget);\n\t\t\t\treader.store.add(toDisposable(() => editor.removeContentWidget(contentWidget)));\n\n\t\t\t\treader.store.add(autorun(reader => {\n\t\t\t\t\t/** @description request explicit */\n\t\t\t\t\tconst position = this.position.read(reader);\n\t\t\t\t\tif (!position) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (model.lastTriggerKind.read(reader) !== InlineCompletionTriggerKind.Explicit) {\n\t\t\t\t\t\tmodel.triggerExplicitly();\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\treturn contentWidget;\n\t\t\t});\n\n\t\t\tconst hadPosition = derivedObservableWithCache(this, (reader, lastValue) => !!this.position.read(reader) || !!lastValue);\n\t\t\tstore.add(autorun(reader => {\n\t\t\t\tif (hadPosition.read(reader)) {\n\t\t\t\t\tcontentWidgetValue.read(reader);\n\t\t\t\t}\n\t\t\t}));\n\t\t}));\n\t}\n}\n\nconst inlineSuggestionHintsNextIcon = registerIcon('inline-suggestion-hints-next', Codicon.chevronRight, localize('parameterHintsNextIcon', 'Icon for show next parameter hint.'));\nconst inlineSuggestionHintsPreviousIcon = registerIcon('inline-suggestion-hints-previous', Codicon.chevronLeft, localize('parameterHintsPreviousIcon', 'Icon for show previous parameter hint.'));\n\nexport class InlineSuggestionHintsContentWidget extends Disposable implements IContentWidget {\n\tpublic static readonly hot = createHotClass(this);\n\n\tprivate static _dropDownVisible = false;\n\tpublic static get dropDownVisible() { return this._dropDownVisible; }\n\n\tprivate static id = 0;\n\n\tprivate readonly id;\n\tpublic readonly allowEditorOverflow;\n\tpublic readonly suppressMouseDown;\n\n\tprivate readonly _warningMessageContentNode;\n\n\tprivate readonly _warningMessageNode;\n\n\tprivate readonly nodes;\n\n\tprivate createCommandAction(commandId: string, label: string, iconClassName: string): Action {\n\t\tconst action = new Action(\n\t\t\tcommandId,\n\t\t\tlabel,\n\t\t\ticonClassName,\n\t\t\ttrue,\n\t\t\t() => this._commandService.executeCommand(commandId),\n\t\t);\n\t\tconst kb = this.keybindingService.lookupKeybinding(commandId, this._contextKeyService);\n\t\tlet tooltip = label;\n\t\tif (kb) {\n\t\t\ttooltip = localize({ key: 'content', comment: ['A label', 'A keybinding'] }, '{0} ({1})', label, kb.getLabel());\n\t\t}\n\t\taction.tooltip = tooltip;\n\t\treturn action;\n\t}\n\n\tprivate readonly previousAction;\n\tprivate readonly availableSuggestionCountAction;\n\tprivate readonly nextAction;\n\n\tprivate readonly toolBar: CustomizedMenuWorkbenchToolBar;\n\n\t// TODO@hediet: deprecate MenuId.InlineCompletionsActions\n\tprivate readonly inlineCompletionsActionsMenus;\n\n\tprivate readonly clearAvailableSuggestionCountLabelDebounced;\n\n\tprivate readonly disableButtonsDebounced;\n\n\tconstructor(\n\t\tprivate readonly editor: ICodeEditor,\n\t\tprivate readonly withBorder: boolean,\n\t\tprivate readonly _position: IObservable<Position | null>,\n\t\tprivate readonly _currentSuggestionIdx: IObservable<number>,\n\t\tprivate readonly _suggestionCount: IObservable<number | undefined>,\n\t\tprivate readonly _extraCommands: IObservable<InlineCompletionCommand[]>,\n\t\tprivate readonly _warning: IObservable<InlineCompletionWarning | undefined>,\n\t\tprivate readonly _relayout: () => void,\n\t\t@ICommandService private readonly _commandService: ICommandService,\n\t\t@IInstantiationService instantiationService: IInstantiationService,\n\t\t@IKeybindingService private readonly keybindingService: IKeybindingService,\n\t\t@IContextKeyService private readonly _contextKeyService: IContextKeyService,\n\t\t@IMenuService private readonly _menuService: IMenuService,\n\t) {\n\t\tsuper();\n\t\tthis.id = `InlineSuggestionHintsContentWidget${InlineSuggestionHintsContentWidget.id++}`;\n\t\tthis.allowEditorOverflow = true;\n\t\tthis.suppressMouseDown = false;\n\t\tthis._warningMessageContentNode = derived((reader) => {\n\t\t\tconst warning = this._warning.read(reader);\n\t\t\tif (!warning) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif (typeof warning.message === 'string') {\n\t\t\t\treturn warning.message;\n\t\t\t}\n\t\t\tconst markdownElement = reader.store.add(renderMarkdown(warning.message));\n\t\t\treturn markdownElement.element;\n\t\t});\n\t\tthis._warningMessageNode = n.div({\n\t\t\tclass: 'warningMessage',\n\t\t\tstyle: {\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tmargin: 4,\n\t\t\t\tmarginBottom: 4,\n\t\t\t\tdisplay: derived(reader => this._warning.read(reader) ? 'block' : 'none'),\n\t\t\t}\n\t\t}, [\n\t\t\tthis._warningMessageContentNode,\n\t\t]).keepUpdated(this._store);\n\t\tthis.nodes = h('div.inlineSuggestionsHints', { className: this.withBorder ? 'monaco-hover monaco-hover-content' : '' }, [\n\t\t\tthis._warningMessageNode.element,\n\t\t\th('div@toolBar'),\n\t\t]);\n\t\tthis.previousAction = this._register(this.createCommandAction(showPreviousInlineSuggestionActionId, localize('previous', 'Previous'), ThemeIcon.asClassName(inlineSuggestionHintsPreviousIcon)));\n\t\tthis.availableSuggestionCountAction = this._register(new Action('inlineSuggestionHints.availableSuggestionCount', '', undefined, false));\n\t\tthis.nextAction = this._register(this.createCommandAction(showNextInlineSuggestionActionId, localize('next', 'Next'), ThemeIcon.asClassName(inlineSuggestionHintsNextIcon)));\n\t\tthis.inlineCompletionsActionsMenus = this._register(this._menuService.createMenu(\n\t\t\tMenuId.InlineCompletionsActions,\n\t\t\tthis._contextKeyService\n\t\t));\n\t\tthis.clearAvailableSuggestionCountLabelDebounced = this._register(new RunOnceScheduler(() => {\n\t\t\tthis.availableSuggestionCountAction.label = '';\n\t\t}, 100));\n\t\tthis.disableButtonsDebounced = this._register(new RunOnceScheduler(() => {\n\t\t\tthis.previousAction.enabled = this.nextAction.enabled = false;\n\t\t}, 100));\n\n\t\tthis._register(autorun(reader => {\n\t\t\tthis._warningMessageContentNode.read(reader);\n\t\t\tthis._warningMessageNode.readEffect(reader);\n\t\t\t// Only update after the warning message node has been rendered\n\t\t\tthis._relayout();\n\t\t}));\n\n\t\tthis.toolBar = this._register(instantiationService.createInstance(CustomizedMenuWorkbenchToolBar, this.nodes.toolBar, MenuId.InlineSuggestionToolbar, {\n\t\t\tmenuOptions: { renderShortTitle: true },\n\t\t\ttoolbarOptions: { primaryGroup: g => g.startsWith('primary') },\n\t\t\tactionViewItemProvider: (action, options) => {\n\t\t\t\tif (action instanceof MenuItemAction) {\n\t\t\t\t\treturn instantiationService.createInstance(StatusBarViewItem, action, undefined);\n\t\t\t\t}\n\t\t\t\tif (action === this.availableSuggestionCountAction) {\n\t\t\t\t\tconst a = new ActionViewItemWithClassName(undefined, action, { label: true, icon: false });\n\t\t\t\t\ta.setClass('availableSuggestionCount');\n\t\t\t\t\treturn a;\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t\ttelemetrySource: 'InlineSuggestionToolbar',\n\t\t}));\n\n\t\tthis.toolBar.setPrependedPrimaryActions([\n\t\t\tthis.previousAction,\n\t\t\tthis.availableSuggestionCountAction,\n\t\t\tthis.nextAction,\n\t\t]);\n\n\t\tthis._register(this.toolBar.onDidChangeDropdownVisibility(e => {\n\t\t\tInlineSuggestionHintsContentWidget._dropDownVisible = e;\n\t\t}));\n\n\t\tthis._register(autorun(reader => {\n\t\t\t/** @description update position */\n\t\t\tthis._position.read(reader);\n\t\t\tthis.editor.layoutContentWidget(this);\n\t\t}));\n\n\t\tthis._register(autorun(reader => {\n\t\t\t/** @description counts */\n\t\t\tconst suggestionCount = this._suggestionCount.read(reader);\n\t\t\tconst currentSuggestionIdx = this._currentSuggestionIdx.read(reader);\n\n\t\t\tif (suggestionCount !== undefined) {\n\t\t\t\tthis.clearAvailableSuggestionCountLabelDebounced.cancel();\n\t\t\t\tthis.availableSuggestionCountAction.label = `${currentSuggestionIdx + 1}/${suggestionCount}`;\n\t\t\t} else {\n\t\t\t\tthis.clearAvailableSuggestionCountLabelDebounced.schedule();\n\t\t\t}\n\n\t\t\tif (suggestionCount !== undefined && suggestionCount > 1) {\n\t\t\t\tthis.disableButtonsDebounced.cancel();\n\t\t\t\tthis.previousAction.enabled = this.nextAction.enabled = true;\n\t\t\t} else {\n\t\t\t\tthis.disableButtonsDebounced.schedule();\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(autorun(reader => {\n\t\t\t/** @description extra commands */\n\t\t\tconst extraCommands = this._extraCommands.read(reader);\n\t\t\tconst extraActions = extraCommands.map<IAction>(c => ({\n\t\t\t\tclass: undefined,\n\t\t\t\tid: c.command.id,\n\t\t\t\tenabled: true,\n\t\t\t\ttooltip: c.command.tooltip || '',\n\t\t\t\tlabel: c.command.title,\n\t\t\t\trun: (event) => {\n\t\t\t\t\treturn this._commandService.executeCommand(c.command.id);\n\t\t\t\t},\n\t\t\t}));\n\n\t\t\tfor (const [_, group] of this.inlineCompletionsActionsMenus.getActions()) {\n\t\t\t\tfor (const action of group) {\n\t\t\t\t\tif (action instanceof MenuItemAction) {\n\t\t\t\t\t\textraActions.push(action);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (extraActions.length > 0) {\n\t\t\t\textraActions.unshift(new Separator());\n\t\t\t}\n\n\t\t\tthis.toolBar.setAdditionalSecondaryActions(extraActions);\n\t\t}));\n\t}\n\n\tgetId(): string { return this.id; }\n\n\tgetDomNode(): HTMLElement {\n\t\treturn this.nodes.root;\n\t}\n\n\tgetPosition(): IContentWidgetPosition | null {\n\t\treturn {\n\t\t\tposition: this._position.get(),\n\t\t\tpreference: [ContentWidgetPositionPreference.ABOVE, ContentWidgetPositionPreference.BELOW],\n\t\t\tpositionAffinity: PositionAffinity.LeftOfInjectedText,\n\t\t};\n\t}\n}\n\nclass ActionViewItemWithClassName extends ActionViewItem {\n\tprivate _className: string | undefined = undefined;\n\n\tsetClass(className: string | undefined): void {\n\t\tthis._className = className;\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tsuper.render(container);\n\t\tif (this._className) {\n\t\t\tcontainer.classList.add(this._className);\n\t\t}\n\t}\n\n\tprotected override updateTooltip(): void {\n\t\t// NOOP, disable tooltip\n\t}\n}\n\nclass StatusBarViewItem extends MenuEntryActionViewItem {\n\tprotected override updateLabel() {\n\t\tconst kb = this._keybindingService.lookupKeybinding(this._action.id, this._contextKeyService, true);\n\t\tif (!kb) {\n\t\t\treturn super.updateLabel();\n\t\t}\n\t\tif (this.label) {\n\t\t\tconst div = h('div.keybinding').root;\n\n\t\t\tconst k = this._register(new KeybindingLabel(div, OS, { disableTitle: true, ...unthemedKeybindingLabelOptions }));\n\t\t\tk.set(kb);\n\t\t\tthis.label.textContent = this._action.label;\n\t\t\tthis.label.appendChild(div);\n\t\t\tthis.label.classList.add('inlineSuggestionStatusBarItemLabel');\n\t\t}\n\t}\n\n\tprotected override updateTooltip(): void {\n\t\t// NOOP, disable tooltip\n\t}\n}\n\nexport class CustomizedMenuWorkbenchToolBar extends WorkbenchToolBar {\n\tprivate readonly menu;\n\tprivate additionalActions: IAction[];\n\tprivate prependedPrimaryActions: IAction[];\n\tprivate additionalPrimaryActions: IAction[];\n\n\tconstructor(\n\t\tcontainer: HTMLElement,\n\t\tprivate readonly menuId: MenuId,\n\t\tprivate readonly options2: IMenuWorkbenchToolBarOptions | undefined,\n\t\t@IMenuService private readonly menuService: IMenuService,\n\t\t@IContextKeyService private readonly contextKeyService: IContextKeyService,\n\t\t@IContextMenuService contextMenuService: IContextMenuService,\n\t\t@IKeybindingService keybindingService: IKeybindingService,\n\t\t@ICommandService commandService: ICommandService,\n\t\t@ITelemetryService telemetryService: ITelemetryService,\n\t) {\n\t\tsuper(container, { resetMenu: menuId, ...options2 }, menuService, contextKeyService, contextMenuService, keybindingService, commandService, telemetryService);\n\t\tthis.menu = this._store.add(this.menuService.createMenu(this.menuId, this.contextKeyService, { emitEventsForSubmenuChanges: true }));\n\t\tthis.additionalActions = [];\n\t\tthis.prependedPrimaryActions = [];\n\t\tthis.additionalPrimaryActions = [];\n\n\t\tthis._store.add(this.menu.onDidChange(() => this.updateToolbar()));\n\t\tthis.updateToolbar();\n\t}\n\n\tprivate updateToolbar(): void {\n\t\tconst { primary, secondary } = getActionBarActions(\n\t\t\tthis.menu.getActions(this.options2?.menuOptions),\n\t\t\tthis.options2?.toolbarOptions?.primaryGroup, this.options2?.toolbarOptions?.shouldInlineSubmenu, this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions\n\t\t);\n\n\t\tsecondary.push(...this.additionalActions);\n\t\tprimary.unshift(...this.prependedPrimaryActions);\n\t\tprimary.push(...this.additionalPrimaryActions);\n\t\tthis.setActions(primary, secondary);\n\t}\n\n\tsetPrependedPrimaryActions(actions: IAction[]): void {\n\t\tif (equals(this.prependedPrimaryActions, actions, (a, b) => a === b)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.prependedPrimaryActions = actions;\n\t\tthis.updateToolbar();\n\t}\n\n\tsetAdditionalSecondaryActions(actions: IAction[]): void {\n\t\tif (equals(this.additionalActions, actions, (a, b) => a === b)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.additionalActions = actions;\n\t\tthis.updateToolbar();\n\t}\n}\n"]}
@@ -11,7 +11,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
- var GhostTextView_1;
15
14
  import { createTrustedTypesPolicy } from '../../../../../../base/browser/trustedTypes.js';
16
15
  import { renderIcon } from '../../../../../../base/browser/ui/iconLabel/iconLabels.js';
17
16
  import { Codicon } from '../../../../../../base/common/codicons.js';
@@ -44,8 +43,7 @@ import { sum } from '../../../../../../base/common/arrays.js';
44
43
  const USE_SQUIGGLES_FOR_WARNING = true;
45
44
  const GHOST_TEXT_CLASS_NAME = 'ghost-text';
46
45
  let GhostTextView = class GhostTextView extends Disposable {
47
- static { GhostTextView_1 = this; }
48
- static { this.hot = createHotClass(GhostTextView_1); }
46
+ static { this.hot = createHotClass(this); }
49
47
  constructor(_editor, _model, _options, _shouldKeepCursorStable, _isClickable, _languageService) {
50
48
  super();
51
49
  this._editor = _editor;
@@ -276,7 +274,7 @@ let GhostTextView = class GhostTextView extends Disposable {
276
274
  return this._additionalLinesWidget.viewZoneId === viewZoneId;
277
275
  }
278
276
  };
279
- GhostTextView = GhostTextView_1 = __decorate([
277
+ GhostTextView = __decorate([
280
278
  __param(5, ILanguageService)
281
279
  ], GhostTextView);
282
280
  export { GhostTextView };