monaco-editor-core 0.55.1 → 0.56.0-dev-20251121
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.
- package/esm/nls.keys.json +1 -1
- package/esm/nls.messages.cs.js +2 -2
- package/esm/nls.messages.de.js +2 -2
- package/esm/nls.messages.es.js +2 -2
- package/esm/nls.messages.fr.js +2 -2
- package/esm/nls.messages.it.js +2 -2
- package/esm/nls.messages.ja.js +2 -2
- package/esm/nls.messages.js +1 -1
- package/esm/nls.messages.json +1 -1
- package/esm/nls.messages.ko.js +2 -2
- package/esm/nls.messages.pl.js +2 -2
- package/esm/nls.messages.pt-br.js +2 -2
- package/esm/nls.messages.ru.js +2 -2
- package/esm/nls.messages.tr.js +2 -2
- package/esm/nls.messages.zh-cn.js +2 -2
- package/esm/nls.messages.zh-tw.js +2 -2
- package/esm/nls.metadata.json +27 -8
- package/esm/vs/base/browser/dom.js +31 -34
- package/esm/vs/base/browser/dom.js.map +1 -1
- package/esm/vs/base/browser/dompurify/dompurify.js +0 -1
- package/esm/vs/base/browser/keyboardEvent.js +3 -3
- package/esm/vs/base/browser/keyboardEvent.js.map +1 -1
- package/esm/vs/base/browser/markdownRenderer.js +5 -2
- package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
- package/esm/vs/base/browser/pixelRatio.js +5 -5
- package/esm/vs/base/browser/pixelRatio.js.map +1 -1
- package/esm/vs/base/browser/trustedTypes.js +1 -1
- package/esm/vs/base/browser/trustedTypes.js.map +1 -1
- package/esm/vs/base/browser/ui/actionbar/actionbar.js +3 -0
- package/esm/vs/base/browser/ui/actionbar/actionbar.js.map +1 -1
- package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +7 -0
- package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js.map +1 -1
- package/esm/vs/base/browser/ui/hover/hoverWidget.css +0 -13
- package/esm/vs/base/browser/ui/inputbox/inputBox.js +7 -0
- package/esm/vs/base/browser/ui/inputbox/inputBox.js.map +1 -1
- package/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css +4 -2
- package/esm/vs/base/browser/ui/list/listView.js +7 -2
- package/esm/vs/base/browser/ui/list/listView.js.map +1 -1
- package/esm/vs/base/browser/ui/selectBox/selectBox.js +4 -0
- package/esm/vs/base/browser/ui/selectBox/selectBox.js.map +1 -1
- package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.css +12 -32
- package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js +8 -18
- package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js.map +1 -1
- package/esm/vs/base/browser/ui/toolbar/toolbar.js +41 -14
- package/esm/vs/base/browser/ui/toolbar/toolbar.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/abstractTree.js +11 -0
- package/esm/vs/base/browser/ui/tree/abstractTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/asyncDataTree.js +1 -0
- package/esm/vs/base/browser/ui/tree/asyncDataTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/dataTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/indexTreeModel.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/objectTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/objectTreeModel.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/tree.js.map +1 -1
- package/esm/vs/base/common/arrays.js +10 -0
- package/esm/vs/base/common/arrays.js.map +1 -1
- package/esm/vs/base/common/async.js +34 -0
- package/esm/vs/base/common/async.js.map +1 -1
- package/esm/vs/base/common/buffer.js +1 -1
- package/esm/vs/base/common/buffer.js.map +1 -1
- package/esm/vs/base/common/cancellation.js.map +1 -1
- package/esm/vs/base/common/codiconsLibrary.js +3 -0
- package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
- package/esm/vs/base/common/collections.js.map +1 -1
- package/esm/vs/base/common/equals.js.map +1 -1
- package/esm/vs/base/common/event.js +32 -15
- package/esm/vs/base/common/event.js.map +1 -1
- package/esm/vs/base/common/filters.js +22 -3
- package/esm/vs/base/common/filters.js.map +1 -1
- package/esm/vs/base/common/hotReload.js +2 -2
- package/esm/vs/base/common/hotReload.js.map +1 -1
- package/esm/vs/base/common/iterator.js +1 -1
- package/esm/vs/base/common/iterator.js.map +1 -1
- package/esm/vs/base/common/keyCodes.js +7 -6
- package/esm/vs/base/common/keyCodes.js.map +1 -1
- package/esm/vs/base/common/linkedList.js.map +1 -1
- package/esm/vs/base/common/map.js.map +1 -1
- package/esm/vs/base/common/marked/marked.js +0 -1
- package/esm/vs/base/common/network.js +26 -1
- package/esm/vs/base/common/network.js.map +1 -1
- package/esm/vs/base/common/normalization.js +19 -6
- package/esm/vs/base/common/normalization.js.map +1 -1
- package/esm/vs/base/common/observableInternal/debugLocation.js +1 -2
- package/esm/vs/base/common/observableInternal/debugLocation.js.map +1 -1
- package/esm/vs/base/common/observableInternal/debugName.js +0 -1
- package/esm/vs/base/common/observableInternal/debugName.js.map +1 -1
- package/esm/vs/base/common/observableInternal/index.js +4 -4
- package/esm/vs/base/common/observableInternal/index.js.map +1 -1
- package/esm/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js +38 -10
- package/esm/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js.map +1 -1
- package/esm/vs/base/common/observableInternal/observables/baseObservable.js +3 -3
- package/esm/vs/base/common/observableInternal/observables/baseObservable.js.map +1 -1
- package/esm/vs/base/common/observableInternal/utils/utils.js +46 -5
- package/esm/vs/base/common/observableInternal/utils/utils.js.map +1 -1
- package/esm/vs/base/common/path.js +1 -0
- package/esm/vs/base/common/path.js.map +1 -1
- package/esm/vs/base/common/strings.js +27 -19
- package/esm/vs/base/common/strings.js.map +1 -1
- package/esm/vs/editor/browser/config/elementSizeObserver.js +5 -5
- package/esm/vs/editor/browser/config/elementSizeObserver.js.map +1 -1
- package/esm/vs/editor/browser/config/fontMeasurements.js.map +1 -1
- package/esm/vs/editor/browser/config/migrateOptions.js +6 -0
- package/esm/vs/editor/browser/config/migrateOptions.js.map +1 -1
- package/esm/vs/editor/browser/config/tabFocus.js +4 -2
- package/esm/vs/editor/browser/config/tabFocus.js.map +1 -1
- package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js +8 -0
- package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js.map +1 -1
- package/esm/vs/editor/browser/coreCommands.js +1 -2
- package/esm/vs/editor/browser/coreCommands.js.map +1 -1
- package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
- package/esm/vs/editor/browser/observableCodeEditor.js +32 -1
- package/esm/vs/editor/browser/observableCodeEditor.js.map +1 -1
- package/esm/vs/editor/browser/services/contribution.js +9 -0
- package/esm/vs/editor/browser/services/contribution.js.map +1 -0
- package/esm/vs/editor/browser/services/editorWorkerService.js +27 -14
- package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
- package/esm/vs/editor/browser/services/openerService.js +5 -1
- package/esm/vs/editor/browser/services/openerService.js.map +1 -1
- package/esm/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
- package/esm/vs/editor/browser/view/domLineBreaksComputer.js.map +1 -1
- package/esm/vs/editor/browser/view/renderingContext.js +1 -1
- package/esm/vs/editor/browser/view/renderingContext.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +10 -3
- package/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +3 -4
- package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/minimap/minimap.js +1 -1
- package/esm/vs/editor/browser/viewParts/minimap/minimap.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +1 -1
- package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +4 -2
- package/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/rulers/rulers.js +1 -3
- package/esm/vs/editor/browser/viewParts/rulers/rulers.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +1 -1
- package/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/viewLines/domReadingContext.js +2 -1
- package/esm/vs/editor/browser/viewParts/viewLines/domReadingContext.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js +6 -18
- package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/whitespace/whitespace.js +0 -7
- package/esm/vs/editor/browser/viewParts/whitespace/whitespace.js.map +1 -1
- package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +7 -2
- package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
- package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +1 -0
- package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js.map +1 -1
- package/esm/vs/editor/common/commands/replaceCommand.js +2 -2
- package/esm/vs/editor/common/commands/replaceCommand.js.map +1 -1
- package/esm/vs/editor/common/config/editorOptions.js +374 -360
- package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
- package/esm/vs/editor/common/core/2d/rect.js +7 -0
- package/esm/vs/editor/common/core/2d/rect.js.map +1 -1
- package/esm/vs/editor/common/core/2d/size.js +20 -0
- package/esm/vs/editor/common/core/2d/size.js.map +1 -0
- package/esm/vs/editor/common/core/editorColorRegistry.js +69 -68
- package/esm/vs/editor/common/core/editorColorRegistry.js.map +1 -1
- package/esm/vs/editor/common/core/ranges/offsetRange.js +9 -0
- package/esm/vs/editor/common/core/ranges/offsetRange.js.map +1 -1
- package/esm/vs/editor/common/cursor/cursorMoveCommands.js +4 -4
- package/esm/vs/editor/common/cursor/cursorMoveCommands.js.map +1 -1
- package/esm/vs/editor/common/editorContextKeys.js +47 -47
- package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
- package/esm/vs/editor/common/languages.js +56 -56
- package/esm/vs/editor/common/languages.js.map +1 -1
- package/esm/vs/editor/common/model/editStack.js +1 -1
- package/esm/vs/editor/common/services/languagesAssociations.js +6 -8
- package/esm/vs/editor/common/services/languagesAssociations.js.map +1 -1
- package/esm/vs/editor/common/standaloneStrings.js +11 -10
- package/esm/vs/editor/common/standaloneStrings.js.map +1 -1
- package/esm/vs/editor/common/textModelEditSource.js +1 -1
- package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
- package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
- package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
- package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
- package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
- package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
- package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
- package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
- package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
- package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
- package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
- package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
- package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
- package/esm/vs/editor/contrib/codelens/browser/codelens.js.map +1 -1
- package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
- package/esm/vs/editor/contrib/codelens/browser/codelensController.js.map +1 -1
- package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
- package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
- package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
- package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
- package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
- package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
- package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
- package/esm/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +14 -0
- package/esm/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js.map +1 -1
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
- package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
- package/esm/vs/editor/contrib/find/browser/findController.js +17 -17
- package/esm/vs/editor/contrib/find/browser/findController.js.map +1 -1
- package/esm/vs/editor/contrib/find/browser/findWidget.js +26 -26
- package/esm/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +1 -1
- package/esm/vs/editor/contrib/folding/browser/folding.js +20 -20
- package/esm/vs/editor/contrib/folding/browser/folding.js.map +1 -1
- package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
- package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
- package/esm/vs/editor/contrib/format/browser/format.js +21 -6
- package/esm/vs/editor/contrib/format/browser/format.js.map +1 -1
- package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
- package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
- package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
- package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
- package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
- package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
- package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
- package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
- package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
- package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
- package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
- package/esm/vs/editor/contrib/hover/browser/contentHoverController.js +5 -10
- package/esm/vs/editor/contrib/hover/browser/contentHoverController.js.map +1 -1
- package/esm/vs/editor/contrib/hover/browser/glyphHoverController.js +11 -6
- package/esm/vs/editor/contrib/hover/browser/glyphHoverController.js.map +1 -1
- package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
- package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
- package/esm/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
- package/esm/vs/editor/contrib/hover/browser/hoverUtils.js +24 -0
- package/esm/vs/editor/contrib/hover/browser/hoverUtils.js.map +1 -1
- package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
- package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
- package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
- package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
- package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +20 -20
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -12
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +18 -16
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
- package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +42 -37
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js +3 -3
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +8 -8
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +54 -43
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +12 -12
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +74 -48
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +8 -36
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +10 -11
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +105 -119
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +8 -36
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/debugVisualization.js +95 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/debugVisualization.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +17 -9
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +415 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js +253 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/flexBoxLayout.js +103 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/flexBoxLayout.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/towersLayout.js +32 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/towersLayout.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +44 -11
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js +181 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js.map +1 -0
- package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
- package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
- package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +32 -31
- package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js.map +1 -1
- package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
- package/esm/vs/editor/contrib/links/browser/links.js +10 -10
- package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
- package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
- package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
- package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
- package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
- package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
- package/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +2 -2
- package/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js.map +1 -1
- package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +18 -13
- package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js.map +1 -1
- package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
- package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
- package/esm/vs/editor/contrib/rename/browser/rename.js +12 -12
- package/esm/vs/editor/contrib/rename/browser/rename.js.map +1 -1
- package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
- package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
- package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
- package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +1 -1
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js.map +1 -1
- package/esm/vs/editor/contrib/suggest/browser/suggest.js +8 -8
- package/esm/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
- package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
- package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
- package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
- package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
- package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
- package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
- package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +29 -29
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js.map +1 -1
- package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
- package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
- package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +4 -4
- package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js.map +1 -1
- package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
- package/esm/vs/editor/editor.all.js +1 -0
- package/esm/vs/editor/editor.all.js.map +1 -1
- package/esm/vs/editor/editor.api.d.ts +9 -5
- package/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js +22 -2
- package/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js.map +1 -1
- package/esm/vs/editor/standalone/browser/services/standaloneWebWorkerService.js +39 -0
- package/esm/vs/editor/standalone/browser/services/standaloneWebWorkerService.js.map +1 -0
- package/esm/vs/editor/standalone/browser/standaloneEditor.js +2 -1
- package/esm/vs/editor/standalone/browser/standaloneEditor.js.map +1 -1
- package/esm/vs/editor/standalone/browser/standaloneServices.js +3 -21
- package/esm/vs/editor/standalone/browser/standaloneServices.js.map +1 -1
- package/esm/vs/editor/standalone/browser/standaloneWebWorker.js +4 -4
- package/esm/vs/editor/standalone/browser/standaloneWebWorker.js.map +1 -1
- package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
- package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
- package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
- package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
- package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +7 -9
- package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js.map +1 -1
- package/esm/vs/platform/actions/browser/toolbar.js +2 -2
- package/esm/vs/platform/actions/common/actions.js +2 -0
- package/esm/vs/platform/actions/common/actions.js.map +1 -1
- package/esm/vs/platform/actions/common/menuService.js +2 -2
- package/esm/vs/platform/configuration/common/configuration.js +5 -4
- package/esm/vs/platform/configuration/common/configuration.js.map +1 -1
- package/esm/vs/platform/configuration/common/configurationModels.js +21 -10
- package/esm/vs/platform/configuration/common/configurationModels.js.map +1 -1
- package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
- package/esm/vs/platform/configuration/common/configurationRegistry.js.map +1 -1
- package/esm/vs/platform/configuration/common/configurations.js.map +1 -1
- package/esm/vs/platform/contextkey/browser/contextKeyService.js +3 -3
- package/esm/vs/platform/contextkey/browser/contextKeyService.js.map +1 -1
- package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
- package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
- package/esm/vs/platform/contextkey/common/scanner.js +5 -5
- package/esm/vs/platform/contextview/browser/contextViewService.js.map +1 -1
- package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
- package/esm/vs/platform/hover/browser/hoverWidget.js +1 -1
- package/esm/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
- package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
- package/esm/vs/platform/list/browser/listService.js +27 -27
- package/esm/vs/platform/list/browser/listService.js.map +1 -1
- package/esm/vs/platform/markers/common/markerService.js +2 -2
- package/esm/vs/platform/markers/common/markers.js +6 -6
- package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +11 -32
- package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
- package/esm/vs/platform/quickinput/browser/media/quickInput.css +9 -3
- package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
- package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
- package/esm/vs/platform/quickinput/browser/quickInputController.js +35 -14
- package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/quickInputList.js +4 -1
- package/esm/vs/platform/quickinput/browser/quickInputList.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js +71 -40
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +21 -8
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js.map +1 -1
- package/esm/vs/platform/telemetry/common/gdprTypings.js.map +1 -1
- package/esm/vs/platform/telemetry/common/telemetry.js.map +1 -1
- package/esm/vs/platform/theme/common/colorUtils.js +2 -2
- package/esm/vs/platform/theme/common/colors/baseColors.js +17 -17
- package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
- package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
- package/esm/vs/platform/theme/common/colors/editorColors.js.map +1 -1
- package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
- package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
- package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
- package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
- package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
- package/esm/vs/platform/theme/common/colors/miscColors.js.map +1 -1
- package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
- package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
- package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
- package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
- package/esm/vs/platform/webWorker/browser/webWorkerDescriptor.js +12 -0
- package/esm/vs/platform/webWorker/browser/webWorkerDescriptor.js.map +1 -0
- package/esm/vs/platform/webWorker/browser/webWorkerService.js +7 -0
- package/esm/vs/platform/webWorker/browser/webWorkerService.js.map +1 -0
- package/esm/vs/{base/browser/webWorkerFactory.js → platform/webWorker/browser/webWorkerServiceImpl.js} +47 -66
- package/esm/vs/platform/webWorker/browser/webWorkerServiceImpl.js.map +1 -0
- package/esm/vs/platform/workspace/common/workspace.js +1 -1
- package/monaco.d.ts +9 -5
- package/package.json +2 -2
- package/esm/vs/base/browser/webWorkerFactory.js.map +0 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +0 -82
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vs/editor/contrib/find/browser/findController.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;;;;;;;;;;;AAEhG,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAmC,iBAAiB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,yBAAyB,EAAoB,MAAM,sCAAsC,CAAC;AAE7P,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAG1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,QAAQ,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3S,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAsD,MAAM,gBAAgB,CAAC;AACtG,OAAO,EAAE,UAAU,EAAmB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,gDAAgD,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAe,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AACvH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yDAAyD,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAE1F,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,0DAA0D,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAA+B,MAAM,gDAAgD,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAExC,MAAM,UAAU,wBAAwB,CAAC,MAAmB,EAAE,gCAAuD,QAAQ,EAAE,wCAAiD,KAAK;IACpL,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACxC,oEAAoE;IAEpE,IAAI,CAAC,6BAA6B,KAAK,QAAQ,IAAI,SAAS,CAAC,eAAe,KAAK,SAAS,CAAC,aAAa,CAAC;WACrG,6BAA6B,KAAK,UAAU,EAAE,CAAC;QAClD,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACzB,MAAM,cAAc,GAAG,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACxF,IAAI,cAAc,IAAI,CAAC,KAAK,KAAK,qCAAqC,CAAC,EAAE,CAAC;gBACzE,OAAO,cAAc,CAAC,IAAI,CAAC;YAC5B,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,GAAG,wBAAwB,EAAE,CAAC;gBACnF,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACrD,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AA6BM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,UAAU;;aAE5B,OAAE,GAAG,+BAAH,AAAkC,CAAC;IAa5D,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,MAAmB;QACpC,OAAO,MAAM,CAAC,eAAe,CAAuB,sBAAoB,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,YACC,MAAmB,EACC,iBAAqC,EACxC,cAA+B,EAC7B,gBAAmC,EAChC,mBAAyC,EAChD,YAA2B;QAE1C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,kBAAkB,GAAG,2BAA2B,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAChF,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAElC,IAAI,CAAC,qBAAqB,GAAG,IAAI,OAAO,CAAO,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAErF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE;YACjD,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE9E,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClB,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,kBAAkB,kCAA0B,KAAK,CAAC;gBAC7F,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,kBAAkB,kCAA0B,KAAK,CAAC;gBAC7F,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,kCAA0B,KAAK,CAAC;gBACzF,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,qBAAqB,kCAA0B,KAAK,CAAC;aACnG,EAAE,KAAK,CAAC,CAAC;YAEV,IAAI,iBAAiB,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC;oBACX,kBAAkB,EAAE,KAAK;oBACzB,6BAA6B,EAAE,MAAM;oBACrC,qCAAqC,EAAE,KAAK;oBAC5C,mCAAmC,EAAE,KAAK;oBAC1C,WAAW,4CAAoC;oBAC/C,aAAa,EAAE,KAAK;oBACpB,iBAAiB,EAAE,KAAK;oBACxB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,4BAAmB,CAAC,IAAI;iBACpD,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC,CAAC;IACL,CAAC;IAEe,OAAO;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,YAAY;QACnB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,CAAC;IACF,CAAC;IAEO,eAAe,CAAC,CAA+B;QACtD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAEvB,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAChC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,CAAC;QACF,CAAC;QACD,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAEO,cAAc,CAAC,CAA+B;QACrD,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,gEAAgD,CAAC;QACxH,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,gEAAgD,CAAC;QAC5H,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,gEAAgD,CAAC;QAC5H,CAAC;QACD,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,gEAAgD,CAAC;QAClI,CAAC;IACF,CAAC;IAEO,cAAc;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAClB,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,kBAAkB,kCAA0B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC7G,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,kBAAkB,kCAA0B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC7G,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,kCAA0B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACvG,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,qBAAqB,kCAA0B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;SACtH,EAAE,KAAK,CAAC,CAAC;IACX,CAAC;IAEM,kBAAkB;QACxB,OAAO,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACvE,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAEM,eAAe;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAClB,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,IAAI;SACjB,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAEM,mBAAmB;QACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7B,CAAC;IACF,CAAC;IAEM,gBAAgB;QACtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7B,CAAC;IACF,CAAC;IAEM,WAAW;QACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7B,CAAC;IACF,CAAC;IAEM,kBAAkB;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7B,CAAC;IACF,CAAC;IAEM,iBAAiB;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACP,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC7B,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC9C,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBACvC,IAAI,SAAS,CAAC,SAAS,KAAK,CAAC,IAAI,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;wBACtF,SAAS,GAAG,SAAS,CAAC,cAAc,CACnC,SAAS,CAAC,aAAa,GAAG,CAAC,EAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,CACtE,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;wBAC1B,OAAO,SAAS,CAAC;oBAClB,CAAC;oBACD,OAAO,IAAI,CAAC;gBACb,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAwB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAExD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;gBACvD,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAEM,eAAe,CAAC,YAAoB;QAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAEM,oBAAoB,CAAC,oBAA6B,KAAK;QAC7D,0BAA0B;IAC3B,CAAC;IAES,KAAK,CAAC,MAAM,CAAC,IAAuB,EAAE,QAA+B;QAC9E,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,iEAAiE;YACjE,OAAO;QACR,CAAC;QAED,MAAM,YAAY,GAAyB;YAC1C,GAAG,QAAQ;YACX,UAAU,EAAE,IAAI;SAChB,CAAC;QAEF,IAAI,IAAI,CAAC,6BAA6B,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACrJ,IAAI,qBAAqB,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACzB,YAAY,CAAC,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACP,YAAY,CAAC,YAAY,GAAG,qBAAqB,CAAC;gBACnD,CAAC;YACF,CAAC;QACF,CAAC;aAAM,IAAI,IAAI,CAAC,6BAA6B,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzF,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACzG,IAAI,qBAAqB,EAAE,CAAC;gBAC3B,YAAY,CAAC,YAAY,GAAG,qBAAqB,CAAC;YACnD,CAAC;QACF,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,IAAI,CAAC,mCAAmC,EAAE,CAAC;YAC5E,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE/D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC9B,gDAAgD;gBAChD,OAAO;YACR,CAAC;YAED,IAAI,qBAAqB,EAAE,CAAC;gBAC3B,YAAY,CAAC,YAAY,GAAG,qBAAqB,CAAC;YACnD,CAAC;QACF,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,kBAAkB,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;YAC/D,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACvC,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3C,YAAY,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACvD,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC/D,YAAY,CAAC,WAAW,GAAG,iBAAiB,CAAC;YAC9C,CAAC;QACF,CAAC;QAED,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAE9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAExC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1E,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,IAAuB,EAAE,QAA+B;QACpE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAEM,eAAe;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,eAAe;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,SAAS,CAAC,KAAa;QAC7B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,OAAO;QACb,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,UAAU;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,0BAA0B,EAAE,EAAE,CAAC;gBAC3D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAA0B,EAAE,2DAA2D,CAAC,CAAC,CAAC;gBACtI,OAAO,KAAK,CAAC;YACd,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,gBAAgB;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,mBAAmB;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,4BAAmB,CAAC,mBAAmB;eAC7D,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;eACvB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,oBAAoB,EAAE,EACjD,CAAC;YACF,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IAEM,mBAAmB,CAAC,IAAY;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,4BAAmB,CAAC,mBAAmB;eAC7D,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;eACvB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,oBAAoB,EAAE,EACjD,CAAC;YACF,4BAA4B;YAC5B,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;;AA5VW,oBAAoB;IAyB9B,WAAA,kBAAkB,CAAA;IAClB,WAAA,eAAe,CAAA;IACf,WAAA,iBAAiB,CAAA;IACjB,WAAA,oBAAoB,CAAA;IACpB,WAAA,aAAa,CAAA;GA7BH,oBAAoB,CA6VhC;;AAEM,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,oBAAoB;IAOvD,YACC,MAAmB,EACmB,mBAAwC,EAC1D,kBAAsC,EACrB,kBAAsC,EACrD,mBAAyC,EAC9C,eAAgC,EAC9B,gBAAmC,EACvC,YAA2B;QAE1C,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;QARlE,wBAAmB,GAAnB,mBAAmB,CAAqB;QAEzC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAO3E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,wBAAwB,GAAG,uBAAuB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACrF,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAChF,CAAC;IAEkB,KAAK,CAAC,MAAM,CAAC,IAAuB,EAAE,QAA+B;QACvF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9C,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,4BAAmB,CAAC,mBAAmB,EAAE,CAAC;YACvE,KAAK,QAAQ;gBACZ,iBAAiB,GAAG,IAAI,CAAC;gBACzB,MAAM;YACP,KAAK,OAAO;gBACX,iBAAiB,GAAG,KAAK,CAAC;gBAC1B,MAAM;YACP,KAAK,WAAW,CAAC,CAAC,CAAC;gBAClB,MAAM,uBAAuB,GAAG,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,eAAe,KAAK,SAAS,CAAC,aAAa,CAAC;gBACrG,iBAAiB,GAAG,uBAAuB,CAAC;gBAC5C,MAAM;YACP,CAAC;YACD;gBACC,MAAM;QACR,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC;QAErE,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,WAAW,mDAA2C,EAAE,CAAC;gBACjE,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,IAAI,CAAC,WAAW,gDAAwC,EAAE,CAAC;gBACrE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC/B,CAAC;QACF,CAAC;IACF,CAAC;IAEe,oBAAoB,CAAC,oBAA6B,KAAK;QACtE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAClD,IAAI,CAAC,OAAQ,CAAC,oBAAoB,EAAE,CAAC;QACtC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,kBAAmB,CAAC,oBAAoB,EAAE,CAAC;QACjD,CAAC;IACF,CAAC;IAEO,iBAAiB;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC1O,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACrH,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,gBAAgB,CAAC,KAAU;QAC1B,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACD,CAAA;AApFY,cAAc;IASxB,WAAA,mBAAmB,CAAA;IACnB,WAAA,kBAAkB,CAAA;IAClB,WAAA,kBAAkB,CAAA;IAClB,WAAA,oBAAoB,CAAA;IACpB,WAAA,eAAe,CAAA;IACf,WAAA,iBAAiB,CAAA;IACjB,WAAA,aAAa,CAAA;GAfH,cAAc,CAoF1B;;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,yBAAyB,CAAC,IAAI,iBAAiB,CAAC;IAC9E,EAAE,EAAE,QAAQ,CAAC,eAAe;IAC5B,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAAiB,EAAE,MAAM,CAAC;IAC/C,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5F,MAAM,EAAE;QACP,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,iDAA6B;QACtC,MAAM,0CAAgC;KACtC;IACD,QAAQ,EAAE;QACT,MAAM,EAAE,MAAM,CAAC,eAAe;QAC9B,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAmD,EAAhD,AAAkD,EAAhD,MAAwD,CAAC,CAAjD,EAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC;QACvE,KAAK,EAAE,CAAC;KACR;CACD,CAAC,CAAC,CAAC;AAEJ,eAAe,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS,EAA2B,EAAE;IAC5H,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC;QACvB,kBAAkB,EAAE,KAAK;QACzB,6BAA6B,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,6BAA6B,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;QAChI,qCAAqC,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,6BAA6B,KAAK,WAAW;QACxH,mCAAmC,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,mBAAmB;QAC5F,WAAW,6CAAqC;QAChD,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,KAAK;QACxB,IAAI,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,IAAI;KAC9C,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG;IAC1B,WAAW,EAAE,mCAAmC;IAChD,IAAI,EAAE,CAAC;YACN,IAAI,EAAE,uCAAuC;YAC7C,MAAM,EAAE;gBACP,UAAU,EAAE;oBACX,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACjC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5B,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACjC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBACpC;aACD;SACD,CAAC;CACO,CAAC;AAEX,MAAM,OAAO,uBAAwB,SAAQ,YAAY;IAExD;QACC,KAAK,CAAC;YACL,EAAE,EAAE,QAAQ,CAAC,iBAAiB;YAC9B,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAAyB,EAAE,qBAAqB,CAAC;YACtE,YAAY,EAAE,SAAS;YACvB,MAAM,EAAE;gBACP,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,CAAC;gBACV,MAAM,0CAAgC;aACtC;YACD,QAAQ,EAAE,kBAAkB;SAC5B,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAA0B;QAC3F,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAyB,IAAI,CAAC,CAAC,CAAC;gBAC7C,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,iBAAiB,EAAE,IAAI,CAAC,aAAa,KAAK,SAAS;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,uCAAuC;gBACvC,SAAS,EAAE,IAAI,CAAC,cAAc;gBAC9B,6CAA6C;gBAC7C,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,6CAA6C;gBAC7C,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,mDAAmD;aACnD,CAAC,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,UAAU,CAAC,KAAK,CAAC;gBACtB,kBAAkB,EAAE,KAAK;gBACzB,6BAA6B,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,4BAAmB,CAAC,6BAA6B,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;gBACrL,qCAAqC,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,6BAA6B,KAAK,WAAW;gBACxH,mCAAmC,EAAE,IAAI;gBACzC,WAAW,6CAAqC;gBAChD,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,IAAI,EAAE,eAAe,IAAI,KAAK;gBACjD,IAAI,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,IAAI;aAC9C,EAAE,QAAQ,CAAC,CAAC;YAEb,UAAU,CAAC,mBAAmB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;CACD;AAED,MAAM,OAAO,4BAA6B,SAAQ,YAAY;IAE7D;QACC,KAAK,CAAC;YACL,EAAE,EAAE,QAAQ,CAAC,sBAAsB;YACnC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAA8B,EAAE,qBAAqB,CAAC;YAC3E,YAAY,EAAE,SAAS;YACvB,MAAM,EAAE;gBACP,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,CAAC;gBACV,GAAG,EAAE;oBACJ,OAAO,EAAE,iDAA6B;iBACtC;gBACD,MAAM,0CAAgC;aACtC;SACD,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB;QAC/D,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,UAAU,CAAC,KAAK,CAAC;gBACtB,kBAAkB,EAAE,KAAK;gBACzB,6BAA6B,EAAE,UAAU;gBACzC,qCAAqC,EAAE,KAAK;gBAC5C,mCAAmC,EAAE,KAAK;gBAC1C,WAAW,4CAAoC;gBAC/C,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,KAAK;gBACxB,IAAI,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,IAAI;aAC9C,CAAC,CAAC;YAEH,UAAU,CAAC,mBAAmB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;CACD;AAED,KAAK,UAAU,eAAe,CAAC,MAAmB,EAAE,IAAa;IAChE,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,GAAY,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;QAClF,IAAI,MAAM,EAAE,CAAC;YACZ,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACjB,MAAM,UAAU,CAAC,KAAK,CAAC;YACtB,kBAAkB,EAAE,KAAK;YACzB,6BAA6B,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,4BAAmB,CAAC,6BAA6B,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;YACrL,qCAAqC,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,6BAA6B,KAAK,WAAW;YACxH,mCAAmC,EAAE,IAAI;YACzC,WAAW,4CAAoC;YAC/C,aAAa,EAAE,IAAI;YACnB,iBAAiB,EAAE,KAAK;YACxB,IAAI,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,IAAI;SAC9C,CAAC,CAAC;QACH,QAAQ,EAAE,CAAC;IACZ,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,IAAI,iBAAiB,CAAC;IAClF,EAAE,EAAE,QAAQ,CAAC,mBAAmB;IAChC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAAqB,EAAE,WAAW,CAAC;IACxD,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,CAAC;YACR,MAAM,EAAE,iBAAiB,CAAC,KAAK;YAC/B,OAAO,qBAAY;YACnB,GAAG,EAAE,EAAE,OAAO,EAAE,iDAA6B,EAAE,SAAS,EAAE,qBAAY,EAAE;YACxE,MAAM,0CAAgC;SACtC,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,0BAA0B,CAAC;YAC/E,OAAO,uBAAe;YACtB,MAAM,0CAAgC;SACtC,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,QAA0B,EAAE,MAAmB,EAAE,IAAS,EAAiB,EAAE;IAC5H,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC,IAAI,iBAAiB,CAAC;IACtF,EAAE,EAAE,QAAQ,CAAC,uBAAuB;IACpC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAAyB,EAAE,eAAe,CAAC;IAChE,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,CAAC;YACR,MAAM,EAAE,iBAAiB,CAAC,KAAK;YAC/B,OAAO,EAAE,6CAAyB;YAClC,GAAG,EAAE,EAAE,OAAO,EAAE,mDAA6B,wBAAe,EAAE,SAAS,EAAE,CAAC,6CAAyB,CAAC,EAAE;YACtG,MAAM,0CAAgC;SACtC,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,0BAA0B,CAAC;YAC/E,OAAO,EAAE,+CAA4B;YACrC,MAAM,0CAAgC;SACtC,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,QAA0B,EAAE,MAAmB,EAAE,IAAS,EAAiB,EAAE;IAChI,OAAO,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IAGtD;QACC,KAAK,CAAC;YACL,EAAE,EAAE,QAAQ,CAAC,mBAAmB;YAChC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAA2B,EAAE,gBAAgB,CAAC;YACnE,YAAY,EAAE,2BAA2B;SACzC,CAAC,CAAC;QANI,0BAAqB,GAAa,EAAE,CAAC;IAO7C,CAAC;IAEM,GAAG,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS;QACpE,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC;QACxD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,mBAAmB,GAAG,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC/D,mBAAmB,CAAC,MAAM,CAAC;gBAC1B,QAAQ,EAAE,QAAQ,CAAC,OAAO;gBAC1B,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,GAA2B,EAAE,+CAA+C,CAAC;aACnG,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,CAAC;QACrE,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAkC,EAAE,6DAA6D,EAAE,YAAY,CAAC,CAAC;QAErJ,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAsB,EAAE;YAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC;YACtD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACtC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa;YAChC,CAAC;iBAAM,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC9C,OAAO,UAAU,GAAG,KAAK,CAAC;YAC3B,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAE,EAAE;YAC/C,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/B,QAAQ;gBACR,QAAQ,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBACvC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC;gBACxD,IAAI,YAAY,EAAE,CAAC;oBAClB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAC3C,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,QAAQ,CAAC,iBAAiB,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAwC,EAAE,wCAAwC,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC;gBAClK,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC,CAAC;QACF,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;YACjD,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC,CAAC;QAEJ,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE;YACzC,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/B,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACP,QAAQ,CAAC,iBAAiB,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAwC,EAAE,wCAAwC,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC;YACnK,CAAC;QACF,CAAC,CAAC,CAAC,CAAC;QAEJ,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC9B,WAAW,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;QAEJ,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;IAEO,gBAAgB,CAAC,MAAmB;QAC3C,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE;YACzC,IAAI,CAAC,qBAAqB,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,MAAmB,EAAE,KAAa;QACxD,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE;YACzC,IAAI,CAAC,qBAAqB,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACxF;oBACC,KAAK;oBACL,OAAO,EAAE;wBACR,WAAW,EAAE,yCAAyC;wBACtD,SAAS,EAAE,gBAAgB;wBAC3B,WAAW,EAAE,IAAI;qBACjB;iBACD;gBACD;oBACC,KAAK;oBACL,OAAO,EAAE;wBACR,WAAW,EAAE,kDAAkD;wBAC/D,aAAa,EAAE;4BACd,KAAK,EAAE,gBAAgB,CAAC,2BAA2B,CAAC;4BACpD,QAAQ,EAAE,iBAAiB,CAAC,IAAI;yBAChC;qBACD;iBACD;aACD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAED,MAAM,OAAgB,wBAAyB,SAAQ,YAAY;IAC3D,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB;QAC/D,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QAED,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChF,IAAI,qBAAqB,EAAE,CAAC;YAC3B,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,UAAU,CAAC,KAAK,CAAC;gBACtB,kBAAkB,EAAE,KAAK;gBACzB,6BAA6B,EAAE,MAAM;gBACrC,qCAAqC,EAAE,KAAK;gBAC5C,mCAAmC,EAAE,KAAK;gBAC1C,WAAW,4CAAoC;gBAC/C,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,KAAK;gBACxB,IAAI,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,IAAI;aAC9C,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,CAAC;IACF,CAAC;CAGD;AAED,MAAM,OAAO,4BAA6B,SAAQ,wBAAwB;IAEzE;QACC,KAAK,CAAC;YACL,EAAE,EAAE,QAAQ,CAAC,4BAA4B;YACzC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAA8B,EAAE,qBAAqB,CAAC;YAC3E,YAAY,EAAE,SAAS;YACvB,MAAM,EAAE;gBACP,MAAM,EAAE,iBAAiB,CAAC,KAAK;gBAC/B,OAAO,EAAE,+CAA2B;gBACpC,MAAM,0CAAgC;aACtC;SACD,CAAC,CAAC;IACJ,CAAC;IAES,IAAI,CAAC,UAAgC;QAC9C,OAAO,UAAU,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC;CACD;AAED,MAAM,OAAO,gCAAiC,SAAQ,wBAAwB;IAE7E;QACC,KAAK,CAAC;YACL,EAAE,EAAE,QAAQ,CAAC,gCAAgC;YAC7C,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAAkC,EAAE,yBAAyB,CAAC;YACnF,YAAY,EAAE,SAAS;YACvB,MAAM,EAAE;gBACP,MAAM,EAAE,iBAAiB,CAAC,KAAK;gBAC/B,OAAO,EAAE,mDAA6B,sBAAa;gBACnD,MAAM,0CAAgC;aACtC;SACD,CAAC,CAAC;IACJ,CAAC;IAES,IAAI,CAAC,UAAgC;QAC9C,OAAO,UAAU,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC;CACD;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,IAAI,iBAAiB,CAAC;IACrF,EAAE,EAAE,QAAQ,CAAC,sBAAsB;IACnC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAAc,EAAE,SAAS,CAAC;IAC/C,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5F,MAAM,EAAE;QACP,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,iDAA6B;QACtC,GAAG,EAAE,EAAE,OAAO,EAAE,gDAA2B,wBAAe,EAAE;QAC5D,MAAM,0CAAgC;KACtC;IACD,QAAQ,EAAE;QACT,MAAM,EAAE,MAAM,CAAC,eAAe;QAC9B,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAsD,EAAnD,AAAqD,EAAnD,SAA8D,CAAC,CAApD,EAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC;QAC1E,KAAK,EAAE,CAAC;KACR;CACD,CAAC,CAAC,CAAC;AAEJ,sBAAsB,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS,EAA2B,EAAE;IACnI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,SAAS,iCAAuB,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;IACzD,qGAAqG;IACrG,kCAAkC;IAClC,MAAM,6BAA6B,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE;WAC7D,gBAAgB,CAAC,eAAe,KAAK,gBAAgB,CAAC,aAAa;WACnE,CAAC,MAAM,CAAC,SAAS,4BAAmB,CAAC,6BAA6B,KAAK,OAAO,CAAC;WAC/E,CAAC,gBAAgB,CAAC;IACtB;;;;;;MAME;IACF,MAAM,WAAW,GAAG,CAAC,gBAAgB,IAAI,6BAA6B,CAAC,CAAC,CAAC;uDACjC,CAAC,4CAAoC,CAAC;IAE9E,OAAO,UAAU,CAAC,KAAK,CAAC;QACvB,kBAAkB,EAAE,IAAI;QACxB,6BAA6B,EAAE,6BAA6B,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;QAChF,qCAAqC,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,6BAA6B,KAAK,WAAW;QACxH,mCAAmC,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,6BAA6B,KAAK,OAAO;QAClH,WAAW,EAAE,WAAW;QACxB,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,KAAK;QACxB,IAAI,EAAE,MAAM,CAAC,SAAS,4BAAmB,CAAC,IAAI;KAC9C,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,0BAA0B,CAAC,oBAAoB,CAAC,EAAE,EAAE,cAAc,gDAAwC,CAAC,CAAC,2DAA2D;AAEvK,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;AAC9C,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;AACnD,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;AAC5C,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;AACnD,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;AAEvD,MAAM,WAAW,GAAG,aAAa,CAAC,kBAAkB,CAAuB,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAErG,qBAAqB,CAAC,IAAI,WAAW,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,sBAAsB;IACnC,YAAY,EAAE,2BAA2B;IACzC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;IACjC,MAAM,EAAE;QACP,MAAM,EAAE,2CAAiC,CAAC;QAC1C,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACtF,OAAO,wBAAgB;QACvB,SAAS,EAAE,CAAC,gDAA6B,CAAC;KAC1C;CACD,CAAC,CAAC,CAAC;AAEJ,qBAAqB,CAAC,IAAI,WAAW,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,0BAA0B;IACvC,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE;IACrC,MAAM,EAAE;QACP,MAAM,EAAE,2CAAiC,CAAC;QAC1C,MAAM,EAAE,iBAAiB,CAAC,KAAK;QAC/B,OAAO,EAAE,6BAA6B,CAAC,OAAO;QAC9C,GAAG,EAAE,6BAA6B,CAAC,GAAG;QACtC,GAAG,EAAE,6BAA6B,CAAC,GAAG;QACtC,KAAK,EAAE,6BAA6B,CAAC,KAAK;KAC1C;CACD,CAAC,CAAC,CAAC;AAEJ,qBAAqB,CAAC,IAAI,WAAW,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,sBAAsB;IACnC,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE;IAClC,MAAM,EAAE;QACP,MAAM,EAAE,2CAAiC,CAAC;QAC1C,MAAM,EAAE,iBAAiB,CAAC,KAAK;QAC/B,OAAO,EAAE,yBAAyB,CAAC,OAAO;QAC1C,GAAG,EAAE,yBAAyB,CAAC,GAAG;QAClC,GAAG,EAAE,yBAAyB,CAAC,GAAG;QAClC,KAAK,EAAE,yBAAyB,CAAC,KAAK;KACtC;CACD,CAAC,CAAC,CAAC;AAEJ,qBAAqB,CAAC,IAAI,WAAW,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,kBAAkB;IAC/B,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE;IAC7B,MAAM,EAAE;QACP,MAAM,EAAE,2CAAiC,CAAC;QAC1C,MAAM,EAAE,iBAAiB,CAAC,KAAK;QAC/B,OAAO,EAAE,qBAAqB,CAAC,OAAO;QACtC,GAAG,EAAE,qBAAqB,CAAC,GAAG;QAC9B,GAAG,EAAE,qBAAqB,CAAC,GAAG;QAC9B,KAAK,EAAE,qBAAqB,CAAC,KAAK;KAClC;CACD,CAAC,CAAC,CAAC;AAEJ,qBAAqB,CAAC,IAAI,WAAW,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,wBAAwB;IACrC,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE;IACnC,MAAM,EAAE;QACP,MAAM,EAAE,2CAAiC,CAAC;QAC1C,MAAM,EAAE,iBAAiB,CAAC,KAAK;QAC/B,OAAO,EAAE,2BAA2B,CAAC,OAAO;QAC5C,GAAG,EAAE,2BAA2B,CAAC,GAAG;QACpC,GAAG,EAAE,2BAA2B,CAAC,GAAG;QACpC,KAAK,EAAE,2BAA2B,CAAC,KAAK;KACxC;CACD,CAAC,CAAC,CAAC;AAEJ,qBAAqB,CAAC,IAAI,WAAW,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,yBAAyB;IACtC,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE;IACpC,MAAM,EAAE;QACP,MAAM,EAAE,2CAAiC,CAAC;QAC1C,MAAM,EAAE,iBAAiB,CAAC,KAAK;QAC/B,OAAO,EAAE,4BAA4B,CAAC,OAAO;QAC7C,GAAG,EAAE,4BAA4B,CAAC,GAAG;QACrC,GAAG,EAAE,4BAA4B,CAAC,GAAG;QACrC,KAAK,EAAE,4BAA4B,CAAC,KAAK;KACzC;CACD,CAAC,CAAC,CAAC;AAEJ,qBAAqB,CAAC,IAAI,WAAW,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,gBAAgB;IAC7B,YAAY,EAAE,2BAA2B;IACzC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;IACzB,MAAM,EAAE;QACP,MAAM,EAAE,2CAAiC,CAAC;QAC1C,MAAM,EAAE,iBAAiB,CAAC,KAAK;QAC/B,OAAO,EAAE,mDAA6B,0BAAiB;KACvD;CACD,CAAC,CAAC,CAAC;AAEJ,qBAAqB,CAAC,IAAI,WAAW,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,gBAAgB;IAC7B,YAAY,EAAE,2BAA2B;IACzC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;IACzB,MAAM,EAAE;QACP,MAAM,EAAE,2CAAiC,CAAC;QAC1C,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,6BAA6B,CAAC;QAClF,OAAO,uBAAe;KACtB;CACD,CAAC,CAAC,CAAC;AAEJ,qBAAqB,CAAC,IAAI,WAAW,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,gBAAgB;IAC7B,YAAY,EAAE,2BAA2B;IACzC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE;IAC5B,MAAM,EAAE;QACP,MAAM,EAAE,2CAAiC,CAAC;QAC1C,MAAM,EAAE,iBAAiB,CAAC,KAAK;QAC/B,OAAO,EAAE,gDAA2B,wBAAgB;KACpD;CACD,CAAC,CAAC,CAAC;AAEJ,qBAAqB,CAAC,IAAI,WAAW,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,gBAAgB;IAC7B,YAAY,EAAE,2BAA2B;IACzC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE;IAC5B,MAAM,EAAE;QACP,MAAM,EAAE,2CAAiC,CAAC;QAC1C,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,6BAA6B,CAAC;QAClF,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE;YACJ,OAAO,EAAE,iDAA8B;SACvC;KACD;CACD,CAAC,CAAC,CAAC;AAEJ,qBAAqB,CAAC,IAAI,WAAW,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,sBAAsB;IACnC,YAAY,EAAE,2BAA2B;IACzC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE;IAClC,MAAM,EAAE;QACP,MAAM,EAAE,2CAAiC,CAAC;QAC1C,MAAM,EAAE,iBAAiB,CAAC,KAAK;QAC/B,OAAO,EAAE,4CAA0B;KACnC;CACD,CAAC,CAAC,CAAC","file":"findController.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 { Delayer } from '../../../../base/common/async.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { Disposable, DisposableStore } from '../../../../base/common/lifecycle.js';\nimport * as strings from '../../../../base/common/strings.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorCommand, EditorContributionInstantiation, MultiEditorAction, registerEditorAction, registerEditorCommand, registerEditorContribution, registerMultiEditorAction, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { overviewRulerRangeHighlight } from '../../../common/core/editorColorRegistry.js';\nimport { IRange } from '../../../common/core/range.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { OverviewRulerLane } from '../../../common/model.js';\nimport { CONTEXT_FIND_INPUT_FOCUSED, CONTEXT_FIND_WIDGET_VISIBLE, CONTEXT_REPLACE_INPUT_FOCUSED, FindModelBoundToEditorModel, FIND_IDS, ToggleCaseSensitiveKeybinding, TogglePreserveCaseKeybinding, ToggleRegexKeybinding, ToggleSearchScopeKeybinding, ToggleWholeWordKeybinding } from './findModel.js';\nimport { FindOptionsWidget } from './findOptionsWidget.js';\nimport { FindReplaceState, FindReplaceStateChangedEvent, INewFindReplaceState } from './findState.js';\nimport { FindWidget, IFindController } from './findWidget.js';\nimport * as nls from '../../../../nls.js';\nimport { MenuId } from '../../../../platform/actions/common/actions.js';\nimport { IClipboardService } from '../../../../platform/clipboard/common/clipboardService.js';\nimport { ContextKeyExpr, IContextKey, IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IContextViewService } from '../../../../platform/contextview/browser/contextView.js';\nimport { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { INotificationService, Severity } from '../../../../platform/notification/common/notification.js';\nimport { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';\nimport { IStorageService, StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js';\nimport { themeColorFromId } from '../../../../platform/theme/common/themeService.js';\nimport { Selection } from '../../../common/core/selection.js';\nimport { IHoverService } from '../../../../platform/hover/browser/hover.js';\nimport { FindWidgetSearchHistory } from './findWidgetSearchHistory.js';\nimport { ReplaceWidgetHistory } from './replaceWidgetHistory.js';\n\nconst SEARCH_STRING_MAX_LENGTH = 524288;\n\nexport function getSelectionSearchString(editor: ICodeEditor, seedSearchStringFromSelection: 'single' | 'multiple' = 'single', seedSearchStringFromNonEmptySelection: boolean = false): string | null {\n\tif (!editor.hasModel()) {\n\t\treturn null;\n\t}\n\n\tconst selection = editor.getSelection();\n\t// if selection spans multiple lines, default search string to empty\n\n\tif ((seedSearchStringFromSelection === 'single' && selection.startLineNumber === selection.endLineNumber)\n\t\t|| seedSearchStringFromSelection === 'multiple') {\n\t\tif (selection.isEmpty()) {\n\t\t\tconst wordAtPosition = editor.getConfiguredWordAtPosition(selection.getStartPosition());\n\t\t\tif (wordAtPosition && (false === seedSearchStringFromNonEmptySelection)) {\n\t\t\t\treturn wordAtPosition.word;\n\t\t\t}\n\t\t} else {\n\t\t\tif (editor.getModel().getValueLengthInRange(selection) < SEARCH_STRING_MAX_LENGTH) {\n\t\t\t\treturn editor.getModel().getValueInRange(selection);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport const enum FindStartFocusAction {\n\tNoFocusChange,\n\tFocusFindInput,\n\tFocusReplaceInput\n}\n\nexport interface IFindStartOptions {\n\tforceRevealReplace: boolean;\n\tseedSearchStringFromSelection: 'none' | 'single' | 'multiple';\n\tseedSearchStringFromNonEmptySelection: boolean;\n\tseedSearchStringFromGlobalClipboard: boolean;\n\tshouldFocus: FindStartFocusAction;\n\tshouldAnimate: boolean;\n\tupdateSearchScope: boolean;\n\tloop: boolean;\n}\n\nexport interface IFindStartArguments {\n\tsearchString?: string;\n\treplaceString?: string;\n\tisRegex?: boolean;\n\tmatchWholeWord?: boolean;\n\tisCaseSensitive?: boolean;\n\tpreserveCase?: boolean;\n\tfindInSelection?: boolean;\n}\n\nexport class CommonFindController extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.findController';\n\n\tprotected _editor: ICodeEditor;\n\tprivate readonly _findWidgetVisible: IContextKey<boolean>;\n\tprotected _state: FindReplaceState;\n\tprotected _updateHistoryDelayer: Delayer<void>;\n\tprivate _model: FindModelBoundToEditorModel | null;\n\tprotected readonly _storageService: IStorageService;\n\tprivate readonly _clipboardService: IClipboardService;\n\tprotected readonly _contextKeyService: IContextKeyService;\n\tprotected readonly _notificationService: INotificationService;\n\tprotected readonly _hoverService: IHoverService;\n\n\tget editor() {\n\t\treturn this._editor;\n\t}\n\n\tpublic static get(editor: ICodeEditor): CommonFindController | null {\n\t\treturn editor.getContribution<CommonFindController>(CommonFindController.ID);\n\t}\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@IContextKeyService contextKeyService: IContextKeyService,\n\t\t@IStorageService storageService: IStorageService,\n\t\t@IClipboardService clipboardService: IClipboardService,\n\t\t@INotificationService notificationService: INotificationService,\n\t\t@IHoverService hoverService: IHoverService\n\t) {\n\t\tsuper();\n\t\tthis._editor = editor;\n\t\tthis._findWidgetVisible = CONTEXT_FIND_WIDGET_VISIBLE.bindTo(contextKeyService);\n\t\tthis._contextKeyService = contextKeyService;\n\t\tthis._storageService = storageService;\n\t\tthis._clipboardService = clipboardService;\n\t\tthis._notificationService = notificationService;\n\t\tthis._hoverService = hoverService;\n\n\t\tthis._updateHistoryDelayer = new Delayer<void>(500);\n\t\tthis._state = this._register(new FindReplaceState());\n\t\tthis.loadQueryState();\n\t\tthis._register(this._state.onFindReplaceStateChange((e) => this._onStateChanged(e)));\n\n\t\tthis._model = null;\n\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tconst shouldRestartFind = (this._editor.getModel() && this._state.isRevealed);\n\n\t\t\tthis.disposeModel();\n\n\t\t\tthis._state.change({\n\t\t\t\tsearchScope: null,\n\t\t\t\tmatchCase: this._storageService.getBoolean('editor.matchCase', StorageScope.WORKSPACE, false),\n\t\t\t\twholeWord: this._storageService.getBoolean('editor.wholeWord', StorageScope.WORKSPACE, false),\n\t\t\t\tisRegex: this._storageService.getBoolean('editor.isRegex', StorageScope.WORKSPACE, false),\n\t\t\t\tpreserveCase: this._storageService.getBoolean('editor.preserveCase', StorageScope.WORKSPACE, false)\n\t\t\t}, false);\n\n\t\t\tif (shouldRestartFind) {\n\t\t\t\tthis._start({\n\t\t\t\t\tforceRevealReplace: false,\n\t\t\t\t\tseedSearchStringFromSelection: 'none',\n\t\t\t\t\tseedSearchStringFromNonEmptySelection: false,\n\t\t\t\t\tseedSearchStringFromGlobalClipboard: false,\n\t\t\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\t\t\tshouldAnimate: false,\n\t\t\t\t\tupdateSearchScope: false,\n\t\t\t\t\tloop: this._editor.getOption(EditorOption.find).loop\n\t\t\t\t});\n\t\t\t}\n\t\t}));\n\t}\n\n\tpublic override dispose(): void {\n\t\tthis.disposeModel();\n\t\tsuper.dispose();\n\t}\n\n\tprivate disposeModel(): void {\n\t\tif (this._model) {\n\t\t\tthis._model.dispose();\n\t\t\tthis._model = null;\n\t\t}\n\t}\n\n\tprivate _onStateChanged(e: FindReplaceStateChangedEvent): void {\n\t\tthis.saveQueryState(e);\n\n\t\tif (e.isRevealed) {\n\t\t\tif (this._state.isRevealed) {\n\t\t\t\tthis._findWidgetVisible.set(true);\n\t\t\t} else {\n\t\t\t\tthis._findWidgetVisible.reset();\n\t\t\t\tthis.disposeModel();\n\t\t\t}\n\t\t}\n\t\tif (e.searchString) {\n\t\t\tthis.setGlobalBufferTerm(this._state.searchString);\n\t\t}\n\t}\n\n\tprivate saveQueryState(e: FindReplaceStateChangedEvent) {\n\t\tif (e.isRegex) {\n\t\t\tthis._storageService.store('editor.isRegex', this._state.actualIsRegex, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t\tif (e.wholeWord) {\n\t\t\tthis._storageService.store('editor.wholeWord', this._state.actualWholeWord, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t\tif (e.matchCase) {\n\t\t\tthis._storageService.store('editor.matchCase', this._state.actualMatchCase, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t\tif (e.preserveCase) {\n\t\t\tthis._storageService.store('editor.preserveCase', this._state.actualPreserveCase, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t}\n\n\tprivate loadQueryState() {\n\t\tthis._state.change({\n\t\t\tmatchCase: this._storageService.getBoolean('editor.matchCase', StorageScope.WORKSPACE, this._state.matchCase),\n\t\t\twholeWord: this._storageService.getBoolean('editor.wholeWord', StorageScope.WORKSPACE, this._state.wholeWord),\n\t\t\tisRegex: this._storageService.getBoolean('editor.isRegex', StorageScope.WORKSPACE, this._state.isRegex),\n\t\t\tpreserveCase: this._storageService.getBoolean('editor.preserveCase', StorageScope.WORKSPACE, this._state.preserveCase)\n\t\t}, false);\n\t}\n\n\tpublic isFindInputFocused(): boolean {\n\t\treturn !!CONTEXT_FIND_INPUT_FOCUSED.getValue(this._contextKeyService);\n\t}\n\n\tpublic getState(): FindReplaceState {\n\t\treturn this._state;\n\t}\n\n\tpublic closeFindWidget(): void {\n\t\tthis._state.change({\n\t\t\tisRevealed: false,\n\t\t\tsearchScope: null\n\t\t}, false);\n\t\tthis._editor.focus();\n\t}\n\n\tpublic toggleCaseSensitive(): void {\n\t\tthis._state.change({ matchCase: !this._state.matchCase }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic toggleWholeWords(): void {\n\t\tthis._state.change({ wholeWord: !this._state.wholeWord }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic toggleRegex(): void {\n\t\tthis._state.change({ isRegex: !this._state.isRegex }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic togglePreserveCase(): void {\n\t\tthis._state.change({ preserveCase: !this._state.preserveCase }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic toggleSearchScope(): void {\n\t\tif (this._state.searchScope) {\n\t\t\tthis._state.change({ searchScope: null }, true);\n\t\t} else {\n\t\t\tif (this._editor.hasModel()) {\n\t\t\t\tlet selections = this._editor.getSelections();\n\t\t\t\tselections = selections.map(selection => {\n\t\t\t\t\tif (selection.endColumn === 1 && selection.endLineNumber > selection.startLineNumber) {\n\t\t\t\t\t\tselection = selection.setEndPosition(\n\t\t\t\t\t\t\tselection.endLineNumber - 1,\n\t\t\t\t\t\t\tthis._editor.getModel()!.getLineMaxColumn(selection.endLineNumber - 1)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (!selection.isEmpty()) {\n\t\t\t\t\t\treturn selection;\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}).filter((element): element is Selection => !!element);\n\n\t\t\t\tif (selections.length) {\n\t\t\t\t\tthis._state.change({ searchScope: selections }, true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic setSearchString(searchString: string): void {\n\t\tif (this._state.isRegex) {\n\t\t\tsearchString = strings.escapeRegExpCharacters(searchString);\n\t\t}\n\t\tthis._state.change({ searchString: searchString }, false);\n\t}\n\n\tpublic highlightFindOptions(ignoreWhenVisible: boolean = false): void {\n\t\t// overwritten in subclass\n\t}\n\n\tprotected async _start(opts: IFindStartOptions, newState?: INewFindReplaceState): Promise<void> {\n\t\tthis.disposeModel();\n\n\t\tif (!this._editor.hasModel()) {\n\t\t\t// cannot do anything with an editor that doesn't have a model...\n\t\t\treturn;\n\t\t}\n\n\t\tconst stateChanges: INewFindReplaceState = {\n\t\t\t...newState,\n\t\t\tisRevealed: true\n\t\t};\n\n\t\tif (opts.seedSearchStringFromSelection === 'single') {\n\t\t\tconst selectionSearchString = getSelectionSearchString(this._editor, opts.seedSearchStringFromSelection, opts.seedSearchStringFromNonEmptySelection);\n\t\t\tif (selectionSearchString) {\n\t\t\t\tif (this._state.isRegex) {\n\t\t\t\t\tstateChanges.searchString = strings.escapeRegExpCharacters(selectionSearchString);\n\t\t\t\t} else {\n\t\t\t\t\tstateChanges.searchString = selectionSearchString;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (opts.seedSearchStringFromSelection === 'multiple' && !opts.updateSearchScope) {\n\t\t\tconst selectionSearchString = getSelectionSearchString(this._editor, opts.seedSearchStringFromSelection);\n\t\t\tif (selectionSearchString) {\n\t\t\t\tstateChanges.searchString = selectionSearchString;\n\t\t\t}\n\t\t}\n\n\t\tif (!stateChanges.searchString && opts.seedSearchStringFromGlobalClipboard) {\n\t\t\tconst selectionSearchString = await this.getGlobalBufferTerm();\n\n\t\t\tif (!this._editor.hasModel()) {\n\t\t\t\t// the editor has lost its model in the meantime\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (selectionSearchString) {\n\t\t\t\tstateChanges.searchString = selectionSearchString;\n\t\t\t}\n\t\t}\n\n\t\t// Overwrite isReplaceRevealed\n\t\tif (opts.forceRevealReplace || stateChanges.isReplaceRevealed) {\n\t\t\tstateChanges.isReplaceRevealed = true;\n\t\t} else if (!this._findWidgetVisible.get()) {\n\t\t\tstateChanges.isReplaceRevealed = false;\n\t\t}\n\n\t\tif (opts.updateSearchScope) {\n\t\t\tconst currentSelections = this._editor.getSelections();\n\t\t\tif (currentSelections.some(selection => !selection.isEmpty())) {\n\t\t\t\tstateChanges.searchScope = currentSelections;\n\t\t\t}\n\t\t}\n\n\t\tstateChanges.loop = opts.loop;\n\n\t\tthis._state.change(stateChanges, false);\n\n\t\tif (!this._model) {\n\t\t\tthis._model = new FindModelBoundToEditorModel(this._editor, this._state);\n\t\t}\n\t}\n\n\tpublic start(opts: IFindStartOptions, newState?: INewFindReplaceState): Promise<void> {\n\t\treturn this._start(opts, newState);\n\t}\n\n\tpublic moveToNextMatch(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.moveToNextMatch();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic moveToPrevMatch(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.moveToPrevMatch();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic goToMatch(index: number): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.moveToMatch(index);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic replace(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.replace();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic replaceAll(): boolean {\n\t\tif (this._model) {\n\t\t\tif (this._editor.getModel()?.isTooLargeForHeapOperation()) {\n\t\t\t\tthis._notificationService.warn(nls.localize('too.large.for.replaceall', \"The file is too large to perform a replace all operation.\"));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis._model.replaceAll();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic selectAllMatches(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.selectAllMatches();\n\t\t\tthis._editor.focus();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic async getGlobalBufferTerm(): Promise<string> {\n\t\tif (this._editor.getOption(EditorOption.find).globalFindClipboard\n\t\t\t&& this._editor.hasModel()\n\t\t\t&& !this._editor.getModel().isTooLargeForSyncing()\n\t\t) {\n\t\t\treturn this._clipboardService.readFindText();\n\t\t}\n\t\treturn '';\n\t}\n\n\tpublic setGlobalBufferTerm(text: string): void {\n\t\tif (this._editor.getOption(EditorOption.find).globalFindClipboard\n\t\t\t&& this._editor.hasModel()\n\t\t\t&& !this._editor.getModel().isTooLargeForSyncing()\n\t\t) {\n\t\t\t// intentionally not awaited\n\t\t\tthis._clipboardService.writeFindText(text);\n\t\t}\n\t}\n}\n\nexport class FindController extends CommonFindController implements IFindController {\n\n\tprivate _widget: FindWidget | null;\n\tprivate _findOptionsWidget: FindOptionsWidget | null;\n\tprivate _findWidgetSearchHistory: FindWidgetSearchHistory;\n\tprivate _replaceWidgetHistory: ReplaceWidgetHistory;\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@IContextViewService private readonly _contextViewService: IContextViewService,\n\t\t@IContextKeyService _contextKeyService: IContextKeyService,\n\t\t@IKeybindingService private readonly _keybindingService: IKeybindingService,\n\t\t@INotificationService notificationService: INotificationService,\n\t\t@IStorageService _storageService: IStorageService,\n\t\t@IClipboardService clipboardService: IClipboardService,\n\t\t@IHoverService hoverService: IHoverService,\n\t) {\n\t\tsuper(editor, _contextKeyService, _storageService, clipboardService, notificationService, hoverService);\n\t\tthis._widget = null;\n\t\tthis._findOptionsWidget = null;\n\t\tthis._findWidgetSearchHistory = FindWidgetSearchHistory.getOrCreate(_storageService);\n\t\tthis._replaceWidgetHistory = ReplaceWidgetHistory.getOrCreate(_storageService);\n\t}\n\n\tprotected override async _start(opts: IFindStartOptions, newState?: INewFindReplaceState): Promise<void> {\n\t\tif (!this._widget) {\n\t\t\tthis._createFindWidget();\n\t\t}\n\n\t\tconst selection = this._editor.getSelection();\n\t\tlet updateSearchScope = false;\n\n\t\tswitch (this._editor.getOption(EditorOption.find).autoFindInSelection) {\n\t\t\tcase 'always':\n\t\t\t\tupdateSearchScope = true;\n\t\t\t\tbreak;\n\t\t\tcase 'never':\n\t\t\t\tupdateSearchScope = false;\n\t\t\t\tbreak;\n\t\t\tcase 'multiline': {\n\t\t\t\tconst isSelectionMultipleLine = !!selection && selection.startLineNumber !== selection.endLineNumber;\n\t\t\t\tupdateSearchScope = isSelectionMultipleLine;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\topts.updateSearchScope = opts.updateSearchScope || updateSearchScope;\n\n\t\tawait super._start(opts, newState);\n\n\t\tif (this._widget) {\n\t\t\tif (opts.shouldFocus === FindStartFocusAction.FocusReplaceInput) {\n\t\t\t\tthis._widget.focusReplaceInput();\n\t\t\t} else if (opts.shouldFocus === FindStartFocusAction.FocusFindInput) {\n\t\t\t\tthis._widget.focusFindInput();\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override highlightFindOptions(ignoreWhenVisible: boolean = false): void {\n\t\tif (!this._widget) {\n\t\t\tthis._createFindWidget();\n\t\t}\n\t\tif (this._state.isRevealed && !ignoreWhenVisible) {\n\t\t\tthis._widget!.highlightFindOptions();\n\t\t} else {\n\t\t\tthis._findOptionsWidget!.highlightFindOptions();\n\t\t}\n\t}\n\n\tprivate _createFindWidget() {\n\t\tthis._widget = this._register(new FindWidget(this._editor, this, this._state, this._contextViewService, this._keybindingService, this._contextKeyService, this._hoverService, this._findWidgetSearchHistory, this._replaceWidgetHistory));\n\t\tthis._findOptionsWidget = this._register(new FindOptionsWidget(this._editor, this._state, this._keybindingService));\n\t}\n\n\tsaveViewState(): any {\n\t\treturn this._widget?.getViewState();\n\t}\n\n\trestoreViewState(state: any): void {\n\t\tthis._widget?.setViewState(state);\n\t}\n}\n\nexport const StartFindAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.StartFindAction,\n\tlabel: nls.localize2('startFindAction', \"Find\"),\n\tprecondition: ContextKeyExpr.or(EditorContextKeys.focus, ContextKeyExpr.has('editorIsOpen')),\n\tkbOpts: {\n\t\tkbExpr: null,\n\t\tprimary: KeyMod.CtrlCmd | KeyCode.KeyF,\n\t\tweight: KeybindingWeight.EditorContrib\n\t},\n\tmenuOpts: {\n\t\tmenuId: MenuId.MenubarEditMenu,\n\t\tgroup: '3_find',\n\t\ttitle: nls.localize({ key: 'miFind', comment: ['&& denotes a mnemonic'] }, \"&&Find\"),\n\t\torder: 1\n\t}\n}));\n\nStartFindAction.addImplementation(0, (accessor: ServicesAccessor, editor: ICodeEditor, args: any): boolean | Promise<void> => {\n\tconst controller = CommonFindController.get(editor);\n\tif (!controller) {\n\t\treturn false;\n\t}\n\treturn controller.start({\n\t\tforceRevealReplace: false,\n\t\tseedSearchStringFromSelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never' ? 'single' : 'none',\n\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\tseedSearchStringFromGlobalClipboard: editor.getOption(EditorOption.find).globalFindClipboard,\n\t\tshouldFocus: FindStartFocusAction.FocusFindInput,\n\t\tshouldAnimate: true,\n\t\tupdateSearchScope: false,\n\t\tloop: editor.getOption(EditorOption.find).loop\n\t});\n});\n\nconst findArgDescription = {\n\tdescription: 'Open a new In-Editor Find Widget.',\n\targs: [{\n\t\tname: 'Open a new In-Editor Find Widget args',\n\t\tschema: {\n\t\t\tproperties: {\n\t\t\t\tsearchString: { type: 'string' },\n\t\t\t\treplaceString: { type: 'string' },\n\t\t\t\tisRegex: { type: 'boolean' },\n\t\t\t\tmatchWholeWord: { type: 'boolean' },\n\t\t\t\tisCaseSensitive: { type: 'boolean' },\n\t\t\t\tpreserveCase: { type: 'boolean' },\n\t\t\t\tfindInSelection: { type: 'boolean' },\n\t\t\t}\n\t\t}\n\t}]\n} as const;\n\nexport class StartFindWithArgsAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.StartFindWithArgs,\n\t\t\tlabel: nls.localize2('startFindWithArgsAction', \"Find with Arguments\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: null,\n\t\t\t\tprimary: 0,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t},\n\t\t\tmetadata: findArgDescription\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args?: IFindStartArguments): Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (controller) {\n\t\t\tconst newState: INewFindReplaceState = args ? {\n\t\t\t\tsearchString: args.searchString,\n\t\t\t\treplaceString: args.replaceString,\n\t\t\t\tisReplaceRevealed: args.replaceString !== undefined,\n\t\t\t\tisRegex: args.isRegex,\n\t\t\t\t// isRegexOverride: args.regexOverride,\n\t\t\t\twholeWord: args.matchWholeWord,\n\t\t\t\t// wholeWordOverride: args.wholeWordOverride,\n\t\t\t\tmatchCase: args.isCaseSensitive,\n\t\t\t\t// matchCaseOverride: args.matchCaseOverride,\n\t\t\t\tpreserveCase: args.preserveCase,\n\t\t\t\t// preserveCaseOverride: args.preserveCaseOverride,\n\t\t\t} : {};\n\n\t\t\tawait controller.start({\n\t\t\t\tforceRevealReplace: false,\n\t\t\t\tseedSearchStringFromSelection: (controller.getState().searchString.length === 0) && editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never' ? 'single' : 'none',\n\t\t\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\t\t\tseedSearchStringFromGlobalClipboard: true,\n\t\t\t\tshouldFocus: FindStartFocusAction.FocusFindInput,\n\t\t\t\tshouldAnimate: true,\n\t\t\t\tupdateSearchScope: args?.findInSelection || false,\n\t\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t\t}, newState);\n\n\t\t\tcontroller.setGlobalBufferTerm(controller.getState().searchString);\n\t\t}\n\t}\n}\n\nexport class StartFindWithSelectionAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.StartFindWithSelection,\n\t\t\tlabel: nls.localize2('startFindWithSelectionAction', \"Find with Selection\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: null,\n\t\t\t\tprimary: 0,\n\t\t\t\tmac: {\n\t\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.KeyE,\n\t\t\t\t},\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (controller) {\n\t\t\tawait controller.start({\n\t\t\t\tforceRevealReplace: false,\n\t\t\t\tseedSearchStringFromSelection: 'multiple',\n\t\t\t\tseedSearchStringFromNonEmptySelection: false,\n\t\t\t\tseedSearchStringFromGlobalClipboard: false,\n\t\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\t\tshouldAnimate: true,\n\t\t\t\tupdateSearchScope: false,\n\t\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t\t});\n\n\t\t\tcontroller.setGlobalBufferTerm(controller.getState().searchString);\n\t\t}\n\t}\n}\n\nasync function matchFindAction(editor: ICodeEditor, next: boolean): Promise<void> {\n\tconst controller = CommonFindController.get(editor);\n\tif (!controller) {\n\t\treturn;\n\t}\n\n\tconst runMatch = (): boolean => {\n\t\tconst result = next ? controller.moveToNextMatch() : controller.moveToPrevMatch();\n\t\tif (result) {\n\t\t\tcontroller.editor.pushUndoStop();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\n\tif (!runMatch()) {\n\t\tawait controller.start({\n\t\t\tforceRevealReplace: false,\n\t\t\tseedSearchStringFromSelection: (controller.getState().searchString.length === 0) && editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never' ? 'single' : 'none',\n\t\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\t\tseedSearchStringFromGlobalClipboard: true,\n\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\tshouldAnimate: true,\n\t\t\tupdateSearchScope: false,\n\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t});\n\t\trunMatch();\n\t}\n}\n\nexport const NextMatchFindAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.NextMatchFindAction,\n\tlabel: nls.localize2('findNextMatchAction', \"Find Next\"),\n\tprecondition: undefined,\n\tkbOpts: [{\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyCode.F3,\n\t\tmac: { primary: KeyMod.CtrlCmd | KeyCode.KeyG, secondary: [KeyCode.F3] },\n\t\tweight: KeybindingWeight.EditorContrib\n\t}, {\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_FIND_INPUT_FOCUSED),\n\t\tprimary: KeyCode.Enter,\n\t\tweight: KeybindingWeight.EditorContrib\n\t}]\n}));\n\nNextMatchFindAction.addImplementation(0, async (accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> => {\n\treturn matchFindAction(editor, true);\n});\n\n\nexport const PreviousMatchFindAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.PreviousMatchFindAction,\n\tlabel: nls.localize2('findPreviousMatchAction', \"Find Previous\"),\n\tprecondition: undefined,\n\tkbOpts: [{\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.Shift | KeyCode.F3,\n\t\tmac: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyG, secondary: [KeyMod.Shift | KeyCode.F3] },\n\t\tweight: KeybindingWeight.EditorContrib\n\t}, {\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_FIND_INPUT_FOCUSED),\n\t\tprimary: KeyMod.Shift | KeyCode.Enter,\n\t\tweight: KeybindingWeight.EditorContrib\n\t}]\n}));\n\nPreviousMatchFindAction.addImplementation(0, async (accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> => {\n\treturn matchFindAction(editor, false);\n});\n\nexport class MoveToMatchFindAction extends EditorAction {\n\n\tprivate _highlightDecorations: string[] = [];\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.GoToMatchFindAction,\n\t\t\tlabel: nls.localize2('findMatchAction.goToMatch', \"Go to Match...\"),\n\t\t\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): void | Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (!controller) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst matchesCount = controller.getState().matchesCount;\n\t\tif (matchesCount < 1) {\n\t\t\tconst notificationService = accessor.get(INotificationService);\n\t\t\tnotificationService.notify({\n\t\t\t\tseverity: Severity.Warning,\n\t\t\t\tmessage: nls.localize('findMatchAction.noResults', \"No matches. Try searching for something else.\")\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst quickInputService = accessor.get(IQuickInputService);\n\t\tconst disposables = new DisposableStore();\n\t\tconst inputBox = disposables.add(quickInputService.createInputBox());\n\t\tinputBox.placeholder = nls.localize('findMatchAction.inputPlaceHolder', \"Type a number to go to a specific match (between 1 and {0})\", matchesCount);\n\n\t\tconst toFindMatchIndex = (value: string): number | undefined => {\n\t\t\tconst index = parseInt(value);\n\t\t\tif (isNaN(index)) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst matchCount = controller.getState().matchesCount;\n\t\t\tif (index > 0 && index <= matchCount) {\n\t\t\t\treturn index - 1; // zero based\n\t\t\t} else if (index < 0 && index >= -matchCount) {\n\t\t\t\treturn matchCount + index;\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t};\n\n\t\tconst updatePickerAndEditor = (value: string) => {\n\t\t\tconst index = toFindMatchIndex(value);\n\t\t\tif (typeof index === 'number') {\n\t\t\t\t// valid\n\t\t\t\tinputBox.validationMessage = undefined;\n\t\t\t\tcontroller.goToMatch(index);\n\t\t\t\tconst currentMatch = controller.getState().currentMatch;\n\t\t\t\tif (currentMatch) {\n\t\t\t\t\tthis.addDecorations(editor, currentMatch);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tinputBox.validationMessage = nls.localize('findMatchAction.inputValidationMessage', \"Please type a number between 1 and {0}\", controller.getState().matchesCount);\n\t\t\t\tthis.clearDecorations(editor);\n\t\t\t}\n\t\t};\n\t\tdisposables.add(inputBox.onDidChangeValue(value => {\n\t\t\tupdatePickerAndEditor(value);\n\t\t}));\n\n\t\tdisposables.add(inputBox.onDidAccept(() => {\n\t\t\tconst index = toFindMatchIndex(inputBox.value);\n\t\t\tif (typeof index === 'number') {\n\t\t\t\tcontroller.goToMatch(index);\n\t\t\t\tinputBox.hide();\n\t\t\t} else {\n\t\t\t\tinputBox.validationMessage = nls.localize('findMatchAction.inputValidationMessage', \"Please type a number between 1 and {0}\", controller.getState().matchesCount);\n\t\t\t}\n\t\t}));\n\n\t\tdisposables.add(inputBox.onDidHide(() => {\n\t\t\tthis.clearDecorations(editor);\n\t\t\tdisposables.dispose();\n\t\t}));\n\n\t\tinputBox.show();\n\t}\n\n\tprivate clearDecorations(editor: ICodeEditor): void {\n\t\teditor.changeDecorations(changeAccessor => {\n\t\t\tthis._highlightDecorations = changeAccessor.deltaDecorations(this._highlightDecorations, []);\n\t\t});\n\t}\n\n\tprivate addDecorations(editor: ICodeEditor, range: IRange): void {\n\t\teditor.changeDecorations(changeAccessor => {\n\t\t\tthis._highlightDecorations = changeAccessor.deltaDecorations(this._highlightDecorations, [\n\t\t\t\t{\n\t\t\t\t\trange,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tdescription: 'find-match-quick-access-range-highlight',\n\t\t\t\t\t\tclassName: 'rangeHighlight',\n\t\t\t\t\t\tisWholeLine: true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trange,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tdescription: 'find-match-quick-access-range-highlight-overview',\n\t\t\t\t\t\toverviewRuler: {\n\t\t\t\t\t\t\tcolor: themeColorFromId(overviewRulerRangeHighlight),\n\t\t\t\t\t\t\tposition: OverviewRulerLane.Full\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\nexport abstract class SelectionMatchFindAction extends EditorAction {\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (!controller) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst selectionSearchString = getSelectionSearchString(editor, 'single', false);\n\t\tif (selectionSearchString) {\n\t\t\tcontroller.setSearchString(selectionSearchString);\n\t\t}\n\t\tif (!this._run(controller)) {\n\t\t\tawait controller.start({\n\t\t\t\tforceRevealReplace: false,\n\t\t\t\tseedSearchStringFromSelection: 'none',\n\t\t\t\tseedSearchStringFromNonEmptySelection: false,\n\t\t\t\tseedSearchStringFromGlobalClipboard: false,\n\t\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\t\tshouldAnimate: true,\n\t\t\t\tupdateSearchScope: false,\n\t\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t\t});\n\t\t\tthis._run(controller);\n\t\t}\n\t}\n\n\tprotected abstract _run(controller: CommonFindController): boolean;\n}\n\nexport class NextSelectionMatchFindAction extends SelectionMatchFindAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.NextSelectionMatchFindAction,\n\t\t\tlabel: nls.localize2('nextSelectionMatchFindAction', \"Find Next Selection\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.focus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.F3,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected _run(controller: CommonFindController): boolean {\n\t\treturn controller.moveToNextMatch();\n\t}\n}\n\nexport class PreviousSelectionMatchFindAction extends SelectionMatchFindAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.PreviousSelectionMatchFindAction,\n\t\t\tlabel: nls.localize2('previousSelectionMatchFindAction', \"Find Previous Selection\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.focus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.F3,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected _run(controller: CommonFindController): boolean {\n\t\treturn controller.moveToPrevMatch();\n\t}\n}\n\nexport const StartFindReplaceAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.StartFindReplaceAction,\n\tlabel: nls.localize2('startReplace', \"Replace\"),\n\tprecondition: ContextKeyExpr.or(EditorContextKeys.focus, ContextKeyExpr.has('editorIsOpen')),\n\tkbOpts: {\n\t\tkbExpr: null,\n\t\tprimary: KeyMod.CtrlCmd | KeyCode.KeyH,\n\t\tmac: { primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.KeyF },\n\t\tweight: KeybindingWeight.EditorContrib\n\t},\n\tmenuOpts: {\n\t\tmenuId: MenuId.MenubarEditMenu,\n\t\tgroup: '3_find',\n\t\ttitle: nls.localize({ key: 'miReplace', comment: ['&& denotes a mnemonic'] }, \"&&Replace\"),\n\t\torder: 2\n\t}\n}));\n\nStartFindReplaceAction.addImplementation(0, (accessor: ServicesAccessor, editor: ICodeEditor, args: any): boolean | Promise<void> => {\n\tif (!editor.hasModel() || editor.getOption(EditorOption.readOnly)) {\n\t\treturn false;\n\t}\n\tconst controller = CommonFindController.get(editor);\n\tif (!controller) {\n\t\treturn false;\n\t}\n\n\tconst currentSelection = editor.getSelection();\n\tconst findInputFocused = controller.isFindInputFocused();\n\t// we only seed search string from selection when the current selection is single line and not empty,\n\t// + the find input is not focused\n\tconst seedSearchStringFromSelection = !currentSelection.isEmpty()\n\t\t&& currentSelection.startLineNumber === currentSelection.endLineNumber\n\t\t&& (editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never')\n\t\t&& !findInputFocused;\n\t/*\n\t* if the existing search string in find widget is empty and we don't seed search string from selection, it means the Find Input is still empty, so we should focus the Find Input instead of Replace Input.\n\n\t* findInputFocused true -> seedSearchStringFromSelection false, FocusReplaceInput\n\t* findInputFocused false, seedSearchStringFromSelection true FocusReplaceInput\n\t* findInputFocused false seedSearchStringFromSelection false FocusFindInput\n\t*/\n\tconst shouldFocus = (findInputFocused || seedSearchStringFromSelection) ?\n\t\tFindStartFocusAction.FocusReplaceInput : FindStartFocusAction.FocusFindInput;\n\n\treturn controller.start({\n\t\tforceRevealReplace: true,\n\t\tseedSearchStringFromSelection: seedSearchStringFromSelection ? 'single' : 'none',\n\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\tseedSearchStringFromGlobalClipboard: editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never',\n\t\tshouldFocus: shouldFocus,\n\t\tshouldAnimate: true,\n\t\tupdateSearchScope: false,\n\t\tloop: editor.getOption(EditorOption.find).loop\n\t});\n});\n\nregisterEditorContribution(CommonFindController.ID, FindController, EditorContributionInstantiation.Eager); // eager because it uses `saveViewState`/`restoreViewState`\n\nregisterEditorAction(StartFindWithArgsAction);\nregisterEditorAction(StartFindWithSelectionAction);\nregisterEditorAction(MoveToMatchFindAction);\nregisterEditorAction(NextSelectionMatchFindAction);\nregisterEditorAction(PreviousSelectionMatchFindAction);\n\nconst FindCommand = EditorCommand.bindToContribution<CommonFindController>(CommonFindController.get);\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.CloseFindWidgetCommand,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.closeFindWidget(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, ContextKeyExpr.not('isComposing')),\n\t\tprimary: KeyCode.Escape,\n\t\tsecondary: [KeyMod.Shift | KeyCode.Escape]\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleCaseSensitiveCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleCaseSensitive(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleCaseSensitiveKeybinding.primary,\n\t\tmac: ToggleCaseSensitiveKeybinding.mac,\n\t\twin: ToggleCaseSensitiveKeybinding.win,\n\t\tlinux: ToggleCaseSensitiveKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleWholeWordCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleWholeWords(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleWholeWordKeybinding.primary,\n\t\tmac: ToggleWholeWordKeybinding.mac,\n\t\twin: ToggleWholeWordKeybinding.win,\n\t\tlinux: ToggleWholeWordKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleRegexCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleRegex(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleRegexKeybinding.primary,\n\t\tmac: ToggleRegexKeybinding.mac,\n\t\twin: ToggleRegexKeybinding.win,\n\t\tlinux: ToggleRegexKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleSearchScopeCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleSearchScope(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleSearchScopeKeybinding.primary,\n\t\tmac: ToggleSearchScopeKeybinding.mac,\n\t\twin: ToggleSearchScopeKeybinding.win,\n\t\tlinux: ToggleSearchScopeKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.TogglePreserveCaseCommand,\n\tprecondition: undefined,\n\thandler: x => x.togglePreserveCase(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: TogglePreserveCaseKeybinding.primary,\n\t\tmac: TogglePreserveCaseKeybinding.mac,\n\t\twin: TogglePreserveCaseKeybinding.win,\n\t\tlinux: TogglePreserveCaseKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceOneAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replace(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Digit1\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceOneAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replace(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_REPLACE_INPUT_FOCUSED),\n\t\tprimary: KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceAllAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replaceAll(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceAllAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replaceAll(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_REPLACE_INPUT_FOCUSED),\n\t\tprimary: undefined,\n\t\tmac: {\n\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.Enter,\n\t\t}\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.SelectAllMatchesAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.selectAllMatches(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.Alt | KeyCode.Enter\n\t}\n}));\n"]}
|
|
1
|
+
{"version":3,"sources":["vs/editor/contrib/find/browser/findController.ts"],"names":[],"mappings":"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","file":"findController.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 { Delayer } from '../../../../base/common/async.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { Disposable, DisposableStore } from '../../../../base/common/lifecycle.js';\nimport * as strings from '../../../../base/common/strings.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorCommand, EditorContributionInstantiation, MultiEditorAction, registerEditorAction, registerEditorCommand, registerEditorContribution, registerMultiEditorAction, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { overviewRulerRangeHighlight } from '../../../common/core/editorColorRegistry.js';\nimport { IRange } from '../../../common/core/range.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { OverviewRulerLane } from '../../../common/model.js';\nimport { CONTEXT_FIND_INPUT_FOCUSED, CONTEXT_FIND_WIDGET_VISIBLE, CONTEXT_REPLACE_INPUT_FOCUSED, FindModelBoundToEditorModel, FIND_IDS, ToggleCaseSensitiveKeybinding, TogglePreserveCaseKeybinding, ToggleRegexKeybinding, ToggleSearchScopeKeybinding, ToggleWholeWordKeybinding } from './findModel.js';\nimport { FindOptionsWidget } from './findOptionsWidget.js';\nimport { FindReplaceState, FindReplaceStateChangedEvent, INewFindReplaceState } from './findState.js';\nimport { FindWidget, IFindController } from './findWidget.js';\nimport * as nls from '../../../../nls.js';\nimport { MenuId } from '../../../../platform/actions/common/actions.js';\nimport { IClipboardService } from '../../../../platform/clipboard/common/clipboardService.js';\nimport { ContextKeyExpr, IContextKey, IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IContextViewService } from '../../../../platform/contextview/browser/contextView.js';\nimport { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { INotificationService, Severity } from '../../../../platform/notification/common/notification.js';\nimport { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';\nimport { IStorageService, StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js';\nimport { themeColorFromId } from '../../../../platform/theme/common/themeService.js';\nimport { Selection } from '../../../common/core/selection.js';\nimport { IHoverService } from '../../../../platform/hover/browser/hover.js';\nimport { FindWidgetSearchHistory } from './findWidgetSearchHistory.js';\nimport { ReplaceWidgetHistory } from './replaceWidgetHistory.js';\n\nconst SEARCH_STRING_MAX_LENGTH = 524288;\n\nexport function getSelectionSearchString(editor: ICodeEditor, seedSearchStringFromSelection: 'single' | 'multiple' = 'single', seedSearchStringFromNonEmptySelection: boolean = false): string | null {\n\tif (!editor.hasModel()) {\n\t\treturn null;\n\t}\n\n\tconst selection = editor.getSelection();\n\t// if selection spans multiple lines, default search string to empty\n\n\tif ((seedSearchStringFromSelection === 'single' && selection.startLineNumber === selection.endLineNumber)\n\t\t|| seedSearchStringFromSelection === 'multiple') {\n\t\tif (selection.isEmpty()) {\n\t\t\tconst wordAtPosition = editor.getConfiguredWordAtPosition(selection.getStartPosition());\n\t\t\tif (wordAtPosition && (false === seedSearchStringFromNonEmptySelection)) {\n\t\t\t\treturn wordAtPosition.word;\n\t\t\t}\n\t\t} else {\n\t\t\tif (editor.getModel().getValueLengthInRange(selection) < SEARCH_STRING_MAX_LENGTH) {\n\t\t\t\treturn editor.getModel().getValueInRange(selection);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport const enum FindStartFocusAction {\n\tNoFocusChange,\n\tFocusFindInput,\n\tFocusReplaceInput\n}\n\nexport interface IFindStartOptions {\n\tforceRevealReplace: boolean;\n\tseedSearchStringFromSelection: 'none' | 'single' | 'multiple';\n\tseedSearchStringFromNonEmptySelection: boolean;\n\tseedSearchStringFromGlobalClipboard: boolean;\n\tshouldFocus: FindStartFocusAction;\n\tshouldAnimate: boolean;\n\tupdateSearchScope: boolean;\n\tloop: boolean;\n}\n\nexport interface IFindStartArguments {\n\tsearchString?: string;\n\treplaceString?: string;\n\tisRegex?: boolean;\n\tmatchWholeWord?: boolean;\n\tisCaseSensitive?: boolean;\n\tpreserveCase?: boolean;\n\tfindInSelection?: boolean;\n}\n\nexport class CommonFindController extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.findController';\n\n\tprotected _editor: ICodeEditor;\n\tprivate readonly _findWidgetVisible: IContextKey<boolean>;\n\tprotected _state: FindReplaceState;\n\tprotected _updateHistoryDelayer: Delayer<void>;\n\tprivate _model: FindModelBoundToEditorModel | null;\n\tprotected readonly _storageService: IStorageService;\n\tprivate readonly _clipboardService: IClipboardService;\n\tprotected readonly _contextKeyService: IContextKeyService;\n\tprotected readonly _notificationService: INotificationService;\n\tprotected readonly _hoverService: IHoverService;\n\n\tget editor() {\n\t\treturn this._editor;\n\t}\n\n\tpublic static get(editor: ICodeEditor): CommonFindController | null {\n\t\treturn editor.getContribution<CommonFindController>(CommonFindController.ID);\n\t}\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@IContextKeyService contextKeyService: IContextKeyService,\n\t\t@IStorageService storageService: IStorageService,\n\t\t@IClipboardService clipboardService: IClipboardService,\n\t\t@INotificationService notificationService: INotificationService,\n\t\t@IHoverService hoverService: IHoverService\n\t) {\n\t\tsuper();\n\t\tthis._editor = editor;\n\t\tthis._findWidgetVisible = CONTEXT_FIND_WIDGET_VISIBLE.bindTo(contextKeyService);\n\t\tthis._contextKeyService = contextKeyService;\n\t\tthis._storageService = storageService;\n\t\tthis._clipboardService = clipboardService;\n\t\tthis._notificationService = notificationService;\n\t\tthis._hoverService = hoverService;\n\n\t\tthis._updateHistoryDelayer = new Delayer<void>(500);\n\t\tthis._state = this._register(new FindReplaceState());\n\t\tthis.loadQueryState();\n\t\tthis._register(this._state.onFindReplaceStateChange((e) => this._onStateChanged(e)));\n\n\t\tthis._model = null;\n\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tconst shouldRestartFind = (this._editor.getModel() && this._state.isRevealed);\n\n\t\t\tthis.disposeModel();\n\n\t\t\tthis._state.change({\n\t\t\t\tsearchScope: null,\n\t\t\t\tmatchCase: this._storageService.getBoolean('editor.matchCase', StorageScope.WORKSPACE, false),\n\t\t\t\twholeWord: this._storageService.getBoolean('editor.wholeWord', StorageScope.WORKSPACE, false),\n\t\t\t\tisRegex: this._storageService.getBoolean('editor.isRegex', StorageScope.WORKSPACE, false),\n\t\t\t\tpreserveCase: this._storageService.getBoolean('editor.preserveCase', StorageScope.WORKSPACE, false)\n\t\t\t}, false);\n\n\t\t\tif (shouldRestartFind) {\n\t\t\t\tthis._start({\n\t\t\t\t\tforceRevealReplace: false,\n\t\t\t\t\tseedSearchStringFromSelection: 'none',\n\t\t\t\t\tseedSearchStringFromNonEmptySelection: false,\n\t\t\t\t\tseedSearchStringFromGlobalClipboard: false,\n\t\t\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\t\t\tshouldAnimate: false,\n\t\t\t\t\tupdateSearchScope: false,\n\t\t\t\t\tloop: this._editor.getOption(EditorOption.find).loop\n\t\t\t\t});\n\t\t\t}\n\t\t}));\n\t}\n\n\tpublic override dispose(): void {\n\t\tthis.disposeModel();\n\t\tsuper.dispose();\n\t}\n\n\tprivate disposeModel(): void {\n\t\tif (this._model) {\n\t\t\tthis._model.dispose();\n\t\t\tthis._model = null;\n\t\t}\n\t}\n\n\tprivate _onStateChanged(e: FindReplaceStateChangedEvent): void {\n\t\tthis.saveQueryState(e);\n\n\t\tif (e.isRevealed) {\n\t\t\tif (this._state.isRevealed) {\n\t\t\t\tthis._findWidgetVisible.set(true);\n\t\t\t} else {\n\t\t\t\tthis._findWidgetVisible.reset();\n\t\t\t\tthis.disposeModel();\n\t\t\t}\n\t\t}\n\t\tif (e.searchString) {\n\t\t\tthis.setGlobalBufferTerm(this._state.searchString);\n\t\t}\n\t}\n\n\tprivate saveQueryState(e: FindReplaceStateChangedEvent) {\n\t\tif (e.isRegex) {\n\t\t\tthis._storageService.store('editor.isRegex', this._state.actualIsRegex, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t\tif (e.wholeWord) {\n\t\t\tthis._storageService.store('editor.wholeWord', this._state.actualWholeWord, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t\tif (e.matchCase) {\n\t\t\tthis._storageService.store('editor.matchCase', this._state.actualMatchCase, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t\tif (e.preserveCase) {\n\t\t\tthis._storageService.store('editor.preserveCase', this._state.actualPreserveCase, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t}\n\n\tprivate loadQueryState() {\n\t\tthis._state.change({\n\t\t\tmatchCase: this._storageService.getBoolean('editor.matchCase', StorageScope.WORKSPACE, this._state.matchCase),\n\t\t\twholeWord: this._storageService.getBoolean('editor.wholeWord', StorageScope.WORKSPACE, this._state.wholeWord),\n\t\t\tisRegex: this._storageService.getBoolean('editor.isRegex', StorageScope.WORKSPACE, this._state.isRegex),\n\t\t\tpreserveCase: this._storageService.getBoolean('editor.preserveCase', StorageScope.WORKSPACE, this._state.preserveCase)\n\t\t}, false);\n\t}\n\n\tpublic isFindInputFocused(): boolean {\n\t\treturn !!CONTEXT_FIND_INPUT_FOCUSED.getValue(this._contextKeyService);\n\t}\n\n\tpublic getState(): FindReplaceState {\n\t\treturn this._state;\n\t}\n\n\tpublic closeFindWidget(): void {\n\t\tthis._state.change({\n\t\t\tisRevealed: false,\n\t\t\tsearchScope: null\n\t\t}, false);\n\t\tthis._editor.focus();\n\t}\n\n\tpublic toggleCaseSensitive(): void {\n\t\tthis._state.change({ matchCase: !this._state.matchCase }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic toggleWholeWords(): void {\n\t\tthis._state.change({ wholeWord: !this._state.wholeWord }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic toggleRegex(): void {\n\t\tthis._state.change({ isRegex: !this._state.isRegex }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic togglePreserveCase(): void {\n\t\tthis._state.change({ preserveCase: !this._state.preserveCase }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic toggleSearchScope(): void {\n\t\tif (this._state.searchScope) {\n\t\t\tthis._state.change({ searchScope: null }, true);\n\t\t} else {\n\t\t\tif (this._editor.hasModel()) {\n\t\t\t\tlet selections = this._editor.getSelections();\n\t\t\t\tselections = selections.map(selection => {\n\t\t\t\t\tif (selection.endColumn === 1 && selection.endLineNumber > selection.startLineNumber) {\n\t\t\t\t\t\tselection = selection.setEndPosition(\n\t\t\t\t\t\t\tselection.endLineNumber - 1,\n\t\t\t\t\t\t\tthis._editor.getModel()!.getLineMaxColumn(selection.endLineNumber - 1)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (!selection.isEmpty()) {\n\t\t\t\t\t\treturn selection;\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}).filter((element): element is Selection => !!element);\n\n\t\t\t\tif (selections.length) {\n\t\t\t\t\tthis._state.change({ searchScope: selections }, true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic setSearchString(searchString: string): void {\n\t\tif (this._state.isRegex) {\n\t\t\tsearchString = strings.escapeRegExpCharacters(searchString);\n\t\t}\n\t\tthis._state.change({ searchString: searchString }, false);\n\t}\n\n\tpublic highlightFindOptions(ignoreWhenVisible: boolean = false): void {\n\t\t// overwritten in subclass\n\t}\n\n\tprotected async _start(opts: IFindStartOptions, newState?: INewFindReplaceState): Promise<void> {\n\t\tthis.disposeModel();\n\n\t\tif (!this._editor.hasModel()) {\n\t\t\t// cannot do anything with an editor that doesn't have a model...\n\t\t\treturn;\n\t\t}\n\n\t\tconst stateChanges: INewFindReplaceState = {\n\t\t\t...newState,\n\t\t\tisRevealed: true\n\t\t};\n\n\t\tif (opts.seedSearchStringFromSelection === 'single') {\n\t\t\tconst selectionSearchString = getSelectionSearchString(this._editor, opts.seedSearchStringFromSelection, opts.seedSearchStringFromNonEmptySelection);\n\t\t\tif (selectionSearchString) {\n\t\t\t\tif (this._state.isRegex) {\n\t\t\t\t\tstateChanges.searchString = strings.escapeRegExpCharacters(selectionSearchString);\n\t\t\t\t} else {\n\t\t\t\t\tstateChanges.searchString = selectionSearchString;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (opts.seedSearchStringFromSelection === 'multiple' && !opts.updateSearchScope) {\n\t\t\tconst selectionSearchString = getSelectionSearchString(this._editor, opts.seedSearchStringFromSelection);\n\t\t\tif (selectionSearchString) {\n\t\t\t\tstateChanges.searchString = selectionSearchString;\n\t\t\t}\n\t\t}\n\n\t\tif (!stateChanges.searchString && opts.seedSearchStringFromGlobalClipboard) {\n\t\t\tconst selectionSearchString = await this.getGlobalBufferTerm();\n\n\t\t\tif (!this._editor.hasModel()) {\n\t\t\t\t// the editor has lost its model in the meantime\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (selectionSearchString) {\n\t\t\t\tstateChanges.searchString = selectionSearchString;\n\t\t\t}\n\t\t}\n\n\t\t// Overwrite isReplaceRevealed\n\t\tif (opts.forceRevealReplace || stateChanges.isReplaceRevealed) {\n\t\t\tstateChanges.isReplaceRevealed = true;\n\t\t} else if (!this._findWidgetVisible.get()) {\n\t\t\tstateChanges.isReplaceRevealed = false;\n\t\t}\n\n\t\tif (opts.updateSearchScope) {\n\t\t\tconst currentSelections = this._editor.getSelections();\n\t\t\tif (currentSelections.some(selection => !selection.isEmpty())) {\n\t\t\t\tstateChanges.searchScope = currentSelections;\n\t\t\t}\n\t\t}\n\n\t\tstateChanges.loop = opts.loop;\n\n\t\tthis._state.change(stateChanges, false);\n\n\t\tif (!this._model) {\n\t\t\tthis._model = new FindModelBoundToEditorModel(this._editor, this._state);\n\t\t}\n\t}\n\n\tpublic start(opts: IFindStartOptions, newState?: INewFindReplaceState): Promise<void> {\n\t\treturn this._start(opts, newState);\n\t}\n\n\tpublic moveToNextMatch(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.moveToNextMatch();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic moveToPrevMatch(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.moveToPrevMatch();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic goToMatch(index: number): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.moveToMatch(index);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic replace(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.replace();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic replaceAll(): boolean {\n\t\tif (this._model) {\n\t\t\tif (this._editor.getModel()?.isTooLargeForHeapOperation()) {\n\t\t\t\tthis._notificationService.warn(nls.localize('too.large.for.replaceall', \"The file is too large to perform a replace all operation.\"));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis._model.replaceAll();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic selectAllMatches(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.selectAllMatches();\n\t\t\tthis._editor.focus();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic async getGlobalBufferTerm(): Promise<string> {\n\t\tif (this._editor.getOption(EditorOption.find).globalFindClipboard\n\t\t\t&& this._editor.hasModel()\n\t\t\t&& !this._editor.getModel().isTooLargeForSyncing()\n\t\t) {\n\t\t\treturn this._clipboardService.readFindText();\n\t\t}\n\t\treturn '';\n\t}\n\n\tpublic setGlobalBufferTerm(text: string): void {\n\t\tif (this._editor.getOption(EditorOption.find).globalFindClipboard\n\t\t\t&& this._editor.hasModel()\n\t\t\t&& !this._editor.getModel().isTooLargeForSyncing()\n\t\t) {\n\t\t\t// intentionally not awaited\n\t\t\tthis._clipboardService.writeFindText(text);\n\t\t}\n\t}\n}\n\nexport class FindController extends CommonFindController implements IFindController {\n\n\tprivate _widget: FindWidget | null;\n\tprivate _findOptionsWidget: FindOptionsWidget | null;\n\tprivate _findWidgetSearchHistory: FindWidgetSearchHistory;\n\tprivate _replaceWidgetHistory: ReplaceWidgetHistory;\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@IContextViewService private readonly _contextViewService: IContextViewService,\n\t\t@IContextKeyService _contextKeyService: IContextKeyService,\n\t\t@IKeybindingService private readonly _keybindingService: IKeybindingService,\n\t\t@INotificationService notificationService: INotificationService,\n\t\t@IStorageService _storageService: IStorageService,\n\t\t@IClipboardService clipboardService: IClipboardService,\n\t\t@IHoverService hoverService: IHoverService,\n\t) {\n\t\tsuper(editor, _contextKeyService, _storageService, clipboardService, notificationService, hoverService);\n\t\tthis._widget = null;\n\t\tthis._findOptionsWidget = null;\n\t\tthis._findWidgetSearchHistory = FindWidgetSearchHistory.getOrCreate(_storageService);\n\t\tthis._replaceWidgetHistory = ReplaceWidgetHistory.getOrCreate(_storageService);\n\t}\n\n\tprotected override async _start(opts: IFindStartOptions, newState?: INewFindReplaceState): Promise<void> {\n\t\tif (!this._widget) {\n\t\t\tthis._createFindWidget();\n\t\t}\n\n\t\tconst selection = this._editor.getSelection();\n\t\tlet updateSearchScope = false;\n\n\t\tswitch (this._editor.getOption(EditorOption.find).autoFindInSelection) {\n\t\t\tcase 'always':\n\t\t\t\tupdateSearchScope = true;\n\t\t\t\tbreak;\n\t\t\tcase 'never':\n\t\t\t\tupdateSearchScope = false;\n\t\t\t\tbreak;\n\t\t\tcase 'multiline': {\n\t\t\t\tconst isSelectionMultipleLine = !!selection && selection.startLineNumber !== selection.endLineNumber;\n\t\t\t\tupdateSearchScope = isSelectionMultipleLine;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\topts.updateSearchScope = opts.updateSearchScope || updateSearchScope;\n\n\t\tawait super._start(opts, newState);\n\n\t\tif (this._widget) {\n\t\t\tif (opts.shouldFocus === FindStartFocusAction.FocusReplaceInput) {\n\t\t\t\tthis._widget.focusReplaceInput();\n\t\t\t} else if (opts.shouldFocus === FindStartFocusAction.FocusFindInput) {\n\t\t\t\tthis._widget.focusFindInput();\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override highlightFindOptions(ignoreWhenVisible: boolean = false): void {\n\t\tif (!this._widget) {\n\t\t\tthis._createFindWidget();\n\t\t}\n\t\tif (this._state.isRevealed && !ignoreWhenVisible) {\n\t\t\tthis._widget!.highlightFindOptions();\n\t\t} else {\n\t\t\tthis._findOptionsWidget!.highlightFindOptions();\n\t\t}\n\t}\n\n\tprivate _createFindWidget() {\n\t\tthis._widget = this._register(new FindWidget(this._editor, this, this._state, this._contextViewService, this._keybindingService, this._contextKeyService, this._hoverService, this._findWidgetSearchHistory, this._replaceWidgetHistory));\n\t\tthis._findOptionsWidget = this._register(new FindOptionsWidget(this._editor, this._state, this._keybindingService));\n\t}\n\n\tsaveViewState(): any {\n\t\treturn this._widget?.getViewState();\n\t}\n\n\trestoreViewState(state: any): void {\n\t\tthis._widget?.setViewState(state);\n\t}\n}\n\nexport const StartFindAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.StartFindAction,\n\tlabel: nls.localize2('startFindAction', \"Find\"),\n\tprecondition: ContextKeyExpr.or(EditorContextKeys.focus, ContextKeyExpr.has('editorIsOpen')),\n\tkbOpts: {\n\t\tkbExpr: null,\n\t\tprimary: KeyMod.CtrlCmd | KeyCode.KeyF,\n\t\tweight: KeybindingWeight.EditorContrib\n\t},\n\tmenuOpts: {\n\t\tmenuId: MenuId.MenubarEditMenu,\n\t\tgroup: '3_find',\n\t\ttitle: nls.localize({ key: 'miFind', comment: ['&& denotes a mnemonic'] }, \"&&Find\"),\n\t\torder: 1\n\t}\n}));\n\nStartFindAction.addImplementation(0, (accessor: ServicesAccessor, editor: ICodeEditor, args: any): boolean | Promise<void> => {\n\tconst controller = CommonFindController.get(editor);\n\tif (!controller) {\n\t\treturn false;\n\t}\n\treturn controller.start({\n\t\tforceRevealReplace: false,\n\t\tseedSearchStringFromSelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never' ? 'single' : 'none',\n\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\tseedSearchStringFromGlobalClipboard: editor.getOption(EditorOption.find).globalFindClipboard,\n\t\tshouldFocus: FindStartFocusAction.FocusFindInput,\n\t\tshouldAnimate: true,\n\t\tupdateSearchScope: false,\n\t\tloop: editor.getOption(EditorOption.find).loop\n\t});\n});\n\nconst findArgDescription = {\n\tdescription: 'Open a new In-Editor Find Widget.',\n\targs: [{\n\t\tname: 'Open a new In-Editor Find Widget args',\n\t\tschema: {\n\t\t\tproperties: {\n\t\t\t\tsearchString: { type: 'string' },\n\t\t\t\treplaceString: { type: 'string' },\n\t\t\t\tisRegex: { type: 'boolean' },\n\t\t\t\tmatchWholeWord: { type: 'boolean' },\n\t\t\t\tisCaseSensitive: { type: 'boolean' },\n\t\t\t\tpreserveCase: { type: 'boolean' },\n\t\t\t\tfindInSelection: { type: 'boolean' },\n\t\t\t}\n\t\t}\n\t}]\n} as const;\n\nexport class StartFindWithArgsAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.StartFindWithArgs,\n\t\t\tlabel: nls.localize2('startFindWithArgsAction', \"Find with Arguments\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: null,\n\t\t\t\tprimary: 0,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t},\n\t\t\tmetadata: findArgDescription\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args?: IFindStartArguments): Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (controller) {\n\t\t\tconst newState: INewFindReplaceState = args ? {\n\t\t\t\tsearchString: args.searchString,\n\t\t\t\treplaceString: args.replaceString,\n\t\t\t\tisReplaceRevealed: args.replaceString !== undefined,\n\t\t\t\tisRegex: args.isRegex,\n\t\t\t\t// isRegexOverride: args.regexOverride,\n\t\t\t\twholeWord: args.matchWholeWord,\n\t\t\t\t// wholeWordOverride: args.wholeWordOverride,\n\t\t\t\tmatchCase: args.isCaseSensitive,\n\t\t\t\t// matchCaseOverride: args.matchCaseOverride,\n\t\t\t\tpreserveCase: args.preserveCase,\n\t\t\t\t// preserveCaseOverride: args.preserveCaseOverride,\n\t\t\t} : {};\n\n\t\t\tawait controller.start({\n\t\t\t\tforceRevealReplace: false,\n\t\t\t\tseedSearchStringFromSelection: (controller.getState().searchString.length === 0) && editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never' ? 'single' : 'none',\n\t\t\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\t\t\tseedSearchStringFromGlobalClipboard: true,\n\t\t\t\tshouldFocus: FindStartFocusAction.FocusFindInput,\n\t\t\t\tshouldAnimate: true,\n\t\t\t\tupdateSearchScope: args?.findInSelection || false,\n\t\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t\t}, newState);\n\n\t\t\tcontroller.setGlobalBufferTerm(controller.getState().searchString);\n\t\t}\n\t}\n}\n\nexport class StartFindWithSelectionAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.StartFindWithSelection,\n\t\t\tlabel: nls.localize2('startFindWithSelectionAction', \"Find with Selection\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: null,\n\t\t\t\tprimary: 0,\n\t\t\t\tmac: {\n\t\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.KeyE,\n\t\t\t\t},\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (controller) {\n\t\t\tawait controller.start({\n\t\t\t\tforceRevealReplace: false,\n\t\t\t\tseedSearchStringFromSelection: 'multiple',\n\t\t\t\tseedSearchStringFromNonEmptySelection: false,\n\t\t\t\tseedSearchStringFromGlobalClipboard: false,\n\t\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\t\tshouldAnimate: true,\n\t\t\t\tupdateSearchScope: false,\n\t\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t\t});\n\n\t\t\tcontroller.setGlobalBufferTerm(controller.getState().searchString);\n\t\t}\n\t}\n}\n\nasync function matchFindAction(editor: ICodeEditor, next: boolean): Promise<void> {\n\tconst controller = CommonFindController.get(editor);\n\tif (!controller) {\n\t\treturn;\n\t}\n\n\tconst runMatch = (): boolean => {\n\t\tconst result = next ? controller.moveToNextMatch() : controller.moveToPrevMatch();\n\t\tif (result) {\n\t\t\tcontroller.editor.pushUndoStop();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\n\tif (!runMatch()) {\n\t\tawait controller.start({\n\t\t\tforceRevealReplace: false,\n\t\t\tseedSearchStringFromSelection: (controller.getState().searchString.length === 0) && editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never' ? 'single' : 'none',\n\t\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\t\tseedSearchStringFromGlobalClipboard: true,\n\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\tshouldAnimate: true,\n\t\t\tupdateSearchScope: false,\n\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t});\n\t\trunMatch();\n\t}\n}\n\nexport const NextMatchFindAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.NextMatchFindAction,\n\tlabel: nls.localize2('findNextMatchAction', \"Find Next\"),\n\tprecondition: undefined,\n\tkbOpts: [{\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyCode.F3,\n\t\tmac: { primary: KeyMod.CtrlCmd | KeyCode.KeyG, secondary: [KeyCode.F3] },\n\t\tweight: KeybindingWeight.EditorContrib\n\t}, {\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_FIND_INPUT_FOCUSED),\n\t\tprimary: KeyCode.Enter,\n\t\tweight: KeybindingWeight.EditorContrib\n\t}]\n}));\n\nNextMatchFindAction.addImplementation(0, async (accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> => {\n\treturn matchFindAction(editor, true);\n});\n\n\nexport const PreviousMatchFindAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.PreviousMatchFindAction,\n\tlabel: nls.localize2('findPreviousMatchAction', \"Find Previous\"),\n\tprecondition: undefined,\n\tkbOpts: [{\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.Shift | KeyCode.F3,\n\t\tmac: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyG, secondary: [KeyMod.Shift | KeyCode.F3] },\n\t\tweight: KeybindingWeight.EditorContrib\n\t}, {\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_FIND_INPUT_FOCUSED),\n\t\tprimary: KeyMod.Shift | KeyCode.Enter,\n\t\tweight: KeybindingWeight.EditorContrib\n\t}]\n}));\n\nPreviousMatchFindAction.addImplementation(0, async (accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> => {\n\treturn matchFindAction(editor, false);\n});\n\nexport class MoveToMatchFindAction extends EditorAction {\n\n\tprivate _highlightDecorations: string[] = [];\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.GoToMatchFindAction,\n\t\t\tlabel: nls.localize2('findMatchAction.goToMatch', \"Go to Match...\"),\n\t\t\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void | Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (!controller) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst matchesCount = controller.getState().matchesCount;\n\t\tif (matchesCount < 1) {\n\t\t\tconst notificationService = accessor.get(INotificationService);\n\t\t\tnotificationService.notify({\n\t\t\t\tseverity: Severity.Warning,\n\t\t\t\tmessage: nls.localize('findMatchAction.noResults', \"No matches. Try searching for something else.\")\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst quickInputService = accessor.get(IQuickInputService);\n\t\tconst disposables = new DisposableStore();\n\t\tconst inputBox = disposables.add(quickInputService.createInputBox());\n\t\tinputBox.placeholder = nls.localize('findMatchAction.inputPlaceHolder', \"Type a number to go to a specific match (between 1 and {0})\", matchesCount);\n\n\t\tconst toFindMatchIndex = (value: string): number | undefined => {\n\t\t\tconst index = parseInt(value);\n\t\t\tif (isNaN(index)) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst matchCount = controller.getState().matchesCount;\n\t\t\tif (index > 0 && index <= matchCount) {\n\t\t\t\treturn index - 1; // zero based\n\t\t\t} else if (index < 0 && index >= -matchCount) {\n\t\t\t\treturn matchCount + index;\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t};\n\n\t\tconst updatePickerAndEditor = (value: string) => {\n\t\t\tconst index = toFindMatchIndex(value);\n\t\t\tif (typeof index === 'number') {\n\t\t\t\t// valid\n\t\t\t\tinputBox.validationMessage = undefined;\n\t\t\t\tcontroller.goToMatch(index);\n\t\t\t\tconst currentMatch = controller.getState().currentMatch;\n\t\t\t\tif (currentMatch) {\n\t\t\t\t\tthis.addDecorations(editor, currentMatch);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tinputBox.validationMessage = nls.localize('findMatchAction.inputValidationMessage', \"Please type a number between 1 and {0}\", controller.getState().matchesCount);\n\t\t\t\tthis.clearDecorations(editor);\n\t\t\t}\n\t\t};\n\t\tdisposables.add(inputBox.onDidChangeValue(value => {\n\t\t\tupdatePickerAndEditor(value);\n\t\t}));\n\n\t\tdisposables.add(inputBox.onDidAccept(() => {\n\t\t\tconst index = toFindMatchIndex(inputBox.value);\n\t\t\tif (typeof index === 'number') {\n\t\t\t\tcontroller.goToMatch(index);\n\t\t\t\tinputBox.hide();\n\t\t\t} else {\n\t\t\t\tinputBox.validationMessage = nls.localize('findMatchAction.inputValidationMessage', \"Please type a number between 1 and {0}\", controller.getState().matchesCount);\n\t\t\t}\n\t\t}));\n\n\t\tdisposables.add(inputBox.onDidHide(() => {\n\t\t\tthis.clearDecorations(editor);\n\t\t\tdisposables.dispose();\n\t\t}));\n\n\t\tinputBox.show();\n\t}\n\n\tprivate clearDecorations(editor: ICodeEditor): void {\n\t\teditor.changeDecorations(changeAccessor => {\n\t\t\tthis._highlightDecorations = changeAccessor.deltaDecorations(this._highlightDecorations, []);\n\t\t});\n\t}\n\n\tprivate addDecorations(editor: ICodeEditor, range: IRange): void {\n\t\teditor.changeDecorations(changeAccessor => {\n\t\t\tthis._highlightDecorations = changeAccessor.deltaDecorations(this._highlightDecorations, [\n\t\t\t\t{\n\t\t\t\t\trange,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tdescription: 'find-match-quick-access-range-highlight',\n\t\t\t\t\t\tclassName: 'rangeHighlight',\n\t\t\t\t\t\tisWholeLine: true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trange,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tdescription: 'find-match-quick-access-range-highlight-overview',\n\t\t\t\t\t\toverviewRuler: {\n\t\t\t\t\t\t\tcolor: themeColorFromId(overviewRulerRangeHighlight),\n\t\t\t\t\t\t\tposition: OverviewRulerLane.Full\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\nexport abstract class SelectionMatchFindAction extends EditorAction {\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (!controller) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst selectionSearchString = getSelectionSearchString(editor, 'single', false);\n\t\tif (selectionSearchString) {\n\t\t\tcontroller.setSearchString(selectionSearchString);\n\t\t}\n\t\tif (!this._run(controller)) {\n\t\t\tawait controller.start({\n\t\t\t\tforceRevealReplace: false,\n\t\t\t\tseedSearchStringFromSelection: 'none',\n\t\t\t\tseedSearchStringFromNonEmptySelection: false,\n\t\t\t\tseedSearchStringFromGlobalClipboard: false,\n\t\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\t\tshouldAnimate: true,\n\t\t\t\tupdateSearchScope: false,\n\t\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t\t});\n\t\t\tthis._run(controller);\n\t\t}\n\t}\n\n\tprotected abstract _run(controller: CommonFindController): boolean;\n}\n\nexport class NextSelectionMatchFindAction extends SelectionMatchFindAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.NextSelectionMatchFindAction,\n\t\t\tlabel: nls.localize2('nextSelectionMatchFindAction', \"Find Next Selection\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.focus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.F3,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected _run(controller: CommonFindController): boolean {\n\t\treturn controller.moveToNextMatch();\n\t}\n}\n\nexport class PreviousSelectionMatchFindAction extends SelectionMatchFindAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.PreviousSelectionMatchFindAction,\n\t\t\tlabel: nls.localize2('previousSelectionMatchFindAction', \"Find Previous Selection\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.focus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.F3,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected _run(controller: CommonFindController): boolean {\n\t\treturn controller.moveToPrevMatch();\n\t}\n}\n\nexport const StartFindReplaceAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.StartFindReplaceAction,\n\tlabel: nls.localize2('startReplace', \"Replace\"),\n\tprecondition: ContextKeyExpr.or(EditorContextKeys.focus, ContextKeyExpr.has('editorIsOpen')),\n\tkbOpts: {\n\t\tkbExpr: null,\n\t\tprimary: KeyMod.CtrlCmd | KeyCode.KeyH,\n\t\tmac: { primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.KeyF },\n\t\tweight: KeybindingWeight.EditorContrib\n\t},\n\tmenuOpts: {\n\t\tmenuId: MenuId.MenubarEditMenu,\n\t\tgroup: '3_find',\n\t\ttitle: nls.localize({ key: 'miReplace', comment: ['&& denotes a mnemonic'] }, \"&&Replace\"),\n\t\torder: 2\n\t}\n}));\n\nStartFindReplaceAction.addImplementation(0, (accessor: ServicesAccessor, editor: ICodeEditor, args: any): boolean | Promise<void> => {\n\tif (!editor.hasModel() || editor.getOption(EditorOption.readOnly)) {\n\t\treturn false;\n\t}\n\tconst controller = CommonFindController.get(editor);\n\tif (!controller) {\n\t\treturn false;\n\t}\n\n\tconst currentSelection = editor.getSelection();\n\tconst findInputFocused = controller.isFindInputFocused();\n\t// we only seed search string from selection when the current selection is single line and not empty,\n\t// + the find input is not focused\n\tconst seedSearchStringFromSelection = !currentSelection.isEmpty()\n\t\t&& currentSelection.startLineNumber === currentSelection.endLineNumber\n\t\t&& (editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never')\n\t\t&& !findInputFocused;\n\t/*\n\t* if the existing search string in find widget is empty and we don't seed search string from selection, it means the Find Input is still empty, so we should focus the Find Input instead of Replace Input.\n\n\t* findInputFocused true -> seedSearchStringFromSelection false, FocusReplaceInput\n\t* findInputFocused false, seedSearchStringFromSelection true FocusReplaceInput\n\t* findInputFocused false seedSearchStringFromSelection false FocusFindInput\n\t*/\n\tconst shouldFocus = (findInputFocused || seedSearchStringFromSelection) ?\n\t\tFindStartFocusAction.FocusReplaceInput : FindStartFocusAction.FocusFindInput;\n\n\treturn controller.start({\n\t\tforceRevealReplace: true,\n\t\tseedSearchStringFromSelection: seedSearchStringFromSelection ? 'single' : 'none',\n\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\tseedSearchStringFromGlobalClipboard: editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never',\n\t\tshouldFocus: shouldFocus,\n\t\tshouldAnimate: true,\n\t\tupdateSearchScope: false,\n\t\tloop: editor.getOption(EditorOption.find).loop\n\t});\n});\n\nregisterEditorContribution(CommonFindController.ID, FindController, EditorContributionInstantiation.Eager); // eager because it uses `saveViewState`/`restoreViewState`\n\nregisterEditorAction(StartFindWithArgsAction);\nregisterEditorAction(StartFindWithSelectionAction);\nregisterEditorAction(MoveToMatchFindAction);\nregisterEditorAction(NextSelectionMatchFindAction);\nregisterEditorAction(PreviousSelectionMatchFindAction);\n\nconst FindCommand = EditorCommand.bindToContribution<CommonFindController>(CommonFindController.get);\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.CloseFindWidgetCommand,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.closeFindWidget(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, ContextKeyExpr.not('isComposing')),\n\t\tprimary: KeyCode.Escape,\n\t\tsecondary: [KeyMod.Shift | KeyCode.Escape]\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleCaseSensitiveCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleCaseSensitive(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleCaseSensitiveKeybinding.primary,\n\t\tmac: ToggleCaseSensitiveKeybinding.mac,\n\t\twin: ToggleCaseSensitiveKeybinding.win,\n\t\tlinux: ToggleCaseSensitiveKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleWholeWordCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleWholeWords(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleWholeWordKeybinding.primary,\n\t\tmac: ToggleWholeWordKeybinding.mac,\n\t\twin: ToggleWholeWordKeybinding.win,\n\t\tlinux: ToggleWholeWordKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleRegexCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleRegex(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleRegexKeybinding.primary,\n\t\tmac: ToggleRegexKeybinding.mac,\n\t\twin: ToggleRegexKeybinding.win,\n\t\tlinux: ToggleRegexKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleSearchScopeCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleSearchScope(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleSearchScopeKeybinding.primary,\n\t\tmac: ToggleSearchScopeKeybinding.mac,\n\t\twin: ToggleSearchScopeKeybinding.win,\n\t\tlinux: ToggleSearchScopeKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.TogglePreserveCaseCommand,\n\tprecondition: undefined,\n\thandler: x => x.togglePreserveCase(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: TogglePreserveCaseKeybinding.primary,\n\t\tmac: TogglePreserveCaseKeybinding.mac,\n\t\twin: TogglePreserveCaseKeybinding.win,\n\t\tlinux: TogglePreserveCaseKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceOneAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replace(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Digit1\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceOneAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replace(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_REPLACE_INPUT_FOCUSED),\n\t\tprimary: KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceAllAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replaceAll(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceAllAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replaceAll(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_REPLACE_INPUT_FOCUSED),\n\t\tprimary: undefined,\n\t\tmac: {\n\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.Enter,\n\t\t}\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.SelectAllMatchesAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.selectAllMatches(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.Alt | KeyCode.Enter\n\t}\n}));\n"]}
|
|
@@ -26,28 +26,28 @@ import { ThemeIcon } from '../../../../base/common/themables.js';
|
|
|
26
26
|
import { isHighContrast } from '../../../../platform/theme/common/theme.js';
|
|
27
27
|
import { assertReturnsDefined } from '../../../../base/common/types.js';
|
|
28
28
|
import { defaultInputBoxStyles, defaultToggleStyles } from '../../../../platform/theme/browser/defaultStyles.js';
|
|
29
|
-
const findCollapsedIcon = registerIcon('find-collapsed', Codicon.chevronRight, nls.localize(
|
|
30
|
-
const findExpandedIcon = registerIcon('find-expanded', Codicon.chevronDown, nls.localize(
|
|
31
|
-
export const findSelectionIcon = registerIcon('find-selection', Codicon.selection, nls.localize(
|
|
32
|
-
export const findReplaceIcon = registerIcon('find-replace', Codicon.replace, nls.localize(
|
|
33
|
-
export const findReplaceAllIcon = registerIcon('find-replace-all', Codicon.replaceAll, nls.localize(
|
|
34
|
-
export const findPreviousMatchIcon = registerIcon('find-previous-match', Codicon.arrowUp, nls.localize(
|
|
35
|
-
export const findNextMatchIcon = registerIcon('find-next-match', Codicon.arrowDown, nls.localize(
|
|
36
|
-
const NLS_FIND_DIALOG_LABEL = nls.localize(
|
|
37
|
-
const NLS_FIND_INPUT_LABEL = nls.localize(
|
|
38
|
-
const NLS_FIND_INPUT_PLACEHOLDER = nls.localize(
|
|
39
|
-
const NLS_PREVIOUS_MATCH_BTN_LABEL = nls.localize(
|
|
40
|
-
const NLS_NEXT_MATCH_BTN_LABEL = nls.localize(
|
|
41
|
-
const NLS_TOGGLE_SELECTION_FIND_TITLE = nls.localize(
|
|
42
|
-
const NLS_CLOSE_BTN_LABEL = nls.localize(
|
|
43
|
-
const NLS_REPLACE_INPUT_LABEL = nls.localize(
|
|
44
|
-
const NLS_REPLACE_INPUT_PLACEHOLDER = nls.localize(
|
|
45
|
-
const NLS_REPLACE_BTN_LABEL = nls.localize(
|
|
46
|
-
const NLS_REPLACE_ALL_BTN_LABEL = nls.localize(
|
|
47
|
-
const NLS_TOGGLE_REPLACE_MODE_BTN_LABEL = nls.localize(
|
|
48
|
-
const NLS_MATCHES_COUNT_LIMIT_TITLE = nls.localize(
|
|
49
|
-
export const NLS_MATCHES_LOCATION = nls.localize(
|
|
50
|
-
export const NLS_NO_RESULTS = nls.localize(
|
|
29
|
+
const findCollapsedIcon = registerIcon('find-collapsed', Codicon.chevronRight, nls.localize(962, 'Icon to indicate that the editor find widget is collapsed.'));
|
|
30
|
+
const findExpandedIcon = registerIcon('find-expanded', Codicon.chevronDown, nls.localize(963, 'Icon to indicate that the editor find widget is expanded.'));
|
|
31
|
+
export const findSelectionIcon = registerIcon('find-selection', Codicon.selection, nls.localize(964, 'Icon for \'Find in Selection\' in the editor find widget.'));
|
|
32
|
+
export const findReplaceIcon = registerIcon('find-replace', Codicon.replace, nls.localize(965, 'Icon for \'Replace\' in the editor find widget.'));
|
|
33
|
+
export const findReplaceAllIcon = registerIcon('find-replace-all', Codicon.replaceAll, nls.localize(966, 'Icon for \'Replace All\' in the editor find widget.'));
|
|
34
|
+
export const findPreviousMatchIcon = registerIcon('find-previous-match', Codicon.arrowUp, nls.localize(967, 'Icon for \'Find Previous\' in the editor find widget.'));
|
|
35
|
+
export const findNextMatchIcon = registerIcon('find-next-match', Codicon.arrowDown, nls.localize(968, 'Icon for \'Find Next\' in the editor find widget.'));
|
|
36
|
+
const NLS_FIND_DIALOG_LABEL = nls.localize(969, "Find / Replace");
|
|
37
|
+
const NLS_FIND_INPUT_LABEL = nls.localize(970, "Find");
|
|
38
|
+
const NLS_FIND_INPUT_PLACEHOLDER = nls.localize(971, "Find");
|
|
39
|
+
const NLS_PREVIOUS_MATCH_BTN_LABEL = nls.localize(972, "Previous Match");
|
|
40
|
+
const NLS_NEXT_MATCH_BTN_LABEL = nls.localize(973, "Next Match");
|
|
41
|
+
const NLS_TOGGLE_SELECTION_FIND_TITLE = nls.localize(974, "Find in Selection");
|
|
42
|
+
const NLS_CLOSE_BTN_LABEL = nls.localize(975, "Close");
|
|
43
|
+
const NLS_REPLACE_INPUT_LABEL = nls.localize(976, "Replace");
|
|
44
|
+
const NLS_REPLACE_INPUT_PLACEHOLDER = nls.localize(977, "Replace");
|
|
45
|
+
const NLS_REPLACE_BTN_LABEL = nls.localize(978, "Replace");
|
|
46
|
+
const NLS_REPLACE_ALL_BTN_LABEL = nls.localize(979, "Replace All");
|
|
47
|
+
const NLS_TOGGLE_REPLACE_MODE_BTN_LABEL = nls.localize(980, "Toggle Replace");
|
|
48
|
+
const NLS_MATCHES_COUNT_LIMIT_TITLE = nls.localize(981, "Only the first {0} results are highlighted, but all find operations work on the entire text.", MATCHES_LIMIT);
|
|
49
|
+
export const NLS_MATCHES_LOCATION = nls.localize(982, "{0} of {1}");
|
|
50
|
+
export const NLS_NO_RESULTS = nls.localize(983, "No results");
|
|
51
51
|
const FIND_WIDGET_INITIAL_WIDTH = 419;
|
|
52
52
|
const PART_WIDTH = 275;
|
|
53
53
|
const FIND_INPUT_AREA_WIDTH = PART_WIDTH - 54;
|
|
@@ -324,11 +324,11 @@ export class FindWidget extends Widget {
|
|
|
324
324
|
_getAriaLabel(label, currentMatch, searchString) {
|
|
325
325
|
if (label === NLS_NO_RESULTS) {
|
|
326
326
|
return searchString === ''
|
|
327
|
-
? nls.localize(
|
|
328
|
-
: nls.localize(
|
|
327
|
+
? nls.localize(984, "{0} found", label)
|
|
328
|
+
: nls.localize(985, "{0} found for '{1}'", label, searchString);
|
|
329
329
|
}
|
|
330
330
|
if (currentMatch) {
|
|
331
|
-
const ariaLabel = nls.localize(
|
|
331
|
+
const ariaLabel = nls.localize(986, "{0} found for '{1}', at {2}", label, searchString, currentMatch.startLineNumber + ':' + currentMatch.startColumn);
|
|
332
332
|
const model = this._codeEditor.getModel();
|
|
333
333
|
if (model && (currentMatch.startLineNumber <= model.getLineCount()) && (currentMatch.startLineNumber >= 1)) {
|
|
334
334
|
const lineContent = model.getLineContent(currentMatch.startLineNumber);
|
|
@@ -336,7 +336,7 @@ export class FindWidget extends Widget {
|
|
|
336
336
|
}
|
|
337
337
|
return ariaLabel;
|
|
338
338
|
}
|
|
339
|
-
return nls.localize(
|
|
339
|
+
return nls.localize(987, "{0} found for '{1}'", label, searchString);
|
|
340
340
|
}
|
|
341
341
|
/**
|
|
342
342
|
* If 'selection find' is ON we should not disable the button (its function is to cancel 'selection find').
|
|
@@ -508,7 +508,7 @@ class UnfoldAction extends FoldingAction {
|
|
|
508
508
|
constructor() {
|
|
509
509
|
super({
|
|
510
510
|
id: 'editor.unfold',
|
|
511
|
-
label: nls.localize2(
|
|
511
|
+
label: nls.localize2(988, "Unfold"),
|
|
512
512
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
513
513
|
kbOpts: {
|
|
514
514
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -569,7 +569,7 @@ class UnFoldRecursivelyAction extends FoldingAction {
|
|
|
569
569
|
constructor() {
|
|
570
570
|
super({
|
|
571
571
|
id: 'editor.unfoldRecursively',
|
|
572
|
-
label: nls.localize2(
|
|
572
|
+
label: nls.localize2(989, "Unfold Recursively"),
|
|
573
573
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
574
574
|
kbOpts: {
|
|
575
575
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -586,7 +586,7 @@ class FoldAction extends FoldingAction {
|
|
|
586
586
|
constructor() {
|
|
587
587
|
super({
|
|
588
588
|
id: 'editor.fold',
|
|
589
|
-
label: nls.localize2(
|
|
589
|
+
label: nls.localize2(990, "Fold"),
|
|
590
590
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
591
591
|
kbOpts: {
|
|
592
592
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -653,7 +653,7 @@ class ToggleFoldAction extends FoldingAction {
|
|
|
653
653
|
constructor() {
|
|
654
654
|
super({
|
|
655
655
|
id: 'editor.toggleFold',
|
|
656
|
-
label: nls.localize2(
|
|
656
|
+
label: nls.localize2(991, "Toggle Fold"),
|
|
657
657
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
658
658
|
kbOpts: {
|
|
659
659
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -671,7 +671,7 @@ class FoldRecursivelyAction extends FoldingAction {
|
|
|
671
671
|
constructor() {
|
|
672
672
|
super({
|
|
673
673
|
id: 'editor.foldRecursively',
|
|
674
|
-
label: nls.localize2(
|
|
674
|
+
label: nls.localize2(992, "Fold Recursively"),
|
|
675
675
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
676
676
|
kbOpts: {
|
|
677
677
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -689,7 +689,7 @@ class ToggleFoldRecursivelyAction extends FoldingAction {
|
|
|
689
689
|
constructor() {
|
|
690
690
|
super({
|
|
691
691
|
id: 'editor.toggleFoldRecursively',
|
|
692
|
-
label: nls.localize2(
|
|
692
|
+
label: nls.localize2(993, "Toggle Fold Recursively"),
|
|
693
693
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
694
694
|
kbOpts: {
|
|
695
695
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -707,7 +707,7 @@ class FoldAllBlockCommentsAction extends FoldingAction {
|
|
|
707
707
|
constructor() {
|
|
708
708
|
super({
|
|
709
709
|
id: 'editor.foldAllBlockComments',
|
|
710
|
-
label: nls.localize2(
|
|
710
|
+
label: nls.localize2(994, "Fold All Block Comments"),
|
|
711
711
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
712
712
|
kbOpts: {
|
|
713
713
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -737,7 +737,7 @@ class FoldAllRegionsAction extends FoldingAction {
|
|
|
737
737
|
constructor() {
|
|
738
738
|
super({
|
|
739
739
|
id: 'editor.foldAllMarkerRegions',
|
|
740
|
-
label: nls.localize2(
|
|
740
|
+
label: nls.localize2(995, "Fold All Regions"),
|
|
741
741
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
742
742
|
kbOpts: {
|
|
743
743
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -767,7 +767,7 @@ class UnfoldAllRegionsAction extends FoldingAction {
|
|
|
767
767
|
constructor() {
|
|
768
768
|
super({
|
|
769
769
|
id: 'editor.unfoldAllMarkerRegions',
|
|
770
|
-
label: nls.localize2(
|
|
770
|
+
label: nls.localize2(996, "Unfold All Regions"),
|
|
771
771
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
772
772
|
kbOpts: {
|
|
773
773
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -797,7 +797,7 @@ class FoldAllExceptAction extends FoldingAction {
|
|
|
797
797
|
constructor() {
|
|
798
798
|
super({
|
|
799
799
|
id: 'editor.foldAllExcept',
|
|
800
|
-
label: nls.localize2(
|
|
800
|
+
label: nls.localize2(997, "Fold All Except Selected"),
|
|
801
801
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
802
802
|
kbOpts: {
|
|
803
803
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -815,7 +815,7 @@ class UnfoldAllExceptAction extends FoldingAction {
|
|
|
815
815
|
constructor() {
|
|
816
816
|
super({
|
|
817
817
|
id: 'editor.unfoldAllExcept',
|
|
818
|
-
label: nls.localize2(
|
|
818
|
+
label: nls.localize2(998, "Unfold All Except Selected"),
|
|
819
819
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
820
820
|
kbOpts: {
|
|
821
821
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -833,7 +833,7 @@ class FoldAllAction extends FoldingAction {
|
|
|
833
833
|
constructor() {
|
|
834
834
|
super({
|
|
835
835
|
id: 'editor.foldAll',
|
|
836
|
-
label: nls.localize2(
|
|
836
|
+
label: nls.localize2(999, "Fold All"),
|
|
837
837
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
838
838
|
kbOpts: {
|
|
839
839
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -850,7 +850,7 @@ class UnfoldAllAction extends FoldingAction {
|
|
|
850
850
|
constructor() {
|
|
851
851
|
super({
|
|
852
852
|
id: 'editor.unfoldAll',
|
|
853
|
-
label: nls.localize2(
|
|
853
|
+
label: nls.localize2(1000, "Unfold All"),
|
|
854
854
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
855
855
|
kbOpts: {
|
|
856
856
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -878,7 +878,7 @@ class GotoParentFoldAction extends FoldingAction {
|
|
|
878
878
|
constructor() {
|
|
879
879
|
super({
|
|
880
880
|
id: 'editor.gotoParentFold',
|
|
881
|
-
label: nls.localize2(
|
|
881
|
+
label: nls.localize2(1001, "Go to Parent Fold"),
|
|
882
882
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
883
883
|
kbOpts: {
|
|
884
884
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -906,7 +906,7 @@ class GotoPreviousFoldAction extends FoldingAction {
|
|
|
906
906
|
constructor() {
|
|
907
907
|
super({
|
|
908
908
|
id: 'editor.gotoPreviousFold',
|
|
909
|
-
label: nls.localize2(
|
|
909
|
+
label: nls.localize2(1002, "Go to Previous Folding Range"),
|
|
910
910
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
911
911
|
kbOpts: {
|
|
912
912
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -934,7 +934,7 @@ class GotoNextFoldAction extends FoldingAction {
|
|
|
934
934
|
constructor() {
|
|
935
935
|
super({
|
|
936
936
|
id: 'editor.gotoNextFold',
|
|
937
|
-
label: nls.localize2(
|
|
937
|
+
label: nls.localize2(1003, "Go to Next Folding Range"),
|
|
938
938
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
939
939
|
kbOpts: {
|
|
940
940
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -961,7 +961,7 @@ class FoldRangeFromSelectionAction extends FoldingAction {
|
|
|
961
961
|
constructor() {
|
|
962
962
|
super({
|
|
963
963
|
id: 'editor.createFoldingRangeFromSelection',
|
|
964
|
-
label: nls.localize2(
|
|
964
|
+
label: nls.localize2(1004, "Create Folding Range from Selection"),
|
|
965
965
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
966
966
|
kbOpts: {
|
|
967
967
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -1009,7 +1009,7 @@ class RemoveFoldRangeFromSelectionAction extends FoldingAction {
|
|
|
1009
1009
|
constructor() {
|
|
1010
1010
|
super({
|
|
1011
1011
|
id: 'editor.removeManualFoldingRanges',
|
|
1012
|
-
label: nls.localize2(
|
|
1012
|
+
label: nls.localize2(1005, "Remove Manual Folding Ranges"),
|
|
1013
1013
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
1014
1014
|
kbOpts: {
|
|
1015
1015
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -1035,7 +1035,7 @@ class ToggleImportFoldAction extends FoldingAction {
|
|
|
1035
1035
|
constructor() {
|
|
1036
1036
|
super({
|
|
1037
1037
|
id: 'editor.toggleImportFold',
|
|
1038
|
-
label: nls.localize2(
|
|
1038
|
+
label: nls.localize2(1006, "Toggle Import Fold"),
|
|
1039
1039
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
1040
1040
|
kbOpts: {
|
|
1041
1041
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -1078,7 +1078,7 @@ registerEditorAction(ToggleImportFoldAction);
|
|
|
1078
1078
|
for (let i = 1; i <= 7; i++) {
|
|
1079
1079
|
registerInstantiatedEditorAction(new FoldLevelAction({
|
|
1080
1080
|
id: FoldLevelAction.ID(i),
|
|
1081
|
-
label: nls.localize2(
|
|
1081
|
+
label: nls.localize2(1007, "Fold Level {0}", i),
|
|
1082
1082
|
precondition: CONTEXT_FOLDING_ENABLED,
|
|
1083
1083
|
kbOpts: {
|
|
1084
1084
|
kbExpr: EditorContextKeys.editorTextFocus,
|