monaco-editor-core 0.56.0-dev-20251124 → 0.56.0-dev-20251217

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 (337) hide show
  1. package/esm/nls.keys.json +1 -1
  2. package/esm/nls.messages.cs.js +2 -2
  3. package/esm/nls.messages.de.js +2 -2
  4. package/esm/nls.messages.es.js +2 -2
  5. package/esm/nls.messages.fr.js +2 -2
  6. package/esm/nls.messages.it.js +2 -2
  7. package/esm/nls.messages.ja.js +2 -2
  8. package/esm/nls.messages.js +1 -1
  9. package/esm/nls.messages.json +1 -1
  10. package/esm/nls.messages.ko.js +2 -2
  11. package/esm/nls.messages.pl.js +2 -2
  12. package/esm/nls.messages.pt-br.js +2 -2
  13. package/esm/nls.messages.ru.js +2 -2
  14. package/esm/nls.messages.tr.js +2 -2
  15. package/esm/nls.messages.zh-cn.js +2 -2
  16. package/esm/nls.messages.zh-tw.js +2 -2
  17. package/esm/nls.metadata.json +34 -2
  18. package/esm/vs/base/browser/dom.js +1 -4
  19. package/esm/vs/base/browser/dom.js.map +1 -1
  20. package/esm/vs/base/browser/markdownRenderer.js +25 -11
  21. package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
  22. package/esm/vs/base/browser/ui/button/button.js +15 -8
  23. package/esm/vs/base/browser/ui/button/button.js.map +1 -1
  24. package/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css +3 -8
  25. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  26. package/esm/vs/base/browser/ui/list/list.css +1 -0
  27. package/esm/vs/base/browser/ui/toolbar/toolbar.js +3 -0
  28. package/esm/vs/base/browser/ui/toolbar/toolbar.js.map +1 -1
  29. package/esm/vs/base/common/async.js +11 -0
  30. package/esm/vs/base/common/async.js.map +1 -1
  31. package/esm/vs/base/common/codiconsLibrary.js +11 -2
  32. package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
  33. package/esm/vs/base/common/defaultAccount.js +6 -0
  34. package/esm/vs/base/common/defaultAccount.js.map +1 -0
  35. package/esm/vs/base/common/equals.js +73 -24
  36. package/esm/vs/base/common/equals.js.map +1 -1
  37. package/esm/vs/base/common/event.js +14 -4
  38. package/esm/vs/base/common/event.js.map +1 -1
  39. package/esm/vs/base/common/iterator.js.map +1 -1
  40. package/esm/vs/base/common/keybindings.js +0 -8
  41. package/esm/vs/base/common/keybindings.js.map +1 -1
  42. package/esm/vs/base/common/lifecycle.js +2 -2
  43. package/esm/vs/base/common/lifecycle.js.map +1 -1
  44. package/esm/vs/base/common/marshallingIds.js.map +1 -1
  45. package/esm/vs/base/common/observableInternal/index.js +1 -1
  46. package/esm/vs/base/common/observableInternal/index.js.map +1 -1
  47. package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js +1 -1
  48. package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js.map +1 -1
  49. package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js +16 -0
  50. package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js.map +1 -1
  51. package/esm/vs/base/common/observableInternal/utils/utils.js +11 -0
  52. package/esm/vs/base/common/observableInternal/utils/utils.js.map +1 -1
  53. package/esm/vs/base/common/product.js.map +1 -1
  54. package/esm/vs/base/common/strings.js +3 -1
  55. package/esm/vs/base/common/strings.js.map +1 -1
  56. package/esm/vs/editor/browser/controller/dragScrolling.js +2 -1
  57. package/esm/vs/editor/browser/controller/dragScrolling.js.map +1 -1
  58. package/esm/vs/editor/browser/controller/editContext/clipboardUtils.js +73 -2
  59. package/esm/vs/editor/browser/controller/editContext/clipboardUtils.js.map +1 -1
  60. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js +7 -51
  61. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js.map +1 -1
  62. package/esm/vs/editor/browser/controller/editContext/screenReaderUtils.js.map +1 -1
  63. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +7 -20
  64. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js.map +1 -1
  65. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +14 -44
  66. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js.map +1 -1
  67. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextRegistry.js +19 -0
  68. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextRegistry.js.map +1 -0
  69. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextState.js +14 -1
  70. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextState.js.map +1 -1
  71. package/esm/vs/editor/browser/controller/mouseHandler.js +5 -2
  72. package/esm/vs/editor/browser/controller/mouseHandler.js.map +1 -1
  73. package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
  74. package/esm/vs/editor/browser/observableCodeEditor.js +32 -15
  75. package/esm/vs/editor/browser/observableCodeEditor.js.map +1 -1
  76. package/esm/vs/editor/browser/view.js +11 -2
  77. package/esm/vs/editor/browser/view.js.map +1 -1
  78. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +5 -2
  79. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js.map +1 -1
  80. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +10 -0
  81. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
  82. package/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js.map +1 -1
  83. package/esm/vs/editor/browser/widget/multiDiffEditor/style.css +48 -0
  84. package/esm/vs/editor/common/config/fontInfo.js +1 -1
  85. package/esm/vs/editor/common/config/fontInfo.js.map +1 -1
  86. package/esm/vs/editor/common/core/edits/edit.js +19 -0
  87. package/esm/vs/editor/common/core/edits/edit.js.map +1 -1
  88. package/esm/vs/editor/common/core/edits/stringEdit.js +13 -0
  89. package/esm/vs/editor/common/core/edits/stringEdit.js.map +1 -1
  90. package/esm/vs/editor/common/core/edits/textEdit.js.map +1 -1
  91. package/esm/vs/editor/common/core/text/positionToOffsetImpl.js +24 -10
  92. package/esm/vs/editor/common/core/text/positionToOffsetImpl.js.map +1 -1
  93. package/esm/vs/editor/common/cursor/cursorMoveCommands.js +4 -4
  94. package/esm/vs/editor/common/cursor/cursorMoveCommands.js.map +1 -1
  95. package/esm/vs/editor/common/cursor/cursorWordOperations.js +6 -3
  96. package/esm/vs/editor/common/cursor/cursorWordOperations.js.map +1 -1
  97. package/esm/vs/editor/common/languages/defaultDocumentColorsComputer.js +2 -2
  98. package/esm/vs/editor/common/languages/defaultDocumentColorsComputer.js.map +1 -1
  99. package/esm/vs/editor/common/languages/nullTokenize.js +1 -1
  100. package/esm/vs/editor/common/languages/nullTokenize.js.map +1 -1
  101. package/esm/vs/editor/common/languages/supports/tokenization.js +3 -0
  102. package/esm/vs/editor/common/languages/supports/tokenization.js.map +1 -1
  103. package/esm/vs/editor/common/languages.js +2 -1
  104. package/esm/vs/editor/common/languages.js.map +1 -1
  105. package/esm/vs/editor/common/model/decorationProvider.js +21 -1
  106. package/esm/vs/editor/common/model/decorationProvider.js.map +1 -1
  107. package/esm/vs/editor/common/model/textModel.js +49 -30
  108. package/esm/vs/editor/common/model/textModel.js.map +1 -1
  109. package/esm/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +6 -3
  110. package/esm/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js.map +1 -1
  111. package/esm/vs/editor/common/model/tokens/annotations.js +177 -0
  112. package/esm/vs/editor/common/model/tokens/annotations.js.map +1 -0
  113. package/esm/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.js +131 -0
  114. package/esm/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.js.map +1 -0
  115. package/esm/vs/editor/common/model/tokens/tokenizationTextModelPart.js +9 -0
  116. package/esm/vs/editor/common/model/tokens/tokenizationTextModelPart.js.map +1 -1
  117. package/esm/vs/editor/common/model/tokens/tokenizerSyntaxTokenBackend.js +9 -0
  118. package/esm/vs/editor/common/model/tokens/tokenizerSyntaxTokenBackend.js.map +1 -1
  119. package/esm/vs/editor/common/textModelEditSource.js +2 -0
  120. package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
  121. package/esm/vs/editor/common/textModelEvents.js.map +1 -1
  122. package/esm/vs/editor/common/viewLayout/lineDecorations.js.map +1 -1
  123. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +1 -1
  124. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js.map +1 -1
  125. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +54 -36
  126. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js.map +1 -1
  127. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +14 -1
  128. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js.map +1 -1
  129. package/esm/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +1 -1
  130. package/esm/vs/editor/contrib/hover/browser/hover.css +1 -1
  131. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +1 -1
  132. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js.map +1 -1
  133. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  134. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +1 -0
  135. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js.map +1 -1
  136. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commandIds.js +2 -0
  137. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commandIds.js.map +1 -1
  138. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +33 -4
  139. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js.map +1 -1
  140. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -12
  141. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js.map +1 -1
  142. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +7 -1
  143. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js.map +1 -1
  144. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  145. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  146. package/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +2 -1
  147. package/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js.map +1 -1
  148. package/esm/vs/editor/contrib/inlineCompletions/browser/model/InlineSuggestAlternativeAction.js +8 -0
  149. package/esm/vs/editor/contrib/inlineCompletions/browser/model/InlineSuggestAlternativeAction.js.map +1 -0
  150. package/esm/vs/editor/contrib/inlineCompletions/browser/model/editKind.js +198 -0
  151. package/esm/vs/editor/contrib/inlineCompletions/browser/model/editKind.js.map +1 -0
  152. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionIsVisible.js +40 -0
  153. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionIsVisible.js.map +1 -0
  154. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +128 -65
  155. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  156. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +69 -13
  157. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js.map +1 -1
  158. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +159 -94
  159. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js.map +1 -1
  160. package/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +124 -50
  161. package/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js.map +1 -1
  162. package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +393 -0
  163. package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js.map +1 -0
  164. package/esm/vs/editor/contrib/inlineCompletions/browser/telemetry.js.map +1 -1
  165. package/esm/vs/editor/contrib/inlineCompletions/browser/utils.js +20 -0
  166. package/esm/vs/editor/contrib/inlineCompletions/browser/utils.js.map +1 -1
  167. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +59 -42
  168. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js.map +1 -1
  169. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +29 -8
  170. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js.map +1 -1
  171. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +78 -46
  172. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
  173. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +9 -4
  174. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js.map +1 -1
  175. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +11 -4
  176. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js.map +1 -1
  177. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +81 -41
  178. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js.map +1 -1
  179. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js +48 -0
  180. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js.map +1 -1
  181. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +18 -15
  182. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js.map +1 -1
  183. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +3 -4
  184. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js.map +1 -1
  185. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +6 -7
  186. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js.map +1 -1
  187. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +4 -5
  188. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js.map +1 -1
  189. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +4 -3
  190. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js.map +1 -1
  191. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +8 -8
  192. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js.map +1 -1
  193. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +9 -7
  194. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js.map +1 -1
  195. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +203 -41
  196. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js.map +1 -1
  197. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/jumpToView.js +189 -0
  198. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/jumpToView.js.map +1 -0
  199. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +85 -102
  200. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js.map +1 -1
  201. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js +75 -32
  202. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js.map +1 -1
  203. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistnaceWidgetPlacement.js +121 -0
  204. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistnaceWidgetPlacement.js.map +1 -0
  205. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js +2 -1
  206. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js.map +1 -1
  207. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +22 -20
  208. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js.map +1 -1
  209. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +15 -5
  210. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js.map +1 -1
  211. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.css +39 -6
  212. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js +10 -5
  213. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js.map +1 -1
  214. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  215. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  216. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +32 -32
  217. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js.map +1 -1
  218. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  219. package/esm/vs/editor/contrib/links/browser/links.js +10 -10
  220. package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
  221. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  222. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  223. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  224. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  225. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  226. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +11 -11
  227. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  228. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  229. package/esm/vs/editor/contrib/rename/browser/rename.js +19 -11
  230. package/esm/vs/editor/contrib/rename/browser/rename.js.map +1 -1
  231. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  232. package/esm/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +3 -2
  233. package/esm/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js.map +1 -1
  234. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  235. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  236. package/esm/vs/editor/contrib/snippet/browser/snippetParser.js +33 -0
  237. package/esm/vs/editor/contrib/snippet/browser/snippetParser.js.map +1 -1
  238. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  239. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  240. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +12 -4
  241. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js.map +1 -1
  242. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +1 -0
  243. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js.map +1 -1
  244. package/esm/vs/editor/contrib/suggest/browser/suggest.js +9 -8
  245. package/esm/vs/editor/contrib/suggest/browser/suggest.js.map +1 -1
  246. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +39 -28
  247. package/esm/vs/editor/contrib/suggest/browser/suggestController.js.map +1 -1
  248. package/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +1 -0
  249. package/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js.map +1 -1
  250. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +22 -18
  251. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js.map +1 -1
  252. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +28 -6
  253. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js.map +1 -1
  254. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  255. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  256. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  257. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  258. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  259. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  260. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  261. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  262. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  263. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  264. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +19 -2
  265. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js.map +1 -1
  266. package/esm/vs/editor/editor.api.d.ts +37 -2
  267. package/esm/vs/editor/standalone/browser/standaloneLanguages.js +2 -2
  268. package/esm/vs/editor/standalone/browser/standaloneLanguages.js.map +1 -1
  269. package/esm/vs/editor/standalone/browser/standaloneServices.js +11 -1
  270. package/esm/vs/editor/standalone/browser/standaloneServices.js.map +1 -1
  271. package/esm/vs/editor/standalone/common/monarch/monarchLexer.js +1 -1
  272. package/esm/vs/editor/standalone/common/monarch/monarchLexer.js.map +1 -1
  273. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  274. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  275. package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
  276. package/esm/vs/platform/actionWidget/browser/actionWidget.css +11 -8
  277. package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  278. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  279. package/esm/vs/platform/actions/browser/toolbar.js +2 -2
  280. package/esm/vs/platform/actions/common/actions.js +11 -4
  281. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  282. package/esm/vs/platform/actions/common/menuService.js +2 -2
  283. package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
  284. package/esm/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  285. package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
  286. package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
  287. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  288. package/esm/vs/platform/{product/common/productService.js → defaultAccount/common/defaultAccount.js} +2 -2
  289. package/esm/vs/platform/defaultAccount/common/defaultAccount.js.map +1 -0
  290. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  291. package/esm/vs/platform/hover/browser/hoverWidget.js +1 -1
  292. package/esm/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  293. package/esm/vs/platform/instantiation/common/instantiation.js.map +1 -1
  294. package/esm/vs/platform/instantiation/common/instantiationService.js +1 -8
  295. package/esm/vs/platform/instantiation/common/instantiationService.js.map +1 -1
  296. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  297. package/esm/vs/platform/list/browser/listService.js +27 -27
  298. package/esm/vs/platform/log/common/log.js +1 -1
  299. package/esm/vs/platform/log/common/log.js.map +1 -1
  300. package/esm/vs/platform/markers/common/markerService.js +6 -6
  301. package/esm/vs/platform/markers/common/markerService.js.map +1 -1
  302. package/esm/vs/platform/markers/common/markers.js +6 -6
  303. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +8 -8
  304. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  305. package/esm/vs/platform/quickinput/browser/media/quickInput.css +7 -3
  306. package/esm/vs/platform/quickinput/browser/quickInput.js +19 -11
  307. package/esm/vs/platform/quickinput/browser/quickInput.js.map +1 -1
  308. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  309. package/esm/vs/platform/quickinput/browser/quickInputController.js +6 -6
  310. package/esm/vs/platform/quickinput/browser/quickInputList.js +1 -1
  311. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  312. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  313. package/esm/vs/platform/theme/common/colorUtils.js +2 -2
  314. package/esm/vs/platform/theme/common/colors/baseColors.js +18 -17
  315. package/esm/vs/platform/theme/common/colors/baseColors.js.map +1 -1
  316. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
  317. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  318. package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
  319. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  320. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  321. package/esm/vs/platform/theme/common/colors/minimapColors.js +13 -13
  322. package/esm/vs/platform/theme/common/colors/minimapColors.js.map +1 -1
  323. package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
  324. package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  325. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  326. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  327. package/esm/vs/platform/undoRedo/common/undoRedoService.js +21 -21
  328. package/esm/vs/platform/undoRedo/common/undoRedoService.js.map +1 -1
  329. package/esm/vs/platform/window/common/window.js +1 -1
  330. package/esm/vs/platform/window/common/window.js.map +1 -1
  331. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  332. package/monaco.d.ts +37 -2
  333. package/package.json +2 -2
  334. package/version.txt +1 -1
  335. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js +0 -16
  336. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js.map +0 -1
  337. package/esm/vs/platform/product/common/productService.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/inlineCompletions/browser/controller/commands.ts"],"names":[],"mappings":"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","file":"commands.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 { KeyCode, KeyMod } from '../../../../../base/common/keyCodes.js';\nimport { asyncTransaction, transaction } from '../../../../../base/common/observable.js';\nimport { splitLines } from '../../../../../base/common/strings.js';\nimport { vBoolean, vObj, vOptionalProp, vString, vUndefined, vUnion, vWithJsonSchemaRef } from '../../../../../base/common/validation.js';\nimport * as nls from '../../../../../nls.js';\nimport { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '../../../../../platform/accessibility/common/accessibility.js';\nimport { Action2, MenuId } from '../../../../../platform/actions/common/actions.js';\nimport { IClipboardService } from '../../../../../platform/clipboard/common/clipboardService.js';\nimport { IConfigurationService } from '../../../../../platform/configuration/common/configuration.js';\nimport { ContextKeyExpr } from '../../../../../platform/contextkey/common/contextkey.js';\nimport { KeybindingsRegistry, KeybindingWeight } from '../../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { INotificationService, Severity } from '../../../../../platform/notification/common/notification.js';\nimport { ICodeEditor } from '../../../../browser/editorBrowser.js';\nimport { EditorAction, ServicesAccessor } from '../../../../browser/editorExtensions.js';\nimport { EditorContextKeys } from '../../../../common/editorContextKeys.js';\nimport { InlineCompletionsProvider } from '../../../../common/languages.js';\nimport { ILanguageFeaturesService } from '../../../../common/services/languageFeatures.js';\nimport { Context as SuggestContext } from '../../../suggest/browser/suggest.js';\nimport { hideInlineCompletionId, inlineSuggestCommitId, jumpToNextInlineEditId, showNextInlineSuggestionActionId, showPreviousInlineSuggestionActionId, toggleShowCollapsedId } from './commandIds.js';\nimport { InlineCompletionContextKeys } from './inlineCompletionContextKeys.js';\nimport { InlineCompletionsController } from './inlineCompletionsController.js';\n\nexport class ShowNextInlineSuggestionAction extends EditorAction {\n\tpublic static ID = showNextInlineSuggestionActionId;\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: ShowNextInlineSuggestionAction.ID,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.showNext', \"Show Next Inline Suggestion\"),\n\t\t\tprecondition: ContextKeyExpr.and(EditorContextKeys.writable, InlineCompletionContextKeys.inlineSuggestionVisible),\n\t\t\tkbOpts: {\n\t\t\t\tweight: 100,\n\t\t\t\tprimary: KeyMod.Alt | KeyCode.BracketRight,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.get(editor);\n\t\tcontroller?.model.get()?.next();\n\t}\n}\n\nexport class ShowPreviousInlineSuggestionAction extends EditorAction {\n\tpublic static ID = showPreviousInlineSuggestionActionId;\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: ShowPreviousInlineSuggestionAction.ID,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.showPrevious', \"Show Previous Inline Suggestion\"),\n\t\t\tprecondition: ContextKeyExpr.and(EditorContextKeys.writable, InlineCompletionContextKeys.inlineSuggestionVisible),\n\t\t\tkbOpts: {\n\t\t\t\tweight: 100,\n\t\t\t\tprimary: KeyMod.Alt | KeyCode.BracketLeft,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.get(editor);\n\t\tcontroller?.model.get()?.previous();\n\t}\n}\n\nexport const providerIdSchemaUri = 'vscode://schemas/inlineCompletionProviderIdArgs';\n\nexport function inlineCompletionProviderGetMatcher(provider: InlineCompletionsProvider): string[] {\n\tconst result: string[] = [];\n\tif (provider.providerId) {\n\t\tresult.push(provider.providerId.toStringWithoutVersion());\n\t\tresult.push(provider.providerId.extensionId + ':*');\n\t}\n\treturn result;\n}\n\nconst argsValidator = vUnion(vObj({\n\tshowNoResultNotification: vOptionalProp(vBoolean()),\n\tproviderId: vOptionalProp(vWithJsonSchemaRef(providerIdSchemaUri, vString())),\n\texplicit: vOptionalProp(vBoolean()),\n}), vUndefined());\n\nexport class TriggerInlineSuggestionAction extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.inlineSuggest.trigger',\n\t\t\tlabel: nls.localize2('action.inlineSuggest.trigger', \"Trigger Inline Suggestion\"),\n\t\t\tprecondition: EditorContextKeys.writable,\n\t\t\tmetadata: {\n\t\t\t\tdescription: nls.localize('inlineSuggest.trigger.description', \"Triggers an inline suggestion in the editor.\"),\n\t\t\t\targs: [{\n\t\t\t\t\tname: 'args',\n\t\t\t\t\tdescription: nls.localize('inlineSuggest.trigger.args', \"Options for triggering inline suggestions.\"),\n\t\t\t\t\tisOptional: true,\n\t\t\t\t\tschema: argsValidator.getJSONSchema(),\n\t\t\t\t}]\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic override async run(accessor: ServicesAccessor, editor: ICodeEditor, args: unknown): Promise<void> {\n\t\tconst notificationService = accessor.get(INotificationService);\n\t\tconst languageFeaturesService = accessor.get(ILanguageFeaturesService);\n\n\t\tconst controller = InlineCompletionsController.get(editor);\n\n\t\tconst validatedArgs = argsValidator.validateOrThrow(args);\n\n\t\tconst provider = validatedArgs?.providerId ?\n\t\t\tlanguageFeaturesService.inlineCompletionsProvider.all(editor.getModel()!)\n\t\t\t\t.find(p => inlineCompletionProviderGetMatcher(p).some(m => m === validatedArgs.providerId))\n\t\t\t: undefined;\n\n\t\tawait asyncTransaction(async tx => {\n\t\t\t/** @description triggerExplicitly from command */\n\t\t\tawait controller?.model.get()?.trigger(tx, {\n\t\t\t\tprovider: provider,\n\t\t\t\texplicit: validatedArgs?.explicit ?? true,\n\t\t\t});\n\t\t\tcontroller?.playAccessibilitySignal(tx);\n\t\t});\n\n\t\tif (validatedArgs?.showNoResultNotification) {\n\t\t\tif (!controller?.model.get()?.state.get()) {\n\t\t\t\tnotificationService.notify({\n\t\t\t\t\tseverity: Severity.Info,\n\t\t\t\t\tmessage: nls.localize('noInlineSuggestionAvailable', \"No inline suggestion is available.\")\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class AcceptNextWordOfInlineCompletion extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.inlineSuggest.acceptNextWord',\n\t\t\tlabel: nls.localize2('action.inlineSuggest.acceptNextWord', \"Accept Next Word Of Inline Suggestion\"),\n\t\t\tprecondition: ContextKeyExpr.and(EditorContextKeys.writable, InlineCompletionContextKeys.inlineSuggestionVisible),\n\t\t\tkbOpts: {\n\t\t\t\tweight: KeybindingWeight.EditorContrib + 1,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.RightArrow,\n\t\t\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.writable, InlineCompletionContextKeys.inlineSuggestionVisible, InlineCompletionContextKeys.cursorBeforeGhostText, CONTEXT_ACCESSIBILITY_MODE_ENABLED.negate()),\n\t\t\t},\n\t\t\tmenuOpts: [{\n\t\t\t\tmenuId: MenuId.InlineSuggestionToolbar,\n\t\t\t\ttitle: nls.localize('acceptWord', 'Accept Word'),\n\t\t\t\tgroup: 'primary',\n\t\t\t\torder: 2,\n\t\t\t}],\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.get(editor);\n\t\tawait controller?.model.get()?.acceptNextWord();\n\t}\n}\n\nexport class AcceptNextLineOfInlineCompletion extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.inlineSuggest.acceptNextLine',\n\t\t\tlabel: nls.localize2('action.inlineSuggest.acceptNextLine', \"Accept Next Line Of Inline Suggestion\"),\n\t\t\tprecondition: ContextKeyExpr.and(EditorContextKeys.writable, InlineCompletionContextKeys.inlineSuggestionVisible),\n\t\t\tkbOpts: {\n\t\t\t\tweight: KeybindingWeight.EditorContrib + 1,\n\t\t\t},\n\t\t\tmenuOpts: [{\n\t\t\t\tmenuId: MenuId.InlineSuggestionToolbar,\n\t\t\t\ttitle: nls.localize('acceptLine', 'Accept Line'),\n\t\t\t\tgroup: 'secondary',\n\t\t\t\torder: 2,\n\t\t\t}],\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.get(editor);\n\t\tawait controller?.model.get()?.acceptNextLine();\n\t}\n}\n\nexport class AcceptInlineCompletion extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: inlineSuggestCommitId,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.accept', \"Accept Inline Suggestion\"),\n\t\t\tprecondition: ContextKeyExpr.or(InlineCompletionContextKeys.inlineSuggestionVisible, InlineCompletionContextKeys.inlineEditVisible),\n\t\t\tmenuOpts: [{\n\t\t\t\tmenuId: MenuId.InlineSuggestionToolbar,\n\t\t\t\ttitle: nls.localize('accept', \"Accept\"),\n\t\t\t\tgroup: 'primary',\n\t\t\t\torder: 2,\n\t\t\t}, {\n\t\t\t\tmenuId: MenuId.InlineEditsActions,\n\t\t\t\ttitle: nls.localize('accept', \"Accept\"),\n\t\t\t\tgroup: 'primary',\n\t\t\t\torder: 2,\n\t\t\t}],\n\t\t\tkbOpts: [\n\t\t\t\t{\n\t\t\t\t\tprimary: KeyCode.Tab,\n\t\t\t\t\tweight: 200,\n\t\t\t\t\tkbExpr: ContextKeyExpr.or(\n\t\t\t\t\t\tContextKeyExpr.and(\n\t\t\t\t\t\t\tInlineCompletionContextKeys.inlineSuggestionVisible,\n\t\t\t\t\t\t\tEditorContextKeys.tabMovesFocus.toNegated(),\n\t\t\t\t\t\t\tSuggestContext.Visible.toNegated(),\n\t\t\t\t\t\t\tEditorContextKeys.hoverFocused.toNegated(),\n\t\t\t\t\t\t\tInlineCompletionContextKeys.hasSelection.toNegated(),\n\n\t\t\t\t\t\t\tInlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tContextKeyExpr.and(\n\t\t\t\t\t\t\tInlineCompletionContextKeys.inlineEditVisible,\n\t\t\t\t\t\t\tEditorContextKeys.tabMovesFocus.toNegated(),\n\t\t\t\t\t\t\tSuggestContext.Visible.toNegated(),\n\t\t\t\t\t\t\tEditorContextKeys.hoverFocused.toNegated(),\n\n\t\t\t\t\t\t\tInlineCompletionContextKeys.tabShouldAcceptInlineEdit,\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 async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.getInFocusedEditorOrParent(accessor);\n\t\tif (controller) {\n\t\t\tcontroller.model.get()?.accept(controller.editor);\n\t\t\tcontroller.editor.focus();\n\t\t}\n\t}\n}\nKeybindingsRegistry.registerKeybindingRule({\n\tid: inlineSuggestCommitId,\n\tweight: 202, // greater than jump\n\tprimary: KeyCode.Tab,\n\twhen: ContextKeyExpr.and(InlineCompletionContextKeys.inInlineEditsPreviewEditor)\n});\n\nexport class JumpToNextInlineEdit extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: jumpToNextInlineEditId,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.jump', \"Jump to next inline edit\"),\n\t\t\tprecondition: InlineCompletionContextKeys.inlineEditVisible,\n\t\t\tmenuOpts: [{\n\t\t\t\tmenuId: MenuId.InlineEditsActions,\n\t\t\t\ttitle: nls.localize('jump', \"Jump\"),\n\t\t\t\tgroup: 'primary',\n\t\t\t\torder: 1,\n\t\t\t\twhen: InlineCompletionContextKeys.cursorAtInlineEdit.toNegated(),\n\t\t\t}],\n\t\t\tkbOpts: {\n\t\t\t\tprimary: KeyCode.Tab,\n\t\t\t\tweight: 201,\n\t\t\t\tkbExpr: ContextKeyExpr.and(\n\t\t\t\t\tInlineCompletionContextKeys.inlineEditVisible,\n\t\t\t\t\tEditorContextKeys.tabMovesFocus.toNegated(),\n\t\t\t\t\tSuggestContext.Visible.toNegated(),\n\t\t\t\t\tEditorContextKeys.hoverFocused.toNegated(),\n\t\t\t\t\tInlineCompletionContextKeys.tabShouldJumpToInlineEdit,\n\t\t\t\t),\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.get(editor);\n\t\tif (controller) {\n\t\t\tcontroller.jump();\n\t\t}\n\t}\n}\n\nexport class HideInlineCompletion extends EditorAction {\n\tpublic static ID = hideInlineCompletionId;\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: HideInlineCompletion.ID,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.hide', \"Hide Inline Suggestion\"),\n\t\t\tprecondition: ContextKeyExpr.or(InlineCompletionContextKeys.inlineSuggestionVisible, InlineCompletionContextKeys.inlineEditVisible),\n\t\t\tkbOpts: {\n\t\t\t\tweight: KeybindingWeight.EditorContrib + 90, // same as hiding the suggest widget\n\t\t\t\tprimary: KeyCode.Escape,\n\t\t\t},\n\t\t\tmenuOpts: [{\n\t\t\t\tmenuId: MenuId.InlineEditsActions,\n\t\t\t\ttitle: nls.localize('reject', \"Reject\"),\n\t\t\t\tgroup: 'primary',\n\t\t\t\torder: 3,\n\t\t\t}]\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.getInFocusedEditorOrParent(accessor);\n\t\ttransaction(tx => {\n\t\t\tcontroller?.model.get()?.stop('explicitCancel', tx);\n\t\t});\n\t\tcontroller?.editor.focus();\n\t}\n}\n\nexport class ToggleInlineCompletionShowCollapsed extends EditorAction {\n\tpublic static ID = toggleShowCollapsedId;\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: ToggleInlineCompletionShowCollapsed.ID,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.toggleShowCollapsed', \"Toggle Inline Suggestions Show Collapsed\"),\n\t\t\tprecondition: ContextKeyExpr.true(),\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\t\tconst showCollapsed = configurationService.getValue<boolean>('editor.inlineSuggest.edits.showCollapsed');\n\t\tconfigurationService.updateValue('editor.inlineSuggest.edits.showCollapsed', !showCollapsed);\n\t}\n}\n\nKeybindingsRegistry.registerKeybindingRule({\n\tid: HideInlineCompletion.ID,\n\tweight: -1, // very weak\n\tprimary: KeyCode.Escape,\n\tsecondary: [KeyMod.Shift | KeyCode.Escape],\n\twhen: ContextKeyExpr.and(InlineCompletionContextKeys.inInlineEditsPreviewEditor)\n});\n\nexport class ToggleAlwaysShowInlineSuggestionToolbar extends Action2 {\n\tpublic static ID = 'editor.action.inlineSuggest.toggleAlwaysShowToolbar';\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: ToggleAlwaysShowInlineSuggestionToolbar.ID,\n\t\t\ttitle: nls.localize('action.inlineSuggest.alwaysShowToolbar', \"Always Show Toolbar\"),\n\t\t\tf1: false,\n\t\t\tprecondition: undefined,\n\t\t\tmenu: [{\n\t\t\t\tid: MenuId.InlineSuggestionToolbar,\n\t\t\t\tgroup: 'secondary',\n\t\t\t\torder: 10,\n\t\t\t}],\n\t\t\ttoggled: ContextKeyExpr.equals('config.editor.inlineSuggest.showToolbar', 'always')\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor): Promise<void> {\n\t\tconst configService = accessor.get(IConfigurationService);\n\t\tconst currentValue = configService.getValue<'always' | 'onHover'>('editor.inlineSuggest.showToolbar');\n\t\tconst newValue = currentValue === 'always' ? 'onHover' : 'always';\n\t\tconfigService.updateValue('editor.inlineSuggest.showToolbar', newValue);\n\t}\n}\n\nexport class DevExtractReproSample extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.inlineSuggest.dev.extractRepro',\n\t\t\tlabel: nls.localize('action.inlineSuggest.dev.extractRepro', \"Developer: Extract Inline Suggest State\"),\n\t\t\talias: 'Developer: Inline Suggest Extract Repro',\n\t\t\tprecondition: ContextKeyExpr.or(InlineCompletionContextKeys.inlineEditVisible, InlineCompletionContextKeys.inlineSuggestionVisible),\n\t\t});\n\t}\n\n\tpublic override async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<any> {\n\t\tconst clipboardService = accessor.get(IClipboardService);\n\n\t\tconst controller = InlineCompletionsController.get(editor);\n\t\tconst m = controller?.model.get();\n\t\tif (!m) { return; }\n\t\tconst repro = m.extractReproSample();\n\n\t\tconst inlineCompletionLines = splitLines(JSON.stringify({ inlineCompletion: repro.inlineCompletion }, null, 4));\n\n\t\tconst json = inlineCompletionLines.map(l => '// ' + l).join('\\n');\n\n\t\tconst reproStr = `${repro.documentValue}\\n\\n// <json>\\n${json}\\n// </json>\\n`;\n\n\t\tawait clipboardService.writeText(reproStr);\n\n\t\treturn { reproCase: reproStr };\n\t}\n}\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/inlineCompletions/browser/controller/commands.ts"],"names":[],"mappings":"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","file":"commands.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 { KeyCode, KeyMod } from '../../../../../base/common/keyCodes.js';\nimport { asyncTransaction, transaction } from '../../../../../base/common/observable.js';\nimport { splitLines } from '../../../../../base/common/strings.js';\nimport { vBoolean, vObj, vOptionalProp, vString, vUndefined, vUnion, vWithJsonSchemaRef } from '../../../../../base/common/validation.js';\nimport * as nls from '../../../../../nls.js';\nimport { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '../../../../../platform/accessibility/common/accessibility.js';\nimport { Action2, MenuId } from '../../../../../platform/actions/common/actions.js';\nimport { IClipboardService } from '../../../../../platform/clipboard/common/clipboardService.js';\nimport { IConfigurationService } from '../../../../../platform/configuration/common/configuration.js';\nimport { ContextKeyExpr } from '../../../../../platform/contextkey/common/contextkey.js';\nimport { KeybindingsRegistry, KeybindingWeight } from '../../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { INotificationService, Severity } from '../../../../../platform/notification/common/notification.js';\nimport { ICodeEditor } from '../../../../browser/editorBrowser.js';\nimport { EditorAction, ServicesAccessor } from '../../../../browser/editorExtensions.js';\nimport { EditorContextKeys } from '../../../../common/editorContextKeys.js';\nimport { InlineCompletionsProvider } from '../../../../common/languages.js';\nimport { ILanguageFeaturesService } from '../../../../common/services/languageFeatures.js';\nimport { Context as SuggestContext } from '../../../suggest/browser/suggest.js';\nimport { hideInlineCompletionId, inlineSuggestCommitAlternativeActionId, inlineSuggestCommitId, jumpToNextInlineEditId, showNextInlineSuggestionActionId, showPreviousInlineSuggestionActionId, toggleShowCollapsedId } from './commandIds.js';\nimport { InlineCompletionContextKeys } from './inlineCompletionContextKeys.js';\nimport { InlineCompletionsController } from './inlineCompletionsController.js';\n\nexport class ShowNextInlineSuggestionAction extends EditorAction {\n\tpublic static ID = showNextInlineSuggestionActionId;\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: ShowNextInlineSuggestionAction.ID,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.showNext', \"Show Next Inline Suggestion\"),\n\t\t\tprecondition: ContextKeyExpr.and(EditorContextKeys.writable, InlineCompletionContextKeys.inlineSuggestionVisible),\n\t\t\tkbOpts: {\n\t\t\t\tweight: 100,\n\t\t\t\tprimary: KeyMod.Alt | KeyCode.BracketRight,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.get(editor);\n\t\tcontroller?.model.get()?.next();\n\t}\n}\n\nexport class ShowPreviousInlineSuggestionAction extends EditorAction {\n\tpublic static ID = showPreviousInlineSuggestionActionId;\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: ShowPreviousInlineSuggestionAction.ID,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.showPrevious', \"Show Previous Inline Suggestion\"),\n\t\t\tprecondition: ContextKeyExpr.and(EditorContextKeys.writable, InlineCompletionContextKeys.inlineSuggestionVisible),\n\t\t\tkbOpts: {\n\t\t\t\tweight: 100,\n\t\t\t\tprimary: KeyMod.Alt | KeyCode.BracketLeft,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.get(editor);\n\t\tcontroller?.model.get()?.previous();\n\t}\n}\n\nexport const providerIdSchemaUri = 'vscode://schemas/inlineCompletionProviderIdArgs';\n\nexport function inlineCompletionProviderGetMatcher(provider: InlineCompletionsProvider): string[] {\n\tconst result: string[] = [];\n\tif (provider.providerId) {\n\t\tresult.push(provider.providerId.toStringWithoutVersion());\n\t\tresult.push(provider.providerId.extensionId + ':*');\n\t}\n\treturn result;\n}\n\nconst argsValidator = vUnion(vObj({\n\tshowNoResultNotification: vOptionalProp(vBoolean()),\n\tproviderId: vOptionalProp(vWithJsonSchemaRef(providerIdSchemaUri, vString())),\n\texplicit: vOptionalProp(vBoolean()),\n}), vUndefined());\n\nexport class TriggerInlineSuggestionAction extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.inlineSuggest.trigger',\n\t\t\tlabel: nls.localize2('action.inlineSuggest.trigger', \"Trigger Inline Suggestion\"),\n\t\t\tprecondition: EditorContextKeys.writable,\n\t\t\tmetadata: {\n\t\t\t\tdescription: nls.localize('inlineSuggest.trigger.description', \"Triggers an inline suggestion in the editor.\"),\n\t\t\t\targs: [{\n\t\t\t\t\tname: 'args',\n\t\t\t\t\tdescription: nls.localize('inlineSuggest.trigger.args', \"Options for triggering inline suggestions.\"),\n\t\t\t\t\tisOptional: true,\n\t\t\t\t\tschema: argsValidator.getJSONSchema(),\n\t\t\t\t}]\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic override async run(accessor: ServicesAccessor, editor: ICodeEditor, args: unknown): Promise<void> {\n\t\tconst notificationService = accessor.get(INotificationService);\n\t\tconst languageFeaturesService = accessor.get(ILanguageFeaturesService);\n\n\t\tconst controller = InlineCompletionsController.get(editor);\n\n\t\tconst validatedArgs = argsValidator.validateOrThrow(args);\n\n\t\tconst provider = validatedArgs?.providerId ?\n\t\t\tlanguageFeaturesService.inlineCompletionsProvider.all(editor.getModel()!)\n\t\t\t\t.find(p => inlineCompletionProviderGetMatcher(p).some(m => m === validatedArgs.providerId))\n\t\t\t: undefined;\n\n\t\tawait asyncTransaction(async tx => {\n\t\t\t/** @description triggerExplicitly from command */\n\t\t\tawait controller?.model.get()?.trigger(tx, {\n\t\t\t\tprovider: provider,\n\t\t\t\texplicit: validatedArgs?.explicit ?? true,\n\t\t\t});\n\t\t\tcontroller?.playAccessibilitySignal(tx);\n\t\t});\n\n\t\tif (validatedArgs?.showNoResultNotification) {\n\t\t\tif (!controller?.model.get()?.state.get()) {\n\t\t\t\tnotificationService.notify({\n\t\t\t\t\tseverity: Severity.Info,\n\t\t\t\t\tmessage: nls.localize('noInlineSuggestionAvailable', \"No inline suggestion is available.\")\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class AcceptNextWordOfInlineCompletion extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.inlineSuggest.acceptNextWord',\n\t\t\tlabel: nls.localize2('action.inlineSuggest.acceptNextWord', \"Accept Next Word Of Inline Suggestion\"),\n\t\t\tprecondition: ContextKeyExpr.and(EditorContextKeys.writable, InlineCompletionContextKeys.inlineSuggestionVisible),\n\t\t\tkbOpts: {\n\t\t\t\tweight: KeybindingWeight.EditorContrib + 1,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.RightArrow,\n\t\t\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.writable, InlineCompletionContextKeys.inlineSuggestionVisible, InlineCompletionContextKeys.cursorBeforeGhostText, CONTEXT_ACCESSIBILITY_MODE_ENABLED.negate()),\n\t\t\t},\n\t\t\tmenuOpts: [{\n\t\t\t\tmenuId: MenuId.InlineSuggestionToolbar,\n\t\t\t\ttitle: nls.localize('acceptWord', 'Accept Word'),\n\t\t\t\tgroup: 'primary',\n\t\t\t\torder: 2,\n\t\t\t}],\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.get(editor);\n\t\tawait controller?.model.get()?.acceptNextWord();\n\t}\n}\n\nexport class AcceptNextLineOfInlineCompletion extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.inlineSuggest.acceptNextLine',\n\t\t\tlabel: nls.localize2('action.inlineSuggest.acceptNextLine', \"Accept Next Line Of Inline Suggestion\"),\n\t\t\tprecondition: ContextKeyExpr.and(EditorContextKeys.writable, InlineCompletionContextKeys.inlineSuggestionVisible),\n\t\t\tkbOpts: {\n\t\t\t\tweight: KeybindingWeight.EditorContrib + 1,\n\t\t\t},\n\t\t\tmenuOpts: [{\n\t\t\t\tmenuId: MenuId.InlineSuggestionToolbar,\n\t\t\t\ttitle: nls.localize('acceptLine', 'Accept Line'),\n\t\t\t\tgroup: 'secondary',\n\t\t\t\torder: 2,\n\t\t\t}],\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.get(editor);\n\t\tawait controller?.model.get()?.acceptNextLine();\n\t}\n}\n\nexport class AcceptInlineCompletion extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: inlineSuggestCommitId,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.accept', \"Accept Inline Suggestion\"),\n\t\t\tprecondition: ContextKeyExpr.or(InlineCompletionContextKeys.inlineSuggestionVisible, InlineCompletionContextKeys.inlineEditVisible),\n\t\t\tmenuOpts: [{\n\t\t\t\tmenuId: MenuId.InlineSuggestionToolbar,\n\t\t\t\ttitle: nls.localize('accept', \"Accept\"),\n\t\t\t\tgroup: 'primary',\n\t\t\t\torder: 2,\n\t\t\t}, {\n\t\t\t\tmenuId: MenuId.InlineEditsActions,\n\t\t\t\ttitle: nls.localize('accept', \"Accept\"),\n\t\t\t\tgroup: 'primary',\n\t\t\t\torder: 2,\n\t\t\t}],\n\t\t\tkbOpts: [\n\t\t\t\t{\n\t\t\t\t\tprimary: KeyCode.Tab,\n\t\t\t\t\tweight: 200,\n\t\t\t\t\tkbExpr: ContextKeyExpr.or(\n\t\t\t\t\t\tContextKeyExpr.and(\n\t\t\t\t\t\t\tInlineCompletionContextKeys.inlineSuggestionVisible,\n\t\t\t\t\t\t\tEditorContextKeys.tabMovesFocus.toNegated(),\n\t\t\t\t\t\t\tSuggestContext.Visible.toNegated(),\n\t\t\t\t\t\t\tEditorContextKeys.hoverFocused.toNegated(),\n\t\t\t\t\t\t\tInlineCompletionContextKeys.hasSelection.toNegated(),\n\n\t\t\t\t\t\t\tInlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tContextKeyExpr.and(\n\t\t\t\t\t\t\tInlineCompletionContextKeys.inlineEditVisible,\n\t\t\t\t\t\t\tEditorContextKeys.tabMovesFocus.toNegated(),\n\t\t\t\t\t\t\tSuggestContext.Visible.toNegated(),\n\t\t\t\t\t\t\tEditorContextKeys.hoverFocused.toNegated(),\n\n\t\t\t\t\t\t\tInlineCompletionContextKeys.tabShouldAcceptInlineEdit,\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 async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.getInFocusedEditorOrParent(accessor);\n\t\tif (controller) {\n\t\t\tcontroller.model.get()?.accept(controller.editor);\n\t\t\tcontroller.editor.focus();\n\t\t}\n\t}\n}\nKeybindingsRegistry.registerKeybindingRule({\n\tid: inlineSuggestCommitId,\n\tweight: 202, // greater than jump\n\tprimary: KeyCode.Tab,\n\twhen: ContextKeyExpr.and(InlineCompletionContextKeys.inInlineEditsPreviewEditor)\n});\n\nexport class AcceptInlineCompletionAlternativeAction extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: inlineSuggestCommitAlternativeActionId,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.acceptAlternativeAction', \"Accept Inline Suggestion Alternative Action\"),\n\t\t\tprecondition: ContextKeyExpr.and(InlineCompletionContextKeys.inlineSuggestionAlternativeActionVisible, InlineCompletionContextKeys.inlineEditVisible),\n\t\t\tmenuOpts: [],\n\t\t\tkbOpts: [\n\t\t\t\t{\n\t\t\t\t\tprimary: KeyMod.Shift | KeyCode.Tab,\n\t\t\t\t\tweight: 203,\n\t\t\t\t}\n\t\t\t],\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.getInFocusedEditorOrParent(accessor);\n\t\tif (controller) {\n\t\t\tcontroller.model.get()?.accept(controller.editor, true);\n\t\t\tcontroller.editor.focus();\n\t\t}\n\t}\n}\nKeybindingsRegistry.registerKeybindingRule({\n\tid: inlineSuggestCommitAlternativeActionId,\n\tweight: 203,\n\tprimary: KeyMod.Shift | KeyCode.Tab,\n\twhen: ContextKeyExpr.and(InlineCompletionContextKeys.inInlineEditsPreviewEditor)\n});\n\nexport class JumpToNextInlineEdit extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: jumpToNextInlineEditId,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.jump', \"Jump to next inline edit\"),\n\t\t\tprecondition: InlineCompletionContextKeys.inlineEditVisible,\n\t\t\tmenuOpts: [{\n\t\t\t\tmenuId: MenuId.InlineEditsActions,\n\t\t\t\ttitle: nls.localize('jump', \"Jump\"),\n\t\t\t\tgroup: 'primary',\n\t\t\t\torder: 1,\n\t\t\t\twhen: InlineCompletionContextKeys.cursorAtInlineEdit.toNegated(),\n\t\t\t}],\n\t\t\tkbOpts: {\n\t\t\t\tprimary: KeyCode.Tab,\n\t\t\t\tweight: 201,\n\t\t\t\tkbExpr: ContextKeyExpr.and(\n\t\t\t\t\tInlineCompletionContextKeys.inlineEditVisible,\n\t\t\t\t\tEditorContextKeys.tabMovesFocus.toNegated(),\n\t\t\t\t\tSuggestContext.Visible.toNegated(),\n\t\t\t\t\tEditorContextKeys.hoverFocused.toNegated(),\n\t\t\t\t\tInlineCompletionContextKeys.tabShouldJumpToInlineEdit,\n\t\t\t\t),\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.get(editor);\n\t\tif (controller) {\n\t\t\tcontroller.jump();\n\t\t}\n\t}\n}\n\nexport class HideInlineCompletion extends EditorAction {\n\tpublic static ID = hideInlineCompletionId;\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: HideInlineCompletion.ID,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.hide', \"Hide Inline Suggestion\"),\n\t\t\tprecondition: ContextKeyExpr.or(InlineCompletionContextKeys.inlineSuggestionVisible, InlineCompletionContextKeys.inlineEditVisible),\n\t\t\tkbOpts: {\n\t\t\t\tweight: KeybindingWeight.EditorContrib + 90, // same as hiding the suggest widget\n\t\t\t\tprimary: KeyCode.Escape,\n\t\t\t},\n\t\t\tmenuOpts: [{\n\t\t\t\tmenuId: MenuId.InlineEditsActions,\n\t\t\t\ttitle: nls.localize('reject', \"Reject\"),\n\t\t\t\tgroup: 'primary',\n\t\t\t\torder: 3,\n\t\t\t}]\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = InlineCompletionsController.getInFocusedEditorOrParent(accessor);\n\t\ttransaction(tx => {\n\t\t\tcontroller?.model.get()?.stop('explicitCancel', tx);\n\t\t});\n\t\tcontroller?.editor.focus();\n\t}\n}\n\nexport class ToggleInlineCompletionShowCollapsed extends EditorAction {\n\tpublic static ID = toggleShowCollapsedId;\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: ToggleInlineCompletionShowCollapsed.ID,\n\t\t\tlabel: nls.localize2('action.inlineSuggest.toggleShowCollapsed', \"Toggle Inline Suggestions Show Collapsed\"),\n\t\t\tprecondition: ContextKeyExpr.true(),\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\t\tconst showCollapsed = configurationService.getValue<boolean>('editor.inlineSuggest.edits.showCollapsed');\n\t\tconfigurationService.updateValue('editor.inlineSuggest.edits.showCollapsed', !showCollapsed);\n\t}\n}\n\nKeybindingsRegistry.registerKeybindingRule({\n\tid: HideInlineCompletion.ID,\n\tweight: -1, // very weak\n\tprimary: KeyCode.Escape,\n\tsecondary: [KeyMod.Shift | KeyCode.Escape],\n\twhen: ContextKeyExpr.and(InlineCompletionContextKeys.inInlineEditsPreviewEditor)\n});\n\nexport class ToggleAlwaysShowInlineSuggestionToolbar extends Action2 {\n\tpublic static ID = 'editor.action.inlineSuggest.toggleAlwaysShowToolbar';\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: ToggleAlwaysShowInlineSuggestionToolbar.ID,\n\t\t\ttitle: nls.localize('action.inlineSuggest.alwaysShowToolbar', \"Always Show Toolbar\"),\n\t\t\tf1: false,\n\t\t\tprecondition: undefined,\n\t\t\tmenu: [{\n\t\t\t\tid: MenuId.InlineSuggestionToolbar,\n\t\t\t\tgroup: 'secondary',\n\t\t\t\torder: 10,\n\t\t\t}],\n\t\t\ttoggled: ContextKeyExpr.equals('config.editor.inlineSuggest.showToolbar', 'always')\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor): Promise<void> {\n\t\tconst configService = accessor.get(IConfigurationService);\n\t\tconst currentValue = configService.getValue<'always' | 'onHover'>('editor.inlineSuggest.showToolbar');\n\t\tconst newValue = currentValue === 'always' ? 'onHover' : 'always';\n\t\tconfigService.updateValue('editor.inlineSuggest.showToolbar', newValue);\n\t}\n}\n\nexport class DevExtractReproSample extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.inlineSuggest.dev.extractRepro',\n\t\t\tlabel: nls.localize('action.inlineSuggest.dev.extractRepro', \"Developer: Extract Inline Suggest State\"),\n\t\t\talias: 'Developer: Inline Suggest Extract Repro',\n\t\t\tprecondition: ContextKeyExpr.or(InlineCompletionContextKeys.inlineEditVisible, InlineCompletionContextKeys.inlineSuggestionVisible),\n\t\t});\n\t}\n\n\tpublic override async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<any> {\n\t\tconst clipboardService = accessor.get(IClipboardService);\n\n\t\tconst controller = InlineCompletionsController.get(editor);\n\t\tconst m = controller?.model.get();\n\t\tif (!m) { return; }\n\t\tconst repro = m.extractReproSample();\n\n\t\tconst inlineCompletionLines = splitLines(JSON.stringify({ inlineCompletion: repro.inlineCompletion }, null, 4));\n\n\t\tconst json = inlineCompletionLines.map(l => '// ' + l).join('\\n');\n\n\t\tconst reproStr = `${repro.documentValue}\\n\\n// <json>\\n${json}\\n// </json>\\n`;\n\n\t\tawait clipboardService.writeText(reproStr);\n\n\t\treturn { reproCase: reproStr };\n\t}\n}\n"]}
@@ -6,17 +6,18 @@ 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(1198, "Whether an inline suggestion is visible")); }
10
- static { this.inlineSuggestionHasIndentation = new RawContextKey('inlineSuggestionHasIndentation', false, localize(1199, "Whether the inline suggestion starts with whitespace")); }
11
- static { this.inlineSuggestionHasIndentationLessThanTabSize = new RawContextKey('inlineSuggestionHasIndentationLessThanTabSize', true, localize(1200, "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(1201, "Whether suggestions should be suppressed for the current suggestion")); }
13
- static { this.cursorBeforeGhostText = new RawContextKey('cursorBeforeGhostText', false, localize(1202, "Whether the cursor is at ghost text")); }
14
- static { this.cursorInIndentation = new RawContextKey('cursorInIndentation', false, localize(1203, "Whether the cursor is in indentation")); }
15
- static { this.hasSelection = new RawContextKey('editor.hasSelection', false, localize(1204, "Whether the editor has a selection")); }
16
- static { this.cursorAtInlineEdit = new RawContextKey('cursorAtInlineEdit', false, localize(1205, "Whether the cursor is at an inline edit")); }
17
- static { this.inlineEditVisible = new RawContextKey('inlineEditIsVisible', false, localize(1206, "Whether an inline edit is visible")); }
18
- static { this.tabShouldJumpToInlineEdit = new RawContextKey('tabShouldJumpToInlineEdit', false, localize(1207, "Whether tab should jump to an inline edit.")); }
19
- static { this.tabShouldAcceptInlineEdit = new RawContextKey('tabShouldAcceptInlineEdit', false, localize(1208, "Whether tab should accept the inline edit.")); }
20
- static { this.inInlineEditsPreviewEditor = new RawContextKey('inInlineEditsPreviewEditor', true, nls.localize(1209, "Whether the current code editor is showing an inline edits preview")); }
9
+ static { this.inlineSuggestionVisible = new RawContextKey('inlineSuggestionVisible', false, localize(1199, "Whether an inline suggestion is visible")); }
10
+ static { this.inlineSuggestionAlternativeActionVisible = new RawContextKey('inlineSuggestionAlternativeActionVisible', false, localize(1200, "Whether an alternative action for the inline suggestion is visible.")); }
11
+ static { this.inlineSuggestionHasIndentation = new RawContextKey('inlineSuggestionHasIndentation', false, localize(1201, "Whether the inline suggestion starts with whitespace")); }
12
+ static { this.inlineSuggestionHasIndentationLessThanTabSize = new RawContextKey('inlineSuggestionHasIndentationLessThanTabSize', true, localize(1202, "Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")); }
13
+ static { this.suppressSuggestions = new RawContextKey('inlineSuggestionSuppressSuggestions', undefined, localize(1203, "Whether suggestions should be suppressed for the current suggestion")); }
14
+ static { this.cursorBeforeGhostText = new RawContextKey('cursorBeforeGhostText', false, localize(1204, "Whether the cursor is at ghost text")); }
15
+ static { this.cursorInIndentation = new RawContextKey('cursorInIndentation', false, localize(1205, "Whether the cursor is in indentation")); }
16
+ static { this.hasSelection = new RawContextKey('editor.hasSelection', false, localize(1206, "Whether the editor has a selection")); }
17
+ static { this.cursorAtInlineEdit = new RawContextKey('cursorAtInlineEdit', false, localize(1207, "Whether the cursor is at an inline edit")); }
18
+ static { this.inlineEditVisible = new RawContextKey('inlineEditIsVisible', false, localize(1208, "Whether an inline edit is visible")); }
19
+ static { this.tabShouldJumpToInlineEdit = new RawContextKey('tabShouldJumpToInlineEdit', false, localize(1209, "Whether tab should jump to an inline edit.")); }
20
+ static { this.tabShouldAcceptInlineEdit = new RawContextKey('tabShouldAcceptInlineEdit', false, localize(1210, "Whether tab should accept the inline edit.")); }
21
+ static { this.inInlineEditsPreviewEditor = new RawContextKey('inInlineEditsPreviewEditor', true, nls.localize(1211, "Whether the current code editor is showing an inline edits preview")); }
21
22
  }
22
23
  //# sourceMappingURL=inlineCompletionContextKeys.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAE7C,MAAM,OAAgB,2BAA2B;aAEzB,4BAAuB,GAAG,IAAI,aAAa,CAAU,yBAAyB,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAyB,EAAE,yCAAyC,CAAC,CAAC,CAAC;aACvK,mCAA8B,GAAG,IAAI,aAAa,CAAU,gCAAgC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAgC,EAAE,sDAAsD,CAAC,CAAC,CAAC;aACzM,kDAA6C,GAAG,IAAI,aAAa,CAAU,+CAA+C,EAAE,IAAI,EAAE,QAAQ,CAAC,IAA+C,EAAE,sGAAsG,CAAC,CAAC,CAAC;aACrS,wBAAmB,GAAG,IAAI,aAAa,CAAsB,qCAAqC,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAqB,EAAE,qEAAqE,CAAC,CAAC,CAAC;aAEvN,0BAAqB,GAAG,IAAI,aAAa,CAAsB,uBAAuB,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAuB,EAAE,qCAAqC,CAAC,CAAC,CAAC;aAEzK,wBAAmB,GAAG,IAAI,aAAa,CAAsB,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAqB,EAAE,sCAAsC,CAAC,CAAC,CAAC;aACpK,iBAAY,GAAG,IAAI,aAAa,CAAsB,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAqB,EAAE,oCAAoC,CAAC,CAAC,CAAC;aAC3J,uBAAkB,GAAG,IAAI,aAAa,CAAsB,oBAAoB,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAoB,EAAE,yCAAyC,CAAC,CAAC,CAAC;aACpK,sBAAiB,GAAG,IAAI,aAAa,CAAU,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAmB,EAAE,mCAAmC,CAAC,CAAC,CAAC;aACjJ,8BAAyB,GAAG,IAAI,aAAa,CAAsB,2BAA2B,EAAE,KAAK,EAAE,QAAQ,CAAC,IAA2B,EAAE,4CAA4C,CAAC,CAAC,CAAC;aAC5L,8BAAyB,GAAG,IAAI,aAAa,CAAsB,2BAA2B,EAAE,KAAK,EAAE,QAAQ,CAAC,IAA2B,EAAE,4CAA4C,CAAC,CAAC,CAAC;aAE5L,+BAA0B,GAAG,IAAI,aAAa,CAAU,4BAA4B,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAA4B,EAAE,oEAAoE,CAAC,CAAC,CAAC","file":"inlineCompletionContextKeys.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 { RawContextKey } from '../../../../../platform/contextkey/common/contextkey.js';\nimport { localize } from '../../../../../nls.js';\nimport * as nls from '../../../../../nls.js';\n\nexport abstract class InlineCompletionContextKeys {\n\n\tpublic static readonly inlineSuggestionVisible = new RawContextKey<boolean>('inlineSuggestionVisible', false, localize('inlineSuggestionVisible', \"Whether an inline suggestion is visible\"));\n\tpublic static readonly inlineSuggestionHasIndentation = new RawContextKey<boolean>('inlineSuggestionHasIndentation', false, localize('inlineSuggestionHasIndentation', \"Whether the inline suggestion starts with whitespace\"));\n\tpublic static readonly inlineSuggestionHasIndentationLessThanTabSize = new RawContextKey<boolean>('inlineSuggestionHasIndentationLessThanTabSize', true, localize('inlineSuggestionHasIndentationLessThanTabSize', \"Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab\"));\n\tpublic static readonly suppressSuggestions = new RawContextKey<boolean | undefined>('inlineSuggestionSuppressSuggestions', undefined, localize('suppressSuggestions', \"Whether suggestions should be suppressed for the current suggestion\"));\n\n\tpublic static readonly cursorBeforeGhostText = new RawContextKey<boolean | undefined>('cursorBeforeGhostText', false, localize('cursorBeforeGhostText', \"Whether the cursor is at ghost text\"));\n\n\tpublic static readonly cursorInIndentation = new RawContextKey<boolean | undefined>('cursorInIndentation', false, localize('cursorInIndentation', \"Whether the cursor is in indentation\"));\n\tpublic static readonly hasSelection = new RawContextKey<boolean | undefined>('editor.hasSelection', false, localize('editor.hasSelection', \"Whether the editor has a selection\"));\n\tpublic static readonly cursorAtInlineEdit = new RawContextKey<boolean | undefined>('cursorAtInlineEdit', false, localize('cursorAtInlineEdit', \"Whether the cursor is at an inline edit\"));\n\tpublic static readonly inlineEditVisible = new RawContextKey<boolean>('inlineEditIsVisible', false, localize('inlineEditVisible', \"Whether an inline edit is visible\"));\n\tpublic static readonly tabShouldJumpToInlineEdit = new RawContextKey<boolean | undefined>('tabShouldJumpToInlineEdit', false, localize('tabShouldJumpToInlineEdit', \"Whether tab should jump to an inline edit.\"));\n\tpublic static readonly tabShouldAcceptInlineEdit = new RawContextKey<boolean | undefined>('tabShouldAcceptInlineEdit', false, localize('tabShouldAcceptInlineEdit', \"Whether tab should accept the inline edit.\"));\n\n\tpublic static readonly inInlineEditsPreviewEditor = new RawContextKey<boolean>('inInlineEditsPreviewEditor', true, nls.localize('inInlineEditsPreviewEditor', \"Whether the current code editor is showing an inline edits preview\"));\n}\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAE7C,MAAM,OAAgB,2BAA2B;aAEzB,4BAAuB,GAAG,IAAI,aAAa,CAAU,yBAAyB,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAyB,EAAE,yCAAyC,CAAC,CAAC,CAAC;aACvK,6CAAwC,GAAG,IAAI,aAAa,CAAU,0CAA0C,EAAE,KAAK,EAAE,QAAQ,CAAC,IAA0C,EAAE,qEAAqE,CAAC,CAAC,CAAC;aACtP,mCAA8B,GAAG,IAAI,aAAa,CAAU,gCAAgC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAgC,EAAE,sDAAsD,CAAC,CAAC,CAAC;aACzM,kDAA6C,GAAG,IAAI,aAAa,CAAU,+CAA+C,EAAE,IAAI,EAAE,QAAQ,CAAC,IAA+C,EAAE,sGAAsG,CAAC,CAAC,CAAC;aACrS,wBAAmB,GAAG,IAAI,aAAa,CAAsB,qCAAqC,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAqB,EAAE,qEAAqE,CAAC,CAAC,CAAC;aAEvN,0BAAqB,GAAG,IAAI,aAAa,CAAsB,uBAAuB,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAuB,EAAE,qCAAqC,CAAC,CAAC,CAAC;aAEzK,wBAAmB,GAAG,IAAI,aAAa,CAAsB,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAqB,EAAE,sCAAsC,CAAC,CAAC,CAAC;aACpK,iBAAY,GAAG,IAAI,aAAa,CAAsB,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAqB,EAAE,oCAAoC,CAAC,CAAC,CAAC;aAC3J,uBAAkB,GAAG,IAAI,aAAa,CAAsB,oBAAoB,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAoB,EAAE,yCAAyC,CAAC,CAAC,CAAC;aACpK,sBAAiB,GAAG,IAAI,aAAa,CAAU,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAmB,EAAE,mCAAmC,CAAC,CAAC,CAAC;aACjJ,8BAAyB,GAAG,IAAI,aAAa,CAAsB,2BAA2B,EAAE,KAAK,EAAE,QAAQ,CAAC,IAA2B,EAAE,4CAA4C,CAAC,CAAC,CAAC;aAC5L,8BAAyB,GAAG,IAAI,aAAa,CAAsB,2BAA2B,EAAE,KAAK,EAAE,QAAQ,CAAC,IAA2B,EAAE,4CAA4C,CAAC,CAAC,CAAC;aAE5L,+BAA0B,GAAG,IAAI,aAAa,CAAU,4BAA4B,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAA4B,EAAE,oEAAoE,CAAC,CAAC,CAAC","file":"inlineCompletionContextKeys.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 { RawContextKey } from '../../../../../platform/contextkey/common/contextkey.js';\nimport { localize } from '../../../../../nls.js';\nimport * as nls from '../../../../../nls.js';\n\nexport abstract class InlineCompletionContextKeys {\n\n\tpublic static readonly inlineSuggestionVisible = new RawContextKey<boolean>('inlineSuggestionVisible', false, localize('inlineSuggestionVisible', \"Whether an inline suggestion is visible\"));\n\tpublic static readonly inlineSuggestionAlternativeActionVisible = new RawContextKey<boolean>('inlineSuggestionAlternativeActionVisible', false, localize('inlineSuggestionAlternativeActionVisible', \"Whether an alternative action for the inline suggestion is visible.\"));\n\tpublic static readonly inlineSuggestionHasIndentation = new RawContextKey<boolean>('inlineSuggestionHasIndentation', false, localize('inlineSuggestionHasIndentation', \"Whether the inline suggestion starts with whitespace\"));\n\tpublic static readonly inlineSuggestionHasIndentationLessThanTabSize = new RawContextKey<boolean>('inlineSuggestionHasIndentationLessThanTabSize', true, localize('inlineSuggestionHasIndentationLessThanTabSize', \"Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab\"));\n\tpublic static readonly suppressSuggestions = new RawContextKey<boolean | undefined>('inlineSuggestionSuppressSuggestions', undefined, localize('suppressSuggestions', \"Whether suggestions should be suppressed for the current suggestion\"));\n\n\tpublic static readonly cursorBeforeGhostText = new RawContextKey<boolean | undefined>('cursorBeforeGhostText', false, localize('cursorBeforeGhostText', \"Whether the cursor is at ghost text\"));\n\n\tpublic static readonly cursorInIndentation = new RawContextKey<boolean | undefined>('cursorInIndentation', false, localize('cursorInIndentation', \"Whether the cursor is in indentation\"));\n\tpublic static readonly hasSelection = new RawContextKey<boolean | undefined>('editor.hasSelection', false, localize('editor.hasSelection', \"Whether the editor has a selection\"));\n\tpublic static readonly cursorAtInlineEdit = new RawContextKey<boolean | undefined>('cursorAtInlineEdit', false, localize('cursorAtInlineEdit', \"Whether the cursor is at an inline edit\"));\n\tpublic static readonly inlineEditVisible = new RawContextKey<boolean>('inlineEditIsVisible', false, localize('inlineEditVisible', \"Whether an inline edit is visible\"));\n\tpublic static readonly tabShouldJumpToInlineEdit = new RawContextKey<boolean | undefined>('tabShouldJumpToInlineEdit', false, localize('tabShouldJumpToInlineEdit', \"Whether tab should jump to an inline edit.\"));\n\tpublic static readonly tabShouldAcceptInlineEdit = new RawContextKey<boolean | undefined>('tabShouldAcceptInlineEdit', false, localize('tabShouldAcceptInlineEdit', \"Whether tab should accept the inline edit.\"));\n\n\tpublic static readonly inInlineEditsPreviewEditor = new RawContextKey<boolean>('inInlineEditsPreviewEditor', true, nls.localize('inInlineEditsPreviewEditor', \"Whether the current code editor is showing an inline edits preview\"));\n}\n"]}
@@ -331,6 +331,12 @@ let InlineCompletionsController = class InlineCompletionsController extends Disp
331
331
  const state = model?.inlineCompletionState.read(reader);
332
332
  return state?.primaryGhostText && state?.inlineSuggestion ? state.inlineSuggestion.source.inlineSuggestions.suppressSuggestions : undefined;
333
333
  }));
334
+ this._register(contextKeySvcObs.bind(InlineCompletionContextKeys.inlineSuggestionAlternativeActionVisible, reader => {
335
+ const model = this.model.read(reader);
336
+ const state = model?.inlineEditState.read(reader);
337
+ const action = state?.inlineSuggestion.action;
338
+ return action && action.kind === 'edit' && action.alternativeAction !== undefined;
339
+ }));
334
340
  this._register(contextKeySvcObs.bind(InlineCompletionContextKeys.inlineSuggestionVisible, reader => {
335
341
  const model = this.model.read(reader);
336
342
  const state = model?.inlineCompletionState.read(reader);
@@ -367,7 +373,7 @@ let InlineCompletionsController = class InlineCompletionsController extends Disp
367
373
  const accessibleViewKeybinding = this._keybindingService.lookupKeybinding('editor.action.accessibleView');
368
374
  let hint;
369
375
  if (!accessibleViewShowing && accessibleViewKeybinding && this.editor.getOption(169 /* EditorOption.inlineCompletionsAccessibilityVerbose */)) {
370
- hint = localize(1210, "Inspect this in the accessible view ({0})", accessibleViewKeybinding.getAriaLabel());
376
+ hint = localize(1212, "Inspect this in the accessible view ({0})", accessibleViewKeybinding.getAriaLabel());
371
377
  }
372
378
  alert(hint ? content + ', ' + hint : content);
373
379
  }
@@ -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 { TriggerInlineEditCommandsRegistry } from '../../../../browser/triggerInlineEditCommandsRegistry.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 { InlineSuggestionsView } from '../view/inlineSuggestionsView.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 = derived(this, reader => this._enabledInConfig.read(reader) && (!this._isScreenReaderEnabled.read(reader) || !this._editorDictationInProgress.read(reader)));\n\n\tprivate readonly _debounceValue;\n\n\tprivate readonly _focusIsInMenu = observableValue<boolean>(this, false);\n\tprivate readonly _focusIsInEditorOrMenu = derived(this, reader => {\n\t\tconst editorHasFocus = this._editorObs.isFocused.read(reader);\n\t\tconst menuHasFocus = this._focusIsInMenu.read(reader);\n\t\treturn editorHasFocus || menuHasFocus;\n\t});\n\n\tprivate readonly _cursorIsInIndentation = derived(this, reader => {\n\t\tconst cursorPos = this._editorObs.cursorPosition.read(reader);\n\t\tif (cursorPos === null) { return false; }\n\t\tconst model = this._editorObs.model.read(reader);\n\t\tif (!model) { return false; }\n\t\tthis._editorObs.versionId.read(reader);\n\t\tconst indentMaxColumn = model.getLineIndentColumn(cursorPos.lineNumber);\n\t\treturn cursorPos.column <= indentMaxColumn;\n\t});\n\n\tpublic readonly model = derivedDisposable<InlineCompletionsModel | undefined>(this, reader => {\n\t\tif (this._editorObs.isReadonly.read(reader)) { return undefined; }\n\t\tconst textModel = this._editorObs.model.read(reader);\n\t\tif (!textModel) { return undefined; }\n\n\t\tconst model: InlineCompletionsModel = this._instantiationService.createInstance(\n\t\t\tInlineCompletionsModel,\n\t\t\ttextModel,\n\t\t\tthis._suggestWidgetAdapter.selectedItem,\n\t\t\tthis._editorObs.versionId,\n\t\t\tthis._positions,\n\t\t\tthis._debounceValue,\n\t\t\tthis._enabled,\n\t\t\tthis.editor,\n\t\t);\n\t\treturn model;\n\t});\n\n\tprivate readonly _playAccessibilitySignal = observableSignal(this);\n\n\tprivate readonly _hideInlineEditOnSelectionChange;\n\n\tprotected readonly _view = derived(reader => reader.store.add(this._instantiationService.createInstance(InlineSuggestionsView.hot.read(reader), this.editor, this.model, this._focusIsInMenu)));\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\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.model.recomputeInitiallyAndOnChange(this._store);\n\t\tthis._hideInlineEditOnSelectionChange = this._editorObs.getOption(EditorOption.inlineSuggest).map(val => true);\n\n\t\tthis._view.recomputeInitiallyAndOnChange(this._store);\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\t...TriggerInlineEditCommandsRegistry.getRegisteredCommands(),\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)?.inlineSuggestion?.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?.inlineSuggestion?.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?.inlineSuggestion ? state.inlineSuggestion.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?.inlineSuggestion && 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.get().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 { TriggerInlineEditCommandsRegistry } from '../../../../browser/triggerInlineEditCommandsRegistry.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 { InlineSuggestionsView } from '../view/inlineSuggestionsView.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 = derived(this, reader => this._enabledInConfig.read(reader) && (!this._isScreenReaderEnabled.read(reader) || !this._editorDictationInProgress.read(reader)));\n\n\tprivate readonly _debounceValue;\n\n\tprivate readonly _focusIsInMenu = observableValue<boolean>(this, false);\n\tprivate readonly _focusIsInEditorOrMenu = derived(this, reader => {\n\t\tconst editorHasFocus = this._editorObs.isFocused.read(reader);\n\t\tconst menuHasFocus = this._focusIsInMenu.read(reader);\n\t\treturn editorHasFocus || menuHasFocus;\n\t});\n\n\tprivate readonly _cursorIsInIndentation = derived(this, reader => {\n\t\tconst cursorPos = this._editorObs.cursorPosition.read(reader);\n\t\tif (cursorPos === null) { return false; }\n\t\tconst model = this._editorObs.model.read(reader);\n\t\tif (!model) { return false; }\n\t\tthis._editorObs.versionId.read(reader);\n\t\tconst indentMaxColumn = model.getLineIndentColumn(cursorPos.lineNumber);\n\t\treturn cursorPos.column <= indentMaxColumn;\n\t});\n\n\tpublic readonly model = derivedDisposable<InlineCompletionsModel | undefined>(this, reader => {\n\t\tif (this._editorObs.isReadonly.read(reader)) { return undefined; }\n\t\tconst textModel = this._editorObs.model.read(reader);\n\t\tif (!textModel) { return undefined; }\n\n\t\tconst model: InlineCompletionsModel = this._instantiationService.createInstance(\n\t\t\tInlineCompletionsModel,\n\t\t\ttextModel,\n\t\t\tthis._suggestWidgetAdapter.selectedItem,\n\t\t\tthis._editorObs.versionId,\n\t\t\tthis._positions,\n\t\t\tthis._debounceValue,\n\t\t\tthis._enabled,\n\t\t\tthis.editor,\n\t\t);\n\t\treturn model;\n\t});\n\n\tprivate readonly _playAccessibilitySignal = observableSignal(this);\n\n\tprivate readonly _hideInlineEditOnSelectionChange;\n\n\tprotected readonly _view = derived(reader => reader.store.add(this._instantiationService.createInstance(InlineSuggestionsView.hot.read(reader), this.editor, this.model, this._focusIsInMenu)));\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\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.model.recomputeInitiallyAndOnChange(this._store);\n\t\tthis._hideInlineEditOnSelectionChange = this._editorObs.getOption(EditorOption.inlineSuggest).map(val => true);\n\n\t\tthis._view.recomputeInitiallyAndOnChange(this._store);\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\t...TriggerInlineEditCommandsRegistry.getRegisteredCommands(),\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)?.inlineSuggestion?.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?.inlineSuggestion?.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?.inlineSuggestion ? state.inlineSuggestion.source.inlineSuggestions.suppressSuggestions : undefined;\n\t\t}));\n\t\tthis._register(contextKeySvcObs.bind(InlineCompletionContextKeys.inlineSuggestionAlternativeActionVisible, reader => {\n\t\t\tconst model = this.model.read(reader);\n\t\t\tconst state = model?.inlineEditState.read(reader);\n\t\t\tconst action = state?.inlineSuggestion.action;\n\t\t\treturn action && action.kind === 'edit' && action.alternativeAction !== 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?.inlineSuggestion && 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.get().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"]}
@@ -115,7 +115,7 @@ let InlineCompletionsHoverParticipant = class InlineCompletionsHoverParticipant
115
115
  return new RenderedHoverParts([renderedHoverPart]);
116
116
  }
117
117
  getAccessibleContent(hoverPart) {
118
- return nls.localize(1211, 'There are inline completions here');
118
+ return nls.localize(1213, 'There are inline completions here');
119
119
  }
120
120
  renderScreenReaderText(context, part) {
121
121
  const disposables = new DisposableStore();
@@ -123,7 +123,7 @@ let InlineCompletionsHoverParticipant = class InlineCompletionsHoverParticipant
123
123
  const markdownHoverElement = $('div.hover-row.markdown-hover');
124
124
  const hoverContentsElement = dom.append(markdownHoverElement, $('div.hover-contents', { ['aria-live']: 'assertive' }));
125
125
  const render = (code) => {
126
- const inlineSuggestionAvailable = nls.localize(1212, "Suggestion:");
126
+ const inlineSuggestionAvailable = nls.localize(1214, "Suggestion:");
127
127
  const renderedContents = disposables.add(this._markdownRendererService.render(new MarkdownString().appendText(inlineSuggestionAvailable).appendCodeblock('text', code), {
128
128
  context: this._editor,
129
129
  asyncRenderCallback: () => {
@@ -97,8 +97,8 @@ 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(1213, 'Icon for show next parameter hint.'));
101
- const inlineSuggestionHintsPreviousIcon = registerIcon('inline-suggestion-hints-previous', Codicon.chevronLeft, localize(1214, 'Icon for show previous parameter hint.'));
100
+ const inlineSuggestionHintsNextIcon = registerIcon('inline-suggestion-hints-next', Codicon.chevronRight, localize(1215, 'Icon for show next parameter hint.'));
101
+ const inlineSuggestionHintsPreviousIcon = registerIcon('inline-suggestion-hints-previous', Codicon.chevronLeft, localize(1216, 'Icon for show previous parameter hint.'));
102
102
  let InlineSuggestionHintsContentWidget = class InlineSuggestionHintsContentWidget extends Disposable {
103
103
  static { InlineSuggestionHintsContentWidget_1 = this; }
104
104
  static { this.hot = createHotClass(this); }
@@ -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(1215, '{0} ({1})', label, kb.getLabel());
113
+ tooltip = localize(1217, '{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(1216, 'Previous'), ThemeIcon.asClassName(inlineSuggestionHintsPreviousIcon)));
161
+ this.previousAction = this._register(this.createCommandAction(showPreviousInlineSuggestionActionId, localize(1218, '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(1217, 'Next'), ThemeIcon.asClassName(inlineSuggestionHintsNextIcon)));
163
+ this.nextAction = this._register(this.createCommandAction(showNextInlineSuggestionActionId, localize(1219, '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 = '';
@@ -7,7 +7,7 @@ import { registerAction2 } from '../../../../platform/actions/common/actions.js'
7
7
  import { wrapInHotClass1 } from '../../../../platform/observable/common/wrapInHotClass.js';
8
8
  import { registerEditorAction, registerEditorContribution } from '../../../browser/editorExtensions.js';
9
9
  import { HoverParticipantRegistry } from '../../hover/browser/hoverTypes.js';
10
- import { AcceptInlineCompletion, AcceptNextLineOfInlineCompletion, AcceptNextWordOfInlineCompletion, DevExtractReproSample, HideInlineCompletion, JumpToNextInlineEdit, ShowNextInlineSuggestionAction, ShowPreviousInlineSuggestionAction, ToggleAlwaysShowInlineSuggestionToolbar, TriggerInlineSuggestionAction, ToggleInlineCompletionShowCollapsed } from './controller/commands.js';
10
+ import { AcceptInlineCompletion, AcceptNextLineOfInlineCompletion, AcceptNextWordOfInlineCompletion, DevExtractReproSample, HideInlineCompletion, JumpToNextInlineEdit, ShowNextInlineSuggestionAction, ShowPreviousInlineSuggestionAction, ToggleAlwaysShowInlineSuggestionToolbar, TriggerInlineSuggestionAction, ToggleInlineCompletionShowCollapsed, AcceptInlineCompletionAlternativeAction } from './controller/commands.js';
11
11
  import { InlineCompletionsController } from './controller/inlineCompletionsController.js';
12
12
  import { InlineCompletionsHoverParticipant } from './hintsWidget/hoverParticipant.js';
13
13
  import { InlineCompletionsAccessibleView } from './inlineCompletionsAccessibleView.js';
@@ -19,6 +19,7 @@ registerEditorAction(ShowPreviousInlineSuggestionAction);
19
19
  registerEditorAction(AcceptNextWordOfInlineCompletion);
20
20
  registerEditorAction(AcceptNextLineOfInlineCompletion);
21
21
  registerEditorAction(AcceptInlineCompletion);
22
+ registerEditorAction(AcceptInlineCompletionAlternativeAction);
22
23
  registerEditorAction(ToggleInlineCompletionShowCollapsed);
23
24
  registerEditorAction(HideInlineCompletion);
24
25
  registerEditorAction(JumpToNextInlineEdit);
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.ts","vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sEAAsE,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAC3F,OAAO,EAAmC,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACzI,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,kCAAkC,EAAE,uCAAuC,EAAE,6BAA6B,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AAC1X,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAE7H,0BAA0B,CAAC,2BAA2B,CAAC,EAAE,EAAE,eAAe,CAAC,2BAA2B,CAAC,GAAG,CAAC,qDAA6C,CAAC;AAEzJ,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;AACpD,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;AACrD,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;AACzD,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;AACvD,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;AACvD,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC7C,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;AAC1D,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAC3C,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAC3C,eAAe,CAAC,uCAAuC,CAAC,CAAC;AACzD,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;AAC5C,eAAe,CAAC,sBAAsB,CAAC,CAAC;AACxC,eAAe,CAAC,4BAA4B,CAAC,CAAC;AAE9C,wBAAwB,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;AACrE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,+BAA+B,EAAE,CAAC,CAAC","file":"inlineCompletions.contribution.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 { AccessibleViewRegistry } from '../../../../platform/accessibility/browser/accessibleViewRegistry.js';\nimport { registerAction2 } from '../../../../platform/actions/common/actions.js';\nimport { wrapInHotClass1 } from '../../../../platform/observable/common/wrapInHotClass.js';\nimport { EditorContributionInstantiation, registerEditorAction, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { HoverParticipantRegistry } from '../../hover/browser/hoverTypes.js';\nimport { AcceptInlineCompletion, AcceptNextLineOfInlineCompletion, AcceptNextWordOfInlineCompletion, DevExtractReproSample, HideInlineCompletion, JumpToNextInlineEdit, ShowNextInlineSuggestionAction, ShowPreviousInlineSuggestionAction, ToggleAlwaysShowInlineSuggestionToolbar, TriggerInlineSuggestionAction, ToggleInlineCompletionShowCollapsed } from './controller/commands.js';\nimport { InlineCompletionsController } from './controller/inlineCompletionsController.js';\nimport { InlineCompletionsHoverParticipant } from './hintsWidget/hoverParticipant.js';\nimport { InlineCompletionsAccessibleView } from './inlineCompletionsAccessibleView.js';\nimport { CancelSnoozeInlineCompletion, SnoozeInlineCompletion } from '../../../browser/services/inlineCompletionsService.js';\n\nregisterEditorContribution(InlineCompletionsController.ID, wrapInHotClass1(InlineCompletionsController.hot), EditorContributionInstantiation.Eventually);\n\nregisterEditorAction(TriggerInlineSuggestionAction);\nregisterEditorAction(ShowNextInlineSuggestionAction);\nregisterEditorAction(ShowPreviousInlineSuggestionAction);\nregisterEditorAction(AcceptNextWordOfInlineCompletion);\nregisterEditorAction(AcceptNextLineOfInlineCompletion);\nregisterEditorAction(AcceptInlineCompletion);\nregisterEditorAction(ToggleInlineCompletionShowCollapsed);\nregisterEditorAction(HideInlineCompletion);\nregisterEditorAction(JumpToNextInlineEdit);\nregisterAction2(ToggleAlwaysShowInlineSuggestionToolbar);\nregisterEditorAction(DevExtractReproSample);\nregisterAction2(SnoozeInlineCompletion);\nregisterAction2(CancelSnoozeInlineCompletion);\n\nHoverParticipantRegistry.register(InlineCompletionsHoverParticipant);\nAccessibleViewRegistry.register(new InlineCompletionsAccessibleView());\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { AccessibleViewRegistry } from '../../../../platform/accessibility/browser/accessibleViewRegistry.js';\nimport { registerAction2 } from '../../../../platform/actions/common/actions.js';\nimport { wrapInHotClass1 } from '../../../../platform/observable/common/wrapInHotClass.js';\nimport { EditorContributionInstantiation, registerEditorAction, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { HoverParticipantRegistry } from '../../hover/browser/hoverTypes.js';\nimport { AcceptInlineCompletion, AcceptNextLineOfInlineCompletion, AcceptNextWordOfInlineCompletion, DevExtractReproSample, HideInlineCompletion, JumpToNextInlineEdit, ShowNextInlineSuggestionAction, ShowPreviousInlineSuggestionAction, ToggleAlwaysShowInlineSuggestionToolbar, TriggerInlineSuggestionAction, ToggleInlineCompletionShowCollapsed } from './controller/commands.js';\nimport { InlineCompletionsController } from './controller/inlineCompletionsController.js';\nimport { InlineCompletionsHoverParticipant } from './hintsWidget/hoverParticipant.js';\nimport { InlineCompletionsAccessibleView } from './inlineCompletionsAccessibleView.js';\nimport { CancelSnoozeInlineCompletion, SnoozeInlineCompletion } from '../../../browser/services/inlineCompletionsService.js';\n\nregisterEditorContribution(InlineCompletionsController.ID, wrapInHotClass1(InlineCompletionsController.hot), EditorContributionInstantiation.Eventually);\n\nregisterEditorAction(TriggerInlineSuggestionAction);\nregisterEditorAction(ShowNextInlineSuggestionAction);\nregisterEditorAction(ShowPreviousInlineSuggestionAction);\nregisterEditorAction(AcceptNextWordOfInlineCompletion);\nregisterEditorAction(AcceptNextLineOfInlineCompletion);\nregisterEditorAction(AcceptInlineCompletion);\nregisterEditorAction(ToggleInlineCompletionShowCollapsed);\nregisterEditorAction(HideInlineCompletion);\nregisterEditorAction(JumpToNextInlineEdit);\nregisterAction2(ToggleAlwaysShowInlineSuggestionToolbar);\nregisterEditorAction(DevExtractReproSample);\nregisterAction2(SnoozeInlineCompletion);\nregisterAction2(CancelSnoozeInlineCompletion);\n\nHoverParticipantRegistry.register(InlineCompletionsHoverParticipant);\nAccessibleViewRegistry.register(new InlineCompletionsAccessibleView());\n"]}
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.ts","vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sEAAsE,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAC3F,OAAO,EAAmC,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACzI,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,kCAAkC,EAAE,uCAAuC,EAAE,6BAA6B,EAAE,mCAAmC,EAAE,uCAAuC,EAAE,MAAM,0BAA0B,CAAC;AACna,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAE7H,0BAA0B,CAAC,2BAA2B,CAAC,EAAE,EAAE,eAAe,CAAC,2BAA2B,CAAC,GAAG,CAAC,qDAA6C,CAAC;AAEzJ,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;AACpD,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;AACrD,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;AACzD,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;AACvD,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;AACvD,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC7C,oBAAoB,CAAC,uCAAuC,CAAC,CAAC;AAC9D,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;AAC1D,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAC3C,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAC3C,eAAe,CAAC,uCAAuC,CAAC,CAAC;AACzD,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;AAC5C,eAAe,CAAC,sBAAsB,CAAC,CAAC;AACxC,eAAe,CAAC,4BAA4B,CAAC,CAAC;AAE9C,wBAAwB,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;AACrE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,+BAA+B,EAAE,CAAC,CAAC","file":"inlineCompletions.contribution.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 { AccessibleViewRegistry } from '../../../../platform/accessibility/browser/accessibleViewRegistry.js';\nimport { registerAction2 } from '../../../../platform/actions/common/actions.js';\nimport { wrapInHotClass1 } from '../../../../platform/observable/common/wrapInHotClass.js';\nimport { EditorContributionInstantiation, registerEditorAction, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { HoverParticipantRegistry } from '../../hover/browser/hoverTypes.js';\nimport { AcceptInlineCompletion, AcceptNextLineOfInlineCompletion, AcceptNextWordOfInlineCompletion, DevExtractReproSample, HideInlineCompletion, JumpToNextInlineEdit, ShowNextInlineSuggestionAction, ShowPreviousInlineSuggestionAction, ToggleAlwaysShowInlineSuggestionToolbar, TriggerInlineSuggestionAction, ToggleInlineCompletionShowCollapsed, AcceptInlineCompletionAlternativeAction } from './controller/commands.js';\nimport { InlineCompletionsController } from './controller/inlineCompletionsController.js';\nimport { InlineCompletionsHoverParticipant } from './hintsWidget/hoverParticipant.js';\nimport { InlineCompletionsAccessibleView } from './inlineCompletionsAccessibleView.js';\nimport { CancelSnoozeInlineCompletion, SnoozeInlineCompletion } from '../../../browser/services/inlineCompletionsService.js';\n\nregisterEditorContribution(InlineCompletionsController.ID, wrapInHotClass1(InlineCompletionsController.hot), EditorContributionInstantiation.Eventually);\n\nregisterEditorAction(TriggerInlineSuggestionAction);\nregisterEditorAction(ShowNextInlineSuggestionAction);\nregisterEditorAction(ShowPreviousInlineSuggestionAction);\nregisterEditorAction(AcceptNextWordOfInlineCompletion);\nregisterEditorAction(AcceptNextLineOfInlineCompletion);\nregisterEditorAction(AcceptInlineCompletion);\nregisterEditorAction(AcceptInlineCompletionAlternativeAction);\nregisterEditorAction(ToggleInlineCompletionShowCollapsed);\nregisterEditorAction(HideInlineCompletion);\nregisterEditorAction(JumpToNextInlineEdit);\nregisterAction2(ToggleAlwaysShowInlineSuggestionToolbar);\nregisterEditorAction(DevExtractReproSample);\nregisterAction2(SnoozeInlineCompletion);\nregisterAction2(CancelSnoozeInlineCompletion);\n\nHoverParticipantRegistry.register(InlineCompletionsHoverParticipant);\nAccessibleViewRegistry.register(new InlineCompletionsAccessibleView());\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { AccessibleViewRegistry } from '../../../../platform/accessibility/browser/accessibleViewRegistry.js';\nimport { registerAction2 } from '../../../../platform/actions/common/actions.js';\nimport { wrapInHotClass1 } from '../../../../platform/observable/common/wrapInHotClass.js';\nimport { EditorContributionInstantiation, registerEditorAction, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { HoverParticipantRegistry } from '../../hover/browser/hoverTypes.js';\nimport { AcceptInlineCompletion, AcceptNextLineOfInlineCompletion, AcceptNextWordOfInlineCompletion, DevExtractReproSample, HideInlineCompletion, JumpToNextInlineEdit, ShowNextInlineSuggestionAction, ShowPreviousInlineSuggestionAction, ToggleAlwaysShowInlineSuggestionToolbar, TriggerInlineSuggestionAction, ToggleInlineCompletionShowCollapsed, AcceptInlineCompletionAlternativeAction } from './controller/commands.js';\nimport { InlineCompletionsController } from './controller/inlineCompletionsController.js';\nimport { InlineCompletionsHoverParticipant } from './hintsWidget/hoverParticipant.js';\nimport { InlineCompletionsAccessibleView } from './inlineCompletionsAccessibleView.js';\nimport { CancelSnoozeInlineCompletion, SnoozeInlineCompletion } from '../../../browser/services/inlineCompletionsService.js';\n\nregisterEditorContribution(InlineCompletionsController.ID, wrapInHotClass1(InlineCompletionsController.hot), EditorContributionInstantiation.Eventually);\n\nregisterEditorAction(TriggerInlineSuggestionAction);\nregisterEditorAction(ShowNextInlineSuggestionAction);\nregisterEditorAction(ShowPreviousInlineSuggestionAction);\nregisterEditorAction(AcceptNextWordOfInlineCompletion);\nregisterEditorAction(AcceptNextLineOfInlineCompletion);\nregisterEditorAction(AcceptInlineCompletion);\nregisterEditorAction(AcceptInlineCompletionAlternativeAction);\nregisterEditorAction(ToggleInlineCompletionShowCollapsed);\nregisterEditorAction(HideInlineCompletion);\nregisterEditorAction(JumpToNextInlineEdit);\nregisterAction2(ToggleAlwaysShowInlineSuggestionToolbar);\nregisterEditorAction(DevExtractReproSample);\nregisterAction2(SnoozeInlineCompletion);\nregisterAction2(CancelSnoozeInlineCompletion);\n\nHoverParticipantRegistry.register(InlineCompletionsHoverParticipant);\nAccessibleViewRegistry.register(new InlineCompletionsAccessibleView());\n"]}
@@ -0,0 +1,8 @@
1
+ export var InlineSuggestAlternativeAction;
2
+ (function (InlineSuggestAlternativeAction) {
3
+ function toString(action) {
4
+ return action?.command.id ?? undefined;
5
+ }
6
+ InlineSuggestAlternativeAction.toString = toString;
7
+ })(InlineSuggestAlternativeAction || (InlineSuggestAlternativeAction = {}));
8
+ //# sourceMappingURL=InlineSuggestAlternativeAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/contrib/inlineCompletions/browser/model/InlineSuggestAlternativeAction.ts","vs/editor/contrib/inlineCompletions/browser/model/InlineSuggestAlternativeAction.ts"],"names":[],"mappings":"AAcA,MAAM,KAAW,8BAA8B,CAI9C;AAJD,WAAiB,8BAA8B;IAC9C,SAAgB,QAAQ,CAAC,MAAkD;QAC1E,OAAO,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,SAAS,CAAC;IACxC,CAAC;IAFe,uCAAQ,WAEvB,CAAA;AACF,CAAC,EAJgB,8BAA8B,KAA9B,8BAA8B,QAI9C","file":"InlineSuggestAlternativeAction.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 *--------------------------------------------------------------------------------------------*/\nimport { ThemeIcon } from '../../../../../base/common/themables.js';\nimport { Command } from '../../../../common/languages.js';\n\nexport type InlineSuggestAlternativeAction = {\n\tlabel: string;\n\ticon: ThemeIcon;\n\tcommand: Command;\n\tcount: Promise<number>;\n};\n\nexport namespace InlineSuggestAlternativeAction {\n\texport function toString(action: InlineSuggestAlternativeAction | undefined): string | undefined {\n\t\treturn action?.command.id ?? undefined;\n\t}\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { ThemeIcon } from '../../../../../base/common/themables.js';\nimport { Command } from '../../../../common/languages.js';\n\nexport type InlineSuggestAlternativeAction = {\n\tlabel: string;\n\ticon: ThemeIcon;\n\tcommand: Command;\n\tcount: Promise<number>;\n};\n\nexport namespace InlineSuggestAlternativeAction {\n\texport function toString(action: InlineSuggestAlternativeAction | undefined): string | undefined {\n\t\treturn action?.command.id ?? undefined;\n\t}\n}\n"]}