@easyv/biz-components 0.0.52-beta.1 → 0.0.52-beta.2
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/dist/_virtual/index.es2.js +2 -2
- package/dist/_virtual/index.es3.js +2 -2
- package/dist/_virtual/index.es4.js +2 -2
- package/dist/components/easyv-monaco-editor/monaco-setup.es.js +4 -84
- package/dist/components/easyv-monaco-editor/monaco-setup.es.js.map +1 -1
- package/dist/node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.es.js +1 -1
- package/dist/node_modules/.pnpm/co-web-worker@1.0.1/node_modules/co-web-worker/index.es.js +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/dnd.es.js +1 -11
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/dnd.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/dom.es.js +2 -156
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/dom.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.es.js +1 -9
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/arrays.es.js +0 -75
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/arrays.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/arraysFind.es.js +1 -11
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/arraysFind.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/async.es.js +0 -65
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/async.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/cancellation.es.js +1 -9
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/cancellation.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/equals.es.js +4 -53
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/equals.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/extpath.es.js +1 -8
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/extpath.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/filters.es.js +0 -48
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/filters.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/htmlContent.es.js +0 -10
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/htmlContent.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/lifecycle.es.js +0 -17
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/lifecycle.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/objects.es.js +1 -23
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/objects.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/autorun.es.js +1 -19
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/autorun.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/base.es.js +0 -9
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/base.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/derived.es.js +0 -4
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/derived.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/promise.es.js +2 -44
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/promise.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/utils.es.js +1 -59
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/utils.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/platform.es.js +0 -2
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/platform.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/resources.es.js +6 -10
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/resources.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/strings.es.js +0 -21
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/strings.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/types.es.js +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/types.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.es.js +2 -2
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaInput.es.js +0 -4
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaInput.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/editorExtensions.es.js +8 -148
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/editorExtensions.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/observableCodeEditor.es.js +2 -37
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/observableCodeEditor.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/utils.es.js +1 -7
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/utils.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/commands/replaceCommand.es.js +0 -19
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/commands/replaceCommand.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/core/characterClassifier.es.js +1 -23
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/core/characterClassifier.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/core/editorColorRegistry.es.js +2 -4
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/core/editorColorRegistry.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorWordOperations.es.js +1 -71
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorWordOperations.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/editorFeatures.es.js +1 -5
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/editorFeatures.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/languages/autoIndent.es.js +0 -74
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/languages/autoIndent.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/languages.es.js +3 -6
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/languages.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.es.js +1 -82
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/tokens/lineTokens.es.js +1 -13
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/tokens/lineTokens.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.es.js +1 -15
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/format/browser/format.es.js +8 -236
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/format/browser/format.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/nls.es.js +1 -15
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/nls.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.es.js +0 -30
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/actions/common/actions.es.js +5 -56
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/actions/common/actions.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/contextkey/common/contextkeys.es.js +3 -5
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/contextkey/common/contextkeys.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/list/browser/listService.es.js +1 -2
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/list/browser/listService.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/observable/common/platformObservableUtils.es.js +2 -10
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/observable/common/platformObservableUtils.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/editorColors.es.js +11 -22
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/editorColors.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/listColors.es.js +1 -2
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/listColors.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/minimapColors.es.js +1 -2
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/minimapColors.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/theme/common/iconRegistry.es.js +2 -3
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/theme/common/iconRegistry.es.js.map +1 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/workspace/common/workspace.es.js +3 -51
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/workspace/common/workspace.es.js.map +1 -1
- package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.es.js +1 -1
- package/dist/stats.html +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/monaco/editor.worker.bundle.js +0 -13517
- package/dist/monaco/json.worker.bundle.js +0 -21318
- package/dist/monaco/ts.worker.bundle.js +0 -256351
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/domObservable.es.js +0 -18
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/domObservable.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/replaceInput.es.js +0 -186
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/replaceInput.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/ui/resizable/resizable.es.js +0 -153
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/ui/resizable/resizable.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/dataTransfer.es.js +0 -129
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/dataTransfer.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/errorMessage.es.js +0 -60
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/errorMessage.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/hierarchicalKind.es.js +0 -25
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/hierarchicalKind.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/labels.es.js +0 -12
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/labels.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/search.es.js +0 -42
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/search.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/uuid.es.js +0 -53
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/uuid.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.es.js +0 -70
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.es.js +0 -21
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.es.js +0 -78
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.es.js +0 -273
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/dnd.es.js +0 -70
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/dnd.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/editorBrowser.es.js +0 -20
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/editorBrowser.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.es.js +0 -57
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/commands.es.js +0 -254
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/commands.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/diffEditor.contribution.es.js +0 -79
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/diffEditor.contribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/commands/trimTrailingWhitespaceCommand.es.js +0 -81
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/commands/trimTrailingWhitespaceCommand.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.es.js +0 -61
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/getIconClasses.es.js +0 -84
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/getIconClasses.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensDto.es.js +0 -67
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensDto.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/treeViewsDnd.es.js +0 -23
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/treeViewsDnd.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/treeViewsDndService.es.js +0 -14
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/treeViewsDndService.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/tokens/sparseMultilineTokens.es.js +0 -389
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/tokens/sparseMultilineTokens.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.es.js +0 -182
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.es.js +0 -370
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/browser/caretOperations.es.js +0 -46
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/browser/caretOperations.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/browser/moveCaretCommand.es.js +0 -44
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/browser/moveCaretCommand.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/browser/transpose.es.js +0 -59
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/browser/transpose.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/clipboard/browser/clipboard.es.js +0 -258
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/clipboard/browser/clipboard.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeAction.es.js +0 -271
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeAction.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.es.js +0 -231
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.es.js +0 -61
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionController.es.js +0 -368
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.es.js +0 -78
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.es.js +0 -65
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionModel.es.js +0 -317
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionModel.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.es.js +0 -413
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/common/types.es.js +0 -141
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/common/types.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codeLensCache.es.js +0 -123
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codeLensCache.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelens.es.js +0 -94
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelens.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelensController.es.js +0 -479
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelensController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelensWidget.es.js +0 -249
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelensWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/color.es.js +0 -113
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/color.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorContributions.es.js +0 -61
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorContributions.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorDetector.es.js +0 -263
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorDetector.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.es.js +0 -254
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorPickerModel.es.js +0 -72
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorPickerModel.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorPickerWidget.es.js +0 -365
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorPickerWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/defaultDocumentColorProvider.es.js +0 -56
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/defaultDocumentColorProvider.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.es.js +0 -89
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.es.js +0 -265
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/comment/browser/blockCommentCommand.es.js +0 -127
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/comment/browser/blockCommentCommand.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/comment/browser/comment.es.js +0 -159
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/comment/browser/comment.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/comment/browser/lineCommentCommand.es.js +0 -302
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/comment/browser/lineCommentCommand.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/contextmenu/browser/contextmenu.es.js +0 -358
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/contextmenu/browser/contextmenu.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.es.js +0 -142
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.es.js +0 -60
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dnd/browser/dnd.es.js +0 -207
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dnd/browser/dnd.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dnd/browser/dragAndDropCommand.es.js +0 -45
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dnd/browser/dragAndDropCommand.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/documentSymbols/browser/documentSymbols.es.js +0 -19
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/documentSymbols/browser/documentSymbols.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/documentSymbols/browser/outlineModel.es.js +0 -260
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/documentSymbols/browser/outlineModel.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.es.js +0 -95
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.es.js +0 -504
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.es.js +0 -214
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.es.js +0 -62
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.es.js +0 -168
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/edit.es.js +0 -75
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/edit.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.es.js +0 -211
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/editorState/browser/editorState.es.js +0 -102
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/editorState/browser/editorState.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findController.es.js +0 -1074
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findDecorations.es.js +0 -301
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findDecorations.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findModel.es.js +0 -517
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findModel.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findOptionsWidget.es.js +0 -155
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findOptionsWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findState.es.js +0 -273
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findState.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findWidget.es.js +0 -1208
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/replaceAllCommand.es.js +0 -46
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/replaceAllCommand.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/replacePattern.es.js +0 -237
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/replacePattern.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/folding.es.js +0 -1258
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/folding.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/foldingDecorations.es.js +0 -161
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/foldingDecorations.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/foldingModel.es.js +0 -453
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/foldingModel.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/foldingRanges.es.js +0 -347
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/foldingRanges.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/hiddenRangeModel.es.js +0 -124
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/hiddenRangeModel.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/indentRangeProvider.es.js +0 -152
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/indentRangeProvider.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/syntaxRangeProvider.es.js +0 -169
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/syntaxRangeProvider.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/fontZoom/browser/fontZoom.es.js +0 -46
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/fontZoom/browser/fontZoom.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/format/browser/formatActions.es.js +0 -271
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/format/browser/formatActions.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/format/browser/formattingEdit.es.js +0 -52
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/format/browser/formattingEdit.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/gotoError.es.js +0 -281
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/gotoError.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.es.js +0 -350
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/markerNavigationService.es.js +0 -194
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/markerNavigationService.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.es.js +0 -709
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/goToSymbol.es.js +0 -126
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/goToSymbol.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.es.js +0 -143
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.es.js +0 -248
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.es.js +0 -393
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.es.js +0 -189
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.es.js +0 -458
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.es.js +0 -232
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.es.js +0 -181
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverComputer.es.js +0 -92
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverComputer.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverController2.es.js +0 -298
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverController2.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverRendered.es.js +0 -259
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverRendered.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverStatusBar.es.js +0 -50
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverStatusBar.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverTypes.es.js +0 -28
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverTypes.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverWidget.es.js +0 -383
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverWidgetWrapper.es.js +0 -340
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHoverWidgetWrapper.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/getHover.es.js +0 -46
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/getHover.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverAccessibleViews.es.js +0 -12
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverAccessibleViews.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverActionIds.es.js +0 -32
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverActionIds.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverActions.es.js +0 -452
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverActions.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverContribution.es.js +0 -60
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverContribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverOperation.es.js +0 -152
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverOperation.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverTypes.es.js +0 -60
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverTypes.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverUtils.es.js +0 -12
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverUtils.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/marginHoverComputer.es.js +0 -52
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/marginHoverComputer.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/marginHoverController.es.js +0 -174
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/marginHoverController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/marginHoverWidget.es.js +0 -172
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/marginHoverWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.es.js +0 -386
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.es.js +0 -239
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/resizableContentWidget.es.js +0 -91
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/resizableContentWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.es.js +0 -153
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplaceCommand.es.js +0 -23
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplaceCommand.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/indentation/browser/indentation.es.js +0 -605
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/indentation/browser/indentation.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/indentation/common/indentUtils.es.js +0 -31
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/indentation/common/indentUtils.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/indentation/common/indentation.es.js +0 -83
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/indentation/common/indentation.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHints.es.js +0 -142
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHints.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHintsContribution.es.js +0 -12
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHintsContribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.es.js +0 -566
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.es.js +0 -147
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.es.js +0 -94
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/controller/commandIds.es.js +0 -9
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/controller/commandIds.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.es.js +0 -212
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.es.js +0 -62
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.es.js +0 -286
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.es.js +0 -153
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.es.js +0 -323
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.es.js +0 -25
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.es.js +0 -6
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/model/ghostText.es.js +0 -92
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/model/ghostText.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.es.js +0 -484
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.es.js +0 -268
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.es.js +0 -224
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/model/singleTextEdit.es.js +0 -166
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/model/singleTextEdit.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdaptor.es.js +0 -173
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdaptor.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/utils.es.js +0 -55
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/utils.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostTextView.es.js +0 -311
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostTextView.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/commandIds.es.js +0 -11
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/commandIds.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/commands.es.js +0 -141
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/commands.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.es.js +0 -198
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.es.js +0 -15
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditController.es.js +0 -327
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.es.js +0 -208
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget.es.js +0 -310
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdits/browser/commands.es.js +0 -138
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdits/browser/commands.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdits/browser/consts.es.js +0 -15
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdits/browser/consts.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution.es.js +0 -15
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdits/browser/inlineEditsController.es.js +0 -105
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdits/browser/inlineEditsController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.es.js +0 -236
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.es.js +0 -322
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineProgress/browser/inlineProgress.es.js +0 -149
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/inlineProgress/browser/inlineProgress.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/lineSelection/browser/lineSelection.es.js +0 -35
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/lineSelection/browser/lineSelection.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/linesOperations/browser/copyLinesCommand.es.js +0 -67
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/linesOperations/browser/copyLinesCommand.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/linesOperations/browser/linesOperations.es.js +0 -1114
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/linesOperations/browser/linesOperations.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/linesOperations/browser/moveLinesCommand.es.js +0 -347
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/linesOperations/browser/moveLinesCommand.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/linesOperations/browser/sortLinesCommand.es.js +0 -78
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/linesOperations/browser/sortLinesCommand.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.es.js +0 -382
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/links/browser/getLinks.es.js +0 -141
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/links/browser/getLinks.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/links/browser/links.es.js +0 -374
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/links/browser/links.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.es.js +0 -28
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/message/browser/messageController.es.js +0 -190
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/message/browser/messageController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/multicursor/browser/multicursor.es.js +0 -1088
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/multicursor/browser/multicursor.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHints.es.js +0 -151
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHints.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHintsModel.es.js +0 -262
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHintsModel.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.es.js +0 -328
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/provideSignatureHelp.es.js +0 -55
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/provideSignatureHelp.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/peekView/browser/peekView.es.js +0 -267
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/peekView/browser/peekView.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.es.js +0 -15
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/placeholderText/browser/placeholderTextContribution.es.js +0 -85
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/placeholderText/browser/placeholderTextContribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.es.js +0 -41
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/rename/browser/rename.es.js +0 -475
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/rename/browser/rename.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/rename/browser/renameWidget.es.js +0 -756
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/rename/browser/renameWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.es.js +0 -195
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.es.js +0 -334
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.es.js +0 -137
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/semanticTokens/common/getSemanticTokens.es.js +0 -197
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/semanticTokens/common/getSemanticTokens.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/semanticTokens/common/semanticTokensConfig.es.js +0 -14
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/semanticTokens/common/semanticTokensConfig.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/smartSelect/browser/bracketSelections.es.js +0 -134
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/smartSelect/browser/bracketSelections.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/smartSelect/browser/smartSelect.es.js +0 -277
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/smartSelect/browser/smartSelect.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/smartSelect/browser/wordSelections.es.js +0 -69
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/smartSelect/browser/wordSelections.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetController2.es.js +0 -281
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetController2.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetParser.es.js +0 -926
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetParser.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetSession.es.js +0 -547
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetSession.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetVariables.es.js +0 -282
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetVariables.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.es.js +0 -139
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollContribution.es.js +0 -17
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollContribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.es.js +0 -537
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollElement.es.js +0 -27
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollElement.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.es.js +0 -321
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.es.js +0 -175
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.es.js +0 -451
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/completionModel.es.js +0 -176
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/completionModel.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggest.es.js +0 -305
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggest.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestAlternatives.es.js +0 -90
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestAlternatives.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestCommitCharacters.es.js +0 -56
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestCommitCharacters.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestController.es.js +0 -983
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.es.js +0 -185
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestMemory.es.js +0 -253
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestMemory.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestModel.es.js +0 -724
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestModel.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestOvertypingCapturer.es.js +0 -58
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestOvertypingCapturer.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidget.es.js +0 -909
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.es.js +0 -402
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.es.js +0 -212
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidgetStatus.es.js +0 -72
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidgetStatus.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/wordContextKey.es.js +0 -71
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/wordContextKey.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/wordDistance.es.js +0 -66
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/wordDistance.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.es.js +0 -97
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.es.js +0 -43
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/tokenization/browser/tokenization.es.js +0 -26
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/tokenization/browser/tokenization.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.es.js +0 -113
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.es.js +0 -702
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.es.js +0 -121
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.es.js +0 -110
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.es.js +0 -77
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.es.js +0 -712
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/wordOperations/browser/wordOperations.es.js +0 -523
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/wordOperations/browser/wordOperations.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.es.js +0 -171
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/zoneWidget/browser/zoneWidget.es.js +0 -401
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/contrib/zoneWidget/browser/zoneWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/jsonMode.es.js +0 -2758
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/jsonMode.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/monaco.contribution.es.js +0 -98
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/monaco.contribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/monaco.contribution.es.js +0 -287
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/monaco.contribution.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.es.js +0 -1244
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/accessibility/browser/accessibleViewRegistry.es.js +0 -23
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/accessibility/browser/accessibleViewRegistry.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/action/common/actionCommonCategories.es.js +0 -13
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/action/common/actionCommonCategories.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionList.es.js +0 -285
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionList.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionWidget.es.js +0 -265
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/dnd/browser/dnd.es.js +0 -35
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/dnd/browser/dnd.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/files/common/files.es.js +0 -10
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/files/common/files.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/history/browser/contextScopedHistoryWidget.es.js +0 -113
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/history/browser/contextScopedHistoryWidget.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/history/browser/historyWidgetKeybindingHint.es.js +0 -8
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/history/browser/historyWidgetKeybindingHint.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/observable/common/wrapInReloadableClass.es.js +0 -59
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/observable/common/wrapInReloadableClass.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/opener/browser/link.es.js +0 -95
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/opener/browser/link.es.js.map +0 -1
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/severityIcon/browser/severityIcon.es.js +0 -26
- package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/severityIcon/browser/severityIcon.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textAreaHandler.es.js","sources":["../../../../../../../../../../../../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.js"],"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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nimport './textAreaHandler.css';\nimport * as nls from '../../../nls.js';\nimport * as browser from '../../../base/browser/browser.js';\nimport { createFastDomNode } from '../../../base/browser/fastDomNode.js';\nimport * as platform from '../../../base/common/platform.js';\nimport * as strings from '../../../base/common/strings.js';\nimport { applyFontInfo } from '../config/domFontInfo.js';\nimport { CopyOptions, TextAreaInput, TextAreaWrapper } from './textAreaInput.js';\nimport { PagedScreenReaderStrategy, TextAreaState, _debugComposition } from './textAreaState.js';\nimport { PartFingerprints, ViewPart } from '../view/viewPart.js';\nimport { LineNumbersOverlay } from '../viewParts/lineNumbers/lineNumbers.js';\nimport { Margin } from '../viewParts/margin/margin.js';\nimport { EditorOptions } from '../../common/config/editorOptions.js';\nimport { getMapForWordSeparators } from '../../common/core/wordCharacterClassifier.js';\nimport { Position } from '../../common/core/position.js';\nimport { Range } from '../../common/core/range.js';\nimport { Selection } from '../../common/core/selection.js';\nimport { MOUSE_CURSOR_TEXT_CSS_CLASS_NAME } from '../../../base/browser/ui/mouseCursor/mouseCursor.js';\nimport { TokenizationRegistry } from '../../common/languages.js';\nimport { Color } from '../../../base/common/color.js';\nimport { IME } from '../../../base/common/ime.js';\nimport { IKeybindingService } from '../../../platform/keybinding/common/keybinding.js';\nimport { IInstantiationService } from '../../../platform/instantiation/common/instantiation.js';\nclass VisibleTextAreaData {\n constructor(_context, modelLineNumber, distanceToModelLineStart, widthOfHiddenLineTextBefore, distanceToModelLineEnd) {\n this._context = _context;\n this.modelLineNumber = modelLineNumber;\n this.distanceToModelLineStart = distanceToModelLineStart;\n this.widthOfHiddenLineTextBefore = widthOfHiddenLineTextBefore;\n this.distanceToModelLineEnd = distanceToModelLineEnd;\n this._visibleTextAreaBrand = undefined;\n this.startPosition = null;\n this.endPosition = null;\n this.visibleTextareaStart = null;\n this.visibleTextareaEnd = null;\n /**\n * When doing composition, the currently composed text might be split up into\n * multiple tokens, then merged again into a single token, etc. Here we attempt\n * to keep the presentation of the <textarea> stable by using the previous used\n * style if multiple tokens come into play. This avoids flickering.\n */\n this._previousPresentation = null;\n }\n prepareRender(visibleRangeProvider) {\n const startModelPosition = new Position(this.modelLineNumber, this.distanceToModelLineStart + 1);\n const endModelPosition = new Position(this.modelLineNumber, this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber) - this.distanceToModelLineEnd);\n this.startPosition = this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(startModelPosition);\n this.endPosition = this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(endModelPosition);\n if (this.startPosition.lineNumber === this.endPosition.lineNumber) {\n this.visibleTextareaStart = visibleRangeProvider.visibleRangeForPosition(this.startPosition);\n this.visibleTextareaEnd = visibleRangeProvider.visibleRangeForPosition(this.endPosition);\n }\n else {\n // TODO: what if the view positions are not on the same line?\n this.visibleTextareaStart = null;\n this.visibleTextareaEnd = null;\n }\n }\n definePresentation(tokenPresentation) {\n if (!this._previousPresentation) {\n // To avoid flickering, once set, always reuse a presentation throughout the entire IME session\n if (tokenPresentation) {\n this._previousPresentation = tokenPresentation;\n }\n else {\n this._previousPresentation = {\n foreground: 1 /* ColorId.DefaultForeground */,\n italic: false,\n bold: false,\n underline: false,\n strikethrough: false,\n };\n }\n }\n return this._previousPresentation;\n }\n}\nconst canUseZeroSizeTextarea = (browser.isFirefox);\nlet TextAreaHandler = class TextAreaHandler extends ViewPart {\n constructor(context, viewController, visibleRangeProvider, _keybindingService, _instantiationService) {\n super(context);\n this._keybindingService = _keybindingService;\n this._instantiationService = _instantiationService;\n this._primaryCursorPosition = new Position(1, 1);\n this._primaryCursorVisibleRange = null;\n this._viewController = viewController;\n this._visibleRangeProvider = visibleRangeProvider;\n this._scrollLeft = 0;\n this._scrollTop = 0;\n const options = this._context.configuration.options;\n const layoutInfo = options.get(146 /* EditorOption.layoutInfo */);\n this._setAccessibilityOptions(options);\n this._contentLeft = layoutInfo.contentLeft;\n this._contentWidth = layoutInfo.contentWidth;\n this._contentHeight = layoutInfo.height;\n this._fontInfo = options.get(50 /* EditorOption.fontInfo */);\n this._lineHeight = options.get(67 /* EditorOption.lineHeight */);\n this._emptySelectionClipboard = options.get(37 /* EditorOption.emptySelectionClipboard */);\n this._copyWithSyntaxHighlighting = options.get(25 /* EditorOption.copyWithSyntaxHighlighting */);\n this._visibleTextArea = null;\n this._selections = [new Selection(1, 1, 1, 1)];\n this._modelSelections = [new Selection(1, 1, 1, 1)];\n this._lastRenderPosition = null;\n // Text Area (The focus will always be in the textarea when the cursor is blinking)\n this.textArea = createFastDomNode(document.createElement('textarea'));\n PartFingerprints.write(this.textArea, 7 /* PartFingerprint.TextArea */);\n this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`);\n this.textArea.setAttribute('wrap', this._textAreaWrapping && !this._visibleTextArea ? 'on' : 'off');\n const { tabSize } = this._context.viewModel.model.getOptions();\n this.textArea.domNode.style.tabSize = `${tabSize * this._fontInfo.spaceWidth}px`;\n this.textArea.setAttribute('autocorrect', 'off');\n this.textArea.setAttribute('autocapitalize', 'off');\n this.textArea.setAttribute('autocomplete', 'off');\n this.textArea.setAttribute('spellcheck', 'false');\n this.textArea.setAttribute('aria-label', this._getAriaLabel(options));\n this.textArea.setAttribute('aria-required', options.get(5 /* EditorOption.ariaRequired */) ? 'true' : 'false');\n this.textArea.setAttribute('tabindex', String(options.get(125 /* EditorOption.tabIndex */)));\n this.textArea.setAttribute('role', 'textbox');\n this.textArea.setAttribute('aria-roledescription', nls.localize('editor', \"editor\"));\n this.textArea.setAttribute('aria-multiline', 'true');\n this.textArea.setAttribute('aria-autocomplete', options.get(92 /* EditorOption.readOnly */) ? 'none' : 'both');\n this._ensureReadOnlyAttribute();\n this.textAreaCover = createFastDomNode(document.createElement('div'));\n this.textAreaCover.setPosition('absolute');\n const simpleModel = {\n getLineCount: () => {\n return this._context.viewModel.getLineCount();\n },\n getLineMaxColumn: (lineNumber) => {\n return this._context.viewModel.getLineMaxColumn(lineNumber);\n },\n getValueInRange: (range, eol) => {\n return this._context.viewModel.getValueInRange(range, eol);\n },\n getValueLengthInRange: (range, eol) => {\n return this._context.viewModel.getValueLengthInRange(range, eol);\n },\n modifyPosition: (position, offset) => {\n return this._context.viewModel.modifyPosition(position, offset);\n }\n };\n const textAreaInputHost = {\n getDataToCopy: () => {\n const rawTextToCopy = this._context.viewModel.getPlainTextToCopy(this._modelSelections, this._emptySelectionClipboard, platform.isWindows);\n const newLineCharacter = this._context.viewModel.model.getEOL();\n const isFromEmptySelection = (this._emptySelectionClipboard && this._modelSelections.length === 1 && this._modelSelections[0].isEmpty());\n const multicursorText = (Array.isArray(rawTextToCopy) ? rawTextToCopy : null);\n const text = (Array.isArray(rawTextToCopy) ? rawTextToCopy.join(newLineCharacter) : rawTextToCopy);\n let html = undefined;\n let mode = null;\n if (CopyOptions.forceCopyWithSyntaxHighlighting || (this._copyWithSyntaxHighlighting && text.length < 65536)) {\n const richText = this._context.viewModel.getRichTextToCopy(this._modelSelections, this._emptySelectionClipboard);\n if (richText) {\n html = richText.html;\n mode = richText.mode;\n }\n }\n return {\n isFromEmptySelection,\n multicursorText,\n text,\n html,\n mode\n };\n },\n getScreenReaderContent: () => {\n if (this._accessibilitySupport === 1 /* AccessibilitySupport.Disabled */) {\n // We know for a fact that a screen reader is not attached\n // On OSX, we write the character before the cursor to allow for \"long-press\" composition\n // Also on OSX, we write the word before the cursor to allow for the Accessibility Keyboard to give good hints\n const selection = this._selections[0];\n if (platform.isMacintosh && selection.isEmpty()) {\n const position = selection.getStartPosition();\n let textBefore = this._getWordBeforePosition(position);\n if (textBefore.length === 0) {\n textBefore = this._getCharacterBeforePosition(position);\n }\n if (textBefore.length > 0) {\n return new TextAreaState(textBefore, textBefore.length, textBefore.length, Range.fromPositions(position), 0);\n }\n }\n // on macOS, write current selection into textarea will allow system text services pick selected text,\n // but we still want to limit the amount of text given Chromium handles very poorly text even of a few\n // thousand chars\n // (https://github.com/microsoft/vscode/issues/27799)\n const LIMIT_CHARS = 500;\n if (platform.isMacintosh && !selection.isEmpty() && simpleModel.getValueLengthInRange(selection, 0 /* EndOfLinePreference.TextDefined */) < LIMIT_CHARS) {\n const text = simpleModel.getValueInRange(selection, 0 /* EndOfLinePreference.TextDefined */);\n return new TextAreaState(text, 0, text.length, selection, 0);\n }\n // on Safari, document.execCommand('cut') and document.execCommand('copy') will just not work\n // if the textarea has no content selected. So if there is an editor selection, ensure something\n // is selected in the textarea.\n if (browser.isSafari && !selection.isEmpty()) {\n const placeholderText = 'vscode-placeholder';\n return new TextAreaState(placeholderText, 0, placeholderText.length, null, undefined);\n }\n return TextAreaState.EMPTY;\n }\n if (browser.isAndroid) {\n // when tapping in the editor on a word, Android enters composition mode.\n // in the `compositionstart` event we cannot clear the textarea, because\n // it then forgets to ever send a `compositionend`.\n // we therefore only write the current word in the textarea\n const selection = this._selections[0];\n if (selection.isEmpty()) {\n const position = selection.getStartPosition();\n const [wordAtPosition, positionOffsetInWord] = this._getAndroidWordAtPosition(position);\n if (wordAtPosition.length > 0) {\n return new TextAreaState(wordAtPosition, positionOffsetInWord, positionOffsetInWord, Range.fromPositions(position), 0);\n }\n }\n return TextAreaState.EMPTY;\n }\n return PagedScreenReaderStrategy.fromEditorSelection(simpleModel, this._selections[0], this._accessibilityPageSize, this._accessibilitySupport === 0 /* AccessibilitySupport.Unknown */);\n },\n deduceModelPosition: (viewAnchorPosition, deltaOffset, lineFeedCnt) => {\n return this._context.viewModel.deduceModelPositionRelativeToViewPosition(viewAnchorPosition, deltaOffset, lineFeedCnt);\n }\n };\n const textAreaWrapper = this._register(new TextAreaWrapper(this.textArea.domNode));\n this._textAreaInput = this._register(this._instantiationService.createInstance(TextAreaInput, textAreaInputHost, textAreaWrapper, platform.OS, {\n isAndroid: browser.isAndroid,\n isChrome: browser.isChrome,\n isFirefox: browser.isFirefox,\n isSafari: browser.isSafari,\n }));\n this._register(this._textAreaInput.onKeyDown((e) => {\n this._viewController.emitKeyDown(e);\n }));\n this._register(this._textAreaInput.onKeyUp((e) => {\n this._viewController.emitKeyUp(e);\n }));\n this._register(this._textAreaInput.onPaste((e) => {\n let pasteOnNewLine = false;\n let multicursorText = null;\n let mode = null;\n if (e.metadata) {\n pasteOnNewLine = (this._emptySelectionClipboard && !!e.metadata.isFromEmptySelection);\n multicursorText = (typeof e.metadata.multicursorText !== 'undefined' ? e.metadata.multicursorText : null);\n mode = e.metadata.mode;\n }\n this._viewController.paste(e.text, pasteOnNewLine, multicursorText, mode);\n }));\n this._register(this._textAreaInput.onCut(() => {\n this._viewController.cut();\n }));\n this._register(this._textAreaInput.onType((e) => {\n if (e.replacePrevCharCnt || e.replaceNextCharCnt || e.positionDelta) {\n // must be handled through the new command\n if (_debugComposition) {\n console.log(` => compositionType: <<${e.text}>>, ${e.replacePrevCharCnt}, ${e.replaceNextCharCnt}, ${e.positionDelta}`);\n }\n this._viewController.compositionType(e.text, e.replacePrevCharCnt, e.replaceNextCharCnt, e.positionDelta);\n }\n else {\n if (_debugComposition) {\n console.log(` => type: <<${e.text}>>`);\n }\n this._viewController.type(e.text);\n }\n }));\n this._register(this._textAreaInput.onSelectionChangeRequest((modelSelection) => {\n this._viewController.setSelection(modelSelection);\n }));\n this._register(this._textAreaInput.onCompositionStart((e) => {\n // The textarea might contain some content when composition starts.\n //\n // When we make the textarea visible, it always has a height of 1 line,\n // so we don't need to worry too much about content on lines above or below\n // the selection.\n //\n // However, the text on the current line needs to be made visible because\n // some IME methods allow to move to other glyphs on the current line\n // (by pressing arrow keys).\n //\n // (1) The textarea might contain only some parts of the current line,\n // like the word before the selection. Also, the content inside the textarea\n // can grow or shrink as composition occurs. We therefore anchor the textarea\n // in terms of distance to a certain line start and line end.\n //\n // (2) Also, we should not make \\t characters visible, because their rendering\n // inside the <textarea> will not align nicely with our rendering. We therefore\n // will hide (if necessary) some of the leading text on the current line.\n const ta = this.textArea.domNode;\n const modelSelection = this._modelSelections[0];\n const { distanceToModelLineStart, widthOfHiddenTextBefore } = (() => {\n // Find the text that is on the current line before the selection\n const textBeforeSelection = ta.value.substring(0, Math.min(ta.selectionStart, ta.selectionEnd));\n const lineFeedOffset1 = textBeforeSelection.lastIndexOf('\\n');\n const lineTextBeforeSelection = textBeforeSelection.substring(lineFeedOffset1 + 1);\n // We now search to see if we should hide some part of it (if it contains \\t)\n const tabOffset1 = lineTextBeforeSelection.lastIndexOf('\\t');\n const desiredVisibleBeforeCharCount = lineTextBeforeSelection.length - tabOffset1 - 1;\n const startModelPosition = modelSelection.getStartPosition();\n const visibleBeforeCharCount = Math.min(startModelPosition.column - 1, desiredVisibleBeforeCharCount);\n const distanceToModelLineStart = startModelPosition.column - 1 - visibleBeforeCharCount;\n const hiddenLineTextBefore = lineTextBeforeSelection.substring(0, lineTextBeforeSelection.length - visibleBeforeCharCount);\n const { tabSize } = this._context.viewModel.model.getOptions();\n const widthOfHiddenTextBefore = measureText(this.textArea.domNode.ownerDocument, hiddenLineTextBefore, this._fontInfo, tabSize);\n return { distanceToModelLineStart, widthOfHiddenTextBefore };\n })();\n const { distanceToModelLineEnd } = (() => {\n // Find the text that is on the current line after the selection\n const textAfterSelection = ta.value.substring(Math.max(ta.selectionStart, ta.selectionEnd));\n const lineFeedOffset2 = textAfterSelection.indexOf('\\n');\n const lineTextAfterSelection = lineFeedOffset2 === -1 ? textAfterSelection : textAfterSelection.substring(0, lineFeedOffset2);\n const tabOffset2 = lineTextAfterSelection.indexOf('\\t');\n const desiredVisibleAfterCharCount = (tabOffset2 === -1 ? lineTextAfterSelection.length : lineTextAfterSelection.length - tabOffset2 - 1);\n const endModelPosition = modelSelection.getEndPosition();\n const visibleAfterCharCount = Math.min(this._context.viewModel.model.getLineMaxColumn(endModelPosition.lineNumber) - endModelPosition.column, desiredVisibleAfterCharCount);\n const distanceToModelLineEnd = this._context.viewModel.model.getLineMaxColumn(endModelPosition.lineNumber) - endModelPosition.column - visibleAfterCharCount;\n return { distanceToModelLineEnd };\n })();\n // Scroll to reveal the location in the editor where composition occurs\n this._context.viewModel.revealRange('keyboard', true, Range.fromPositions(this._selections[0].getStartPosition()), 0 /* viewEvents.VerticalRevealType.Simple */, 1 /* ScrollType.Immediate */);\n this._visibleTextArea = new VisibleTextAreaData(this._context, modelSelection.startLineNumber, distanceToModelLineStart, widthOfHiddenTextBefore, distanceToModelLineEnd);\n // We turn off wrapping if the <textarea> becomes visible for composition\n this.textArea.setAttribute('wrap', this._textAreaWrapping && !this._visibleTextArea ? 'on' : 'off');\n this._visibleTextArea.prepareRender(this._visibleRangeProvider);\n this._render();\n // Show the textarea\n this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ime-input`);\n this._viewController.compositionStart();\n this._context.viewModel.onCompositionStart();\n }));\n this._register(this._textAreaInput.onCompositionUpdate((e) => {\n if (!this._visibleTextArea) {\n return;\n }\n this._visibleTextArea.prepareRender(this._visibleRangeProvider);\n this._render();\n }));\n this._register(this._textAreaInput.onCompositionEnd(() => {\n this._visibleTextArea = null;\n // We turn on wrapping as necessary if the <textarea> hides after composition\n this.textArea.setAttribute('wrap', this._textAreaWrapping && !this._visibleTextArea ? 'on' : 'off');\n this._render();\n this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`);\n this._viewController.compositionEnd();\n this._context.viewModel.onCompositionEnd();\n }));\n this._register(this._textAreaInput.onFocus(() => {\n this._context.viewModel.setHasFocus(true);\n }));\n this._register(this._textAreaInput.onBlur(() => {\n this._context.viewModel.setHasFocus(false);\n }));\n this._register(IME.onDidChange(() => {\n this._ensureReadOnlyAttribute();\n }));\n }\n writeScreenReaderContent(reason) {\n this._textAreaInput.writeNativeTextAreaContent(reason);\n }\n dispose() {\n super.dispose();\n }\n _getAndroidWordAtPosition(position) {\n const ANDROID_WORD_SEPARATORS = '`~!@#$%^&*()-=+[{]}\\\\|;:\",.<>/?';\n const lineContent = this._context.viewModel.getLineContent(position.lineNumber);\n const wordSeparators = getMapForWordSeparators(ANDROID_WORD_SEPARATORS, []);\n let goingLeft = true;\n let startColumn = position.column;\n let goingRight = true;\n let endColumn = position.column;\n let distance = 0;\n while (distance < 50 && (goingLeft || goingRight)) {\n if (goingLeft && startColumn <= 1) {\n goingLeft = false;\n }\n if (goingLeft) {\n const charCode = lineContent.charCodeAt(startColumn - 2);\n const charClass = wordSeparators.get(charCode);\n if (charClass !== 0 /* WordCharacterClass.Regular */) {\n goingLeft = false;\n }\n else {\n startColumn--;\n }\n }\n if (goingRight && endColumn > lineContent.length) {\n goingRight = false;\n }\n if (goingRight) {\n const charCode = lineContent.charCodeAt(endColumn - 1);\n const charClass = wordSeparators.get(charCode);\n if (charClass !== 0 /* WordCharacterClass.Regular */) {\n goingRight = false;\n }\n else {\n endColumn++;\n }\n }\n distance++;\n }\n return [lineContent.substring(startColumn - 1, endColumn - 1), position.column - startColumn];\n }\n _getWordBeforePosition(position) {\n const lineContent = this._context.viewModel.getLineContent(position.lineNumber);\n const wordSeparators = getMapForWordSeparators(this._context.configuration.options.get(132 /* EditorOption.wordSeparators */), []);\n let column = position.column;\n let distance = 0;\n while (column > 1) {\n const charCode = lineContent.charCodeAt(column - 2);\n const charClass = wordSeparators.get(charCode);\n if (charClass !== 0 /* WordCharacterClass.Regular */ || distance > 50) {\n return lineContent.substring(column - 1, position.column - 1);\n }\n distance++;\n column--;\n }\n return lineContent.substring(0, position.column - 1);\n }\n _getCharacterBeforePosition(position) {\n if (position.column > 1) {\n const lineContent = this._context.viewModel.getLineContent(position.lineNumber);\n const charBefore = lineContent.charAt(position.column - 2);\n if (!strings.isHighSurrogate(charBefore.charCodeAt(0))) {\n return charBefore;\n }\n }\n return '';\n }\n _getAriaLabel(options) {\n const accessibilitySupport = options.get(2 /* EditorOption.accessibilitySupport */);\n if (accessibilitySupport === 1 /* AccessibilitySupport.Disabled */) {\n const toggleKeybindingLabel = this._keybindingService.lookupKeybinding('editor.action.toggleScreenReaderAccessibilityMode')?.getAriaLabel();\n const runCommandKeybindingLabel = this._keybindingService.lookupKeybinding('workbench.action.showCommands')?.getAriaLabel();\n const keybindingEditorKeybindingLabel = this._keybindingService.lookupKeybinding('workbench.action.openGlobalKeybindings')?.getAriaLabel();\n const editorNotAccessibleMessage = nls.localize('accessibilityModeOff', \"The editor is not accessible at this time.\");\n if (toggleKeybindingLabel) {\n return nls.localize('accessibilityOffAriaLabel', \"{0} To enable screen reader optimized mode, use {1}\", editorNotAccessibleMessage, toggleKeybindingLabel);\n }\n else if (runCommandKeybindingLabel) {\n return nls.localize('accessibilityOffAriaLabelNoKb', \"{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.\", editorNotAccessibleMessage, runCommandKeybindingLabel);\n }\n else if (keybindingEditorKeybindingLabel) {\n return nls.localize('accessibilityOffAriaLabelNoKbs', \"{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.\", editorNotAccessibleMessage, keybindingEditorKeybindingLabel);\n }\n else {\n // SOS\n return editorNotAccessibleMessage;\n }\n }\n return options.get(4 /* EditorOption.ariaLabel */);\n }\n _setAccessibilityOptions(options) {\n this._accessibilitySupport = options.get(2 /* EditorOption.accessibilitySupport */);\n const accessibilityPageSize = options.get(3 /* EditorOption.accessibilityPageSize */);\n if (this._accessibilitySupport === 2 /* AccessibilitySupport.Enabled */ && accessibilityPageSize === EditorOptions.accessibilityPageSize.defaultValue) {\n // If a screen reader is attached and the default value is not set we should automatically increase the page size to 500 for a better experience\n this._accessibilityPageSize = 500;\n }\n else {\n this._accessibilityPageSize = accessibilityPageSize;\n }\n // When wrapping is enabled and a screen reader might be attached,\n // we will size the textarea to match the width used for wrapping points computation (see `domLineBreaksComputer.ts`).\n // This is because screen readers will read the text in the textarea and we'd like that the\n // wrapping points in the textarea match the wrapping points in the editor.\n const layoutInfo = options.get(146 /* EditorOption.layoutInfo */);\n const wrappingColumn = layoutInfo.wrappingColumn;\n if (wrappingColumn !== -1 && this._accessibilitySupport !== 1 /* AccessibilitySupport.Disabled */) {\n const fontInfo = options.get(50 /* EditorOption.fontInfo */);\n this._textAreaWrapping = true;\n this._textAreaWidth = Math.round(wrappingColumn * fontInfo.typicalHalfwidthCharacterWidth);\n }\n else {\n this._textAreaWrapping = false;\n this._textAreaWidth = (canUseZeroSizeTextarea ? 0 : 1);\n }\n }\n // --- begin event handlers\n onConfigurationChanged(e) {\n const options = this._context.configuration.options;\n const layoutInfo = options.get(146 /* EditorOption.layoutInfo */);\n this._setAccessibilityOptions(options);\n this._contentLeft = layoutInfo.contentLeft;\n this._contentWidth = layoutInfo.contentWidth;\n this._contentHeight = layoutInfo.height;\n this._fontInfo = options.get(50 /* EditorOption.fontInfo */);\n this._lineHeight = options.get(67 /* EditorOption.lineHeight */);\n this._emptySelectionClipboard = options.get(37 /* EditorOption.emptySelectionClipboard */);\n this._copyWithSyntaxHighlighting = options.get(25 /* EditorOption.copyWithSyntaxHighlighting */);\n this.textArea.setAttribute('wrap', this._textAreaWrapping && !this._visibleTextArea ? 'on' : 'off');\n const { tabSize } = this._context.viewModel.model.getOptions();\n this.textArea.domNode.style.tabSize = `${tabSize * this._fontInfo.spaceWidth}px`;\n this.textArea.setAttribute('aria-label', this._getAriaLabel(options));\n this.textArea.setAttribute('aria-required', options.get(5 /* EditorOption.ariaRequired */) ? 'true' : 'false');\n this.textArea.setAttribute('tabindex', String(options.get(125 /* EditorOption.tabIndex */)));\n if (e.hasChanged(34 /* EditorOption.domReadOnly */) || e.hasChanged(92 /* EditorOption.readOnly */)) {\n this._ensureReadOnlyAttribute();\n }\n if (e.hasChanged(2 /* EditorOption.accessibilitySupport */)) {\n this._textAreaInput.writeNativeTextAreaContent('strategy changed');\n }\n return true;\n }\n onCursorStateChanged(e) {\n this._selections = e.selections.slice(0);\n this._modelSelections = e.modelSelections.slice(0);\n // We must update the <textarea> synchronously, otherwise long press IME on macos breaks.\n // See https://github.com/microsoft/vscode/issues/165821\n this._textAreaInput.writeNativeTextAreaContent('selection changed');\n return true;\n }\n onDecorationsChanged(e) {\n // true for inline decorations that can end up relayouting text\n return true;\n }\n onFlushed(e) {\n return true;\n }\n onLinesChanged(e) {\n return true;\n }\n onLinesDeleted(e) {\n return true;\n }\n onLinesInserted(e) {\n return true;\n }\n onScrollChanged(e) {\n this._scrollLeft = e.scrollLeft;\n this._scrollTop = e.scrollTop;\n return true;\n }\n onZonesChanged(e) {\n return true;\n }\n // --- end event handlers\n // --- begin view API\n isFocused() {\n return this._textAreaInput.isFocused();\n }\n focusTextArea() {\n this._textAreaInput.focusTextArea();\n }\n getLastRenderData() {\n return this._lastRenderPosition;\n }\n setAriaOptions(options) {\n if (options.activeDescendant) {\n this.textArea.setAttribute('aria-haspopup', 'true');\n this.textArea.setAttribute('aria-autocomplete', 'list');\n this.textArea.setAttribute('aria-activedescendant', options.activeDescendant);\n }\n else {\n this.textArea.setAttribute('aria-haspopup', 'false');\n this.textArea.setAttribute('aria-autocomplete', 'both');\n this.textArea.removeAttribute('aria-activedescendant');\n }\n if (options.role) {\n this.textArea.setAttribute('role', options.role);\n }\n }\n // --- end view API\n _ensureReadOnlyAttribute() {\n const options = this._context.configuration.options;\n // When someone requests to disable IME, we set the \"readonly\" attribute on the <textarea>.\n // This will prevent composition.\n const useReadOnly = !IME.enabled || (options.get(34 /* EditorOption.domReadOnly */) && options.get(92 /* EditorOption.readOnly */));\n if (useReadOnly) {\n this.textArea.setAttribute('readonly', 'true');\n }\n else {\n this.textArea.removeAttribute('readonly');\n }\n }\n prepareRender(ctx) {\n this._primaryCursorPosition = new Position(this._selections[0].positionLineNumber, this._selections[0].positionColumn);\n this._primaryCursorVisibleRange = ctx.visibleRangeForPosition(this._primaryCursorPosition);\n this._visibleTextArea?.prepareRender(ctx);\n }\n render(ctx) {\n this._textAreaInput.writeNativeTextAreaContent('render');\n this._render();\n }\n _render() {\n if (this._visibleTextArea) {\n // The text area is visible for composition reasons\n const visibleStart = this._visibleTextArea.visibleTextareaStart;\n const visibleEnd = this._visibleTextArea.visibleTextareaEnd;\n const startPosition = this._visibleTextArea.startPosition;\n const endPosition = this._visibleTextArea.endPosition;\n if (startPosition && endPosition && visibleStart && visibleEnd && visibleEnd.left >= this._scrollLeft && visibleStart.left <= this._scrollLeft + this._contentWidth) {\n const top = (this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber) - this._scrollTop);\n const lineCount = this._newlinecount(this.textArea.domNode.value.substr(0, this.textArea.domNode.selectionStart));\n let scrollLeft = this._visibleTextArea.widthOfHiddenLineTextBefore;\n let left = (this._contentLeft + visibleStart.left - this._scrollLeft);\n // See https://github.com/microsoft/vscode/issues/141725#issuecomment-1050670841\n // Here we are adding +1 to avoid flickering that might be caused by having a width that is too small.\n // This could be caused by rounding errors that might only show up with certain font families.\n // In other words, a pixel might be lost when doing something like\n // `Math.round(end) - Math.round(start)`\n // vs\n // `Math.round(end - start)`\n let width = visibleEnd.left - visibleStart.left + 1;\n if (left < this._contentLeft) {\n // the textarea would be rendered on top of the margin,\n // so reduce its width. We use the same technique as\n // for hiding text before\n const delta = (this._contentLeft - left);\n left += delta;\n scrollLeft += delta;\n width -= delta;\n }\n if (width > this._contentWidth) {\n // the textarea would be wider than the content width,\n // so reduce its width.\n width = this._contentWidth;\n }\n // Try to render the textarea with the color/font style to match the text under it\n const viewLineData = this._context.viewModel.getViewLineData(startPosition.lineNumber);\n const startTokenIndex = viewLineData.tokens.findTokenIndexAtOffset(startPosition.column - 1);\n const endTokenIndex = viewLineData.tokens.findTokenIndexAtOffset(endPosition.column - 1);\n const textareaSpansSingleToken = (startTokenIndex === endTokenIndex);\n const presentation = this._visibleTextArea.definePresentation((textareaSpansSingleToken ? viewLineData.tokens.getPresentation(startTokenIndex) : null));\n this.textArea.domNode.scrollTop = lineCount * this._lineHeight;\n this.textArea.domNode.scrollLeft = scrollLeft;\n this._doRender({\n lastRenderPosition: null,\n top: top,\n left: left,\n width: width,\n height: this._lineHeight,\n useCover: false,\n color: (TokenizationRegistry.getColorMap() || [])[presentation.foreground],\n italic: presentation.italic,\n bold: presentation.bold,\n underline: presentation.underline,\n strikethrough: presentation.strikethrough\n });\n }\n return;\n }\n if (!this._primaryCursorVisibleRange) {\n // The primary cursor is outside the viewport => place textarea to the top left\n this._renderAtTopLeft();\n return;\n }\n const left = this._contentLeft + this._primaryCursorVisibleRange.left - this._scrollLeft;\n if (left < this._contentLeft || left > this._contentLeft + this._contentWidth) {\n // cursor is outside the viewport\n this._renderAtTopLeft();\n return;\n }\n const top = this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber) - this._scrollTop;\n if (top < 0 || top > this._contentHeight) {\n // cursor is outside the viewport\n this._renderAtTopLeft();\n return;\n }\n // The primary cursor is in the viewport (at least vertically) => place textarea on the cursor\n if (platform.isMacintosh || this._accessibilitySupport === 2 /* AccessibilitySupport.Enabled */) {\n // For the popup emoji input, we will make the text area as high as the line height\n // We will also make the fontSize and lineHeight the correct dimensions to help with the placement of these pickers\n this._doRender({\n lastRenderPosition: this._primaryCursorPosition,\n top,\n left: this._textAreaWrapping ? this._contentLeft : left,\n width: this._textAreaWidth,\n height: this._lineHeight,\n useCover: false\n });\n // In case the textarea contains a word, we're going to try to align the textarea's cursor\n // with our cursor by scrolling the textarea as much as possible\n this.textArea.domNode.scrollLeft = this._primaryCursorVisibleRange.left;\n const lineCount = this._textAreaInput.textAreaState.newlineCountBeforeSelection ?? this._newlinecount(this.textArea.domNode.value.substr(0, this.textArea.domNode.selectionStart));\n this.textArea.domNode.scrollTop = lineCount * this._lineHeight;\n return;\n }\n this._doRender({\n lastRenderPosition: this._primaryCursorPosition,\n top: top,\n left: this._textAreaWrapping ? this._contentLeft : left,\n width: this._textAreaWidth,\n height: (canUseZeroSizeTextarea ? 0 : 1),\n useCover: false\n });\n }\n _newlinecount(text) {\n let result = 0;\n let startIndex = -1;\n do {\n startIndex = text.indexOf('\\n', startIndex + 1);\n if (startIndex === -1) {\n break;\n }\n result++;\n } while (true);\n return result;\n }\n _renderAtTopLeft() {\n // (in WebKit the textarea is 1px by 1px because it cannot handle input to a 0x0 textarea)\n // specifically, when doing Korean IME, setting the textarea to 0x0 breaks IME badly.\n this._doRender({\n lastRenderPosition: null,\n top: 0,\n left: 0,\n width: this._textAreaWidth,\n height: (canUseZeroSizeTextarea ? 0 : 1),\n useCover: true\n });\n }\n _doRender(renderData) {\n this._lastRenderPosition = renderData.lastRenderPosition;\n const ta = this.textArea;\n const tac = this.textAreaCover;\n applyFontInfo(ta, this._fontInfo);\n ta.setTop(renderData.top);\n ta.setLeft(renderData.left);\n ta.setWidth(renderData.width);\n ta.setHeight(renderData.height);\n ta.setColor(renderData.color ? Color.Format.CSS.formatHex(renderData.color) : '');\n ta.setFontStyle(renderData.italic ? 'italic' : '');\n if (renderData.bold) {\n // fontWeight is also set by `applyFontInfo`, so only overwrite it if necessary\n ta.setFontWeight('bold');\n }\n ta.setTextDecoration(`${renderData.underline ? ' underline' : ''}${renderData.strikethrough ? ' line-through' : ''}`);\n tac.setTop(renderData.useCover ? renderData.top : 0);\n tac.setLeft(renderData.useCover ? renderData.left : 0);\n tac.setWidth(renderData.useCover ? renderData.width : 0);\n tac.setHeight(renderData.useCover ? renderData.height : 0);\n const options = this._context.configuration.options;\n if (options.get(57 /* EditorOption.glyphMargin */)) {\n tac.setClassName('monaco-editor-background textAreaCover ' + Margin.OUTER_CLASS_NAME);\n }\n else {\n if (options.get(68 /* EditorOption.lineNumbers */).renderType !== 0 /* RenderLineNumbersType.Off */) {\n tac.setClassName('monaco-editor-background textAreaCover ' + LineNumbersOverlay.CLASS_NAME);\n }\n else {\n tac.setClassName('monaco-editor-background textAreaCover');\n }\n }\n }\n};\nTextAreaHandler = __decorate([\n __param(3, IKeybindingService),\n __param(4, IInstantiationService)\n], TextAreaHandler);\nexport { TextAreaHandler };\nfunction measureText(targetDocument, text, fontInfo, tabSize) {\n if (text.length === 0) {\n return 0;\n }\n const container = targetDocument.createElement('div');\n container.style.position = 'absolute';\n container.style.top = '-50000px';\n container.style.width = '50000px';\n const regularDomNode = targetDocument.createElement('span');\n applyFontInfo(regularDomNode, fontInfo);\n regularDomNode.style.whiteSpace = 'pre'; // just like the textarea\n regularDomNode.style.tabSize = `${tabSize * fontInfo.spaceWidth}px`; // just like the textarea\n regularDomNode.append(text);\n container.appendChild(regularDomNode);\n targetDocument.body.appendChild(container);\n const res = regularDomNode.offsetWidth;\n container.remove();\n return res;\n}\n"],"names":["browser.isFirefox","TextAreaHandler","nls.localize","platform.isWindows","platform.isMacintosh","browser.isSafari","browser.isAndroid","platform.OS","distanceToModelLineStart","tabSize","widthOfHiddenTextBefore","distanceToModelLineEnd","strings.isHighSurrogate","top","left"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"textAreaHandler.es.js","sources":["../../../../../../../../../../../../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.js"],"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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nimport './textAreaHandler.css';\nimport * as nls from '../../../nls.js';\nimport * as browser from '../../../base/browser/browser.js';\nimport { createFastDomNode } from '../../../base/browser/fastDomNode.js';\nimport * as platform from '../../../base/common/platform.js';\nimport * as strings from '../../../base/common/strings.js';\nimport { applyFontInfo } from '../config/domFontInfo.js';\nimport { CopyOptions, TextAreaInput, TextAreaWrapper } from './textAreaInput.js';\nimport { PagedScreenReaderStrategy, TextAreaState, _debugComposition } from './textAreaState.js';\nimport { PartFingerprints, ViewPart } from '../view/viewPart.js';\nimport { LineNumbersOverlay } from '../viewParts/lineNumbers/lineNumbers.js';\nimport { Margin } from '../viewParts/margin/margin.js';\nimport { EditorOptions } from '../../common/config/editorOptions.js';\nimport { getMapForWordSeparators } from '../../common/core/wordCharacterClassifier.js';\nimport { Position } from '../../common/core/position.js';\nimport { Range } from '../../common/core/range.js';\nimport { Selection } from '../../common/core/selection.js';\nimport { MOUSE_CURSOR_TEXT_CSS_CLASS_NAME } from '../../../base/browser/ui/mouseCursor/mouseCursor.js';\nimport { TokenizationRegistry } from '../../common/languages.js';\nimport { Color } from '../../../base/common/color.js';\nimport { IME } from '../../../base/common/ime.js';\nimport { IKeybindingService } from '../../../platform/keybinding/common/keybinding.js';\nimport { IInstantiationService } from '../../../platform/instantiation/common/instantiation.js';\nclass VisibleTextAreaData {\n constructor(_context, modelLineNumber, distanceToModelLineStart, widthOfHiddenLineTextBefore, distanceToModelLineEnd) {\n this._context = _context;\n this.modelLineNumber = modelLineNumber;\n this.distanceToModelLineStart = distanceToModelLineStart;\n this.widthOfHiddenLineTextBefore = widthOfHiddenLineTextBefore;\n this.distanceToModelLineEnd = distanceToModelLineEnd;\n this._visibleTextAreaBrand = undefined;\n this.startPosition = null;\n this.endPosition = null;\n this.visibleTextareaStart = null;\n this.visibleTextareaEnd = null;\n /**\n * When doing composition, the currently composed text might be split up into\n * multiple tokens, then merged again into a single token, etc. Here we attempt\n * to keep the presentation of the <textarea> stable by using the previous used\n * style if multiple tokens come into play. This avoids flickering.\n */\n this._previousPresentation = null;\n }\n prepareRender(visibleRangeProvider) {\n const startModelPosition = new Position(this.modelLineNumber, this.distanceToModelLineStart + 1);\n const endModelPosition = new Position(this.modelLineNumber, this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber) - this.distanceToModelLineEnd);\n this.startPosition = this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(startModelPosition);\n this.endPosition = this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(endModelPosition);\n if (this.startPosition.lineNumber === this.endPosition.lineNumber) {\n this.visibleTextareaStart = visibleRangeProvider.visibleRangeForPosition(this.startPosition);\n this.visibleTextareaEnd = visibleRangeProvider.visibleRangeForPosition(this.endPosition);\n }\n else {\n // TODO: what if the view positions are not on the same line?\n this.visibleTextareaStart = null;\n this.visibleTextareaEnd = null;\n }\n }\n definePresentation(tokenPresentation) {\n if (!this._previousPresentation) {\n // To avoid flickering, once set, always reuse a presentation throughout the entire IME session\n if (tokenPresentation) {\n this._previousPresentation = tokenPresentation;\n }\n else {\n this._previousPresentation = {\n foreground: 1 /* ColorId.DefaultForeground */,\n italic: false,\n bold: false,\n underline: false,\n strikethrough: false,\n };\n }\n }\n return this._previousPresentation;\n }\n}\nconst canUseZeroSizeTextarea = (browser.isFirefox);\nlet TextAreaHandler = class TextAreaHandler extends ViewPart {\n constructor(context, viewController, visibleRangeProvider, _keybindingService, _instantiationService) {\n super(context);\n this._keybindingService = _keybindingService;\n this._instantiationService = _instantiationService;\n this._primaryCursorPosition = new Position(1, 1);\n this._primaryCursorVisibleRange = null;\n this._viewController = viewController;\n this._visibleRangeProvider = visibleRangeProvider;\n this._scrollLeft = 0;\n this._scrollTop = 0;\n const options = this._context.configuration.options;\n const layoutInfo = options.get(146 /* EditorOption.layoutInfo */);\n this._setAccessibilityOptions(options);\n this._contentLeft = layoutInfo.contentLeft;\n this._contentWidth = layoutInfo.contentWidth;\n this._contentHeight = layoutInfo.height;\n this._fontInfo = options.get(50 /* EditorOption.fontInfo */);\n this._lineHeight = options.get(67 /* EditorOption.lineHeight */);\n this._emptySelectionClipboard = options.get(37 /* EditorOption.emptySelectionClipboard */);\n this._copyWithSyntaxHighlighting = options.get(25 /* EditorOption.copyWithSyntaxHighlighting */);\n this._visibleTextArea = null;\n this._selections = [new Selection(1, 1, 1, 1)];\n this._modelSelections = [new Selection(1, 1, 1, 1)];\n this._lastRenderPosition = null;\n // Text Area (The focus will always be in the textarea when the cursor is blinking)\n this.textArea = createFastDomNode(document.createElement('textarea'));\n PartFingerprints.write(this.textArea, 7 /* PartFingerprint.TextArea */);\n this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`);\n this.textArea.setAttribute('wrap', this._textAreaWrapping && !this._visibleTextArea ? 'on' : 'off');\n const { tabSize } = this._context.viewModel.model.getOptions();\n this.textArea.domNode.style.tabSize = `${tabSize * this._fontInfo.spaceWidth}px`;\n this.textArea.setAttribute('autocorrect', 'off');\n this.textArea.setAttribute('autocapitalize', 'off');\n this.textArea.setAttribute('autocomplete', 'off');\n this.textArea.setAttribute('spellcheck', 'false');\n this.textArea.setAttribute('aria-label', this._getAriaLabel(options));\n this.textArea.setAttribute('aria-required', options.get(5 /* EditorOption.ariaRequired */) ? 'true' : 'false');\n this.textArea.setAttribute('tabindex', String(options.get(125 /* EditorOption.tabIndex */)));\n this.textArea.setAttribute('role', 'textbox');\n this.textArea.setAttribute('aria-roledescription', nls.localize('editor', \"editor\"));\n this.textArea.setAttribute('aria-multiline', 'true');\n this.textArea.setAttribute('aria-autocomplete', options.get(92 /* EditorOption.readOnly */) ? 'none' : 'both');\n this._ensureReadOnlyAttribute();\n this.textAreaCover = createFastDomNode(document.createElement('div'));\n this.textAreaCover.setPosition('absolute');\n const simpleModel = {\n getLineCount: () => {\n return this._context.viewModel.getLineCount();\n },\n getLineMaxColumn: (lineNumber) => {\n return this._context.viewModel.getLineMaxColumn(lineNumber);\n },\n getValueInRange: (range, eol) => {\n return this._context.viewModel.getValueInRange(range, eol);\n },\n getValueLengthInRange: (range, eol) => {\n return this._context.viewModel.getValueLengthInRange(range, eol);\n },\n modifyPosition: (position, offset) => {\n return this._context.viewModel.modifyPosition(position, offset);\n }\n };\n const textAreaInputHost = {\n getDataToCopy: () => {\n const rawTextToCopy = this._context.viewModel.getPlainTextToCopy(this._modelSelections, this._emptySelectionClipboard, platform.isWindows);\n const newLineCharacter = this._context.viewModel.model.getEOL();\n const isFromEmptySelection = (this._emptySelectionClipboard && this._modelSelections.length === 1 && this._modelSelections[0].isEmpty());\n const multicursorText = (Array.isArray(rawTextToCopy) ? rawTextToCopy : null);\n const text = (Array.isArray(rawTextToCopy) ? rawTextToCopy.join(newLineCharacter) : rawTextToCopy);\n let html = undefined;\n let mode = null;\n if (CopyOptions.forceCopyWithSyntaxHighlighting || (this._copyWithSyntaxHighlighting && text.length < 65536)) {\n const richText = this._context.viewModel.getRichTextToCopy(this._modelSelections, this._emptySelectionClipboard);\n if (richText) {\n html = richText.html;\n mode = richText.mode;\n }\n }\n return {\n isFromEmptySelection,\n multicursorText,\n text,\n html,\n mode\n };\n },\n getScreenReaderContent: () => {\n if (this._accessibilitySupport === 1 /* AccessibilitySupport.Disabled */) {\n // We know for a fact that a screen reader is not attached\n // On OSX, we write the character before the cursor to allow for \"long-press\" composition\n // Also on OSX, we write the word before the cursor to allow for the Accessibility Keyboard to give good hints\n const selection = this._selections[0];\n if (platform.isMacintosh && selection.isEmpty()) {\n const position = selection.getStartPosition();\n let textBefore = this._getWordBeforePosition(position);\n if (textBefore.length === 0) {\n textBefore = this._getCharacterBeforePosition(position);\n }\n if (textBefore.length > 0) {\n return new TextAreaState(textBefore, textBefore.length, textBefore.length, Range.fromPositions(position), 0);\n }\n }\n // on macOS, write current selection into textarea will allow system text services pick selected text,\n // but we still want to limit the amount of text given Chromium handles very poorly text even of a few\n // thousand chars\n // (https://github.com/microsoft/vscode/issues/27799)\n const LIMIT_CHARS = 500;\n if (platform.isMacintosh && !selection.isEmpty() && simpleModel.getValueLengthInRange(selection, 0 /* EndOfLinePreference.TextDefined */) < LIMIT_CHARS) {\n const text = simpleModel.getValueInRange(selection, 0 /* EndOfLinePreference.TextDefined */);\n return new TextAreaState(text, 0, text.length, selection, 0);\n }\n // on Safari, document.execCommand('cut') and document.execCommand('copy') will just not work\n // if the textarea has no content selected. So if there is an editor selection, ensure something\n // is selected in the textarea.\n if (browser.isSafari && !selection.isEmpty()) {\n const placeholderText = 'vscode-placeholder';\n return new TextAreaState(placeholderText, 0, placeholderText.length, null, undefined);\n }\n return TextAreaState.EMPTY;\n }\n if (browser.isAndroid) {\n // when tapping in the editor on a word, Android enters composition mode.\n // in the `compositionstart` event we cannot clear the textarea, because\n // it then forgets to ever send a `compositionend`.\n // we therefore only write the current word in the textarea\n const selection = this._selections[0];\n if (selection.isEmpty()) {\n const position = selection.getStartPosition();\n const [wordAtPosition, positionOffsetInWord] = this._getAndroidWordAtPosition(position);\n if (wordAtPosition.length > 0) {\n return new TextAreaState(wordAtPosition, positionOffsetInWord, positionOffsetInWord, Range.fromPositions(position), 0);\n }\n }\n return TextAreaState.EMPTY;\n }\n return PagedScreenReaderStrategy.fromEditorSelection(simpleModel, this._selections[0], this._accessibilityPageSize, this._accessibilitySupport === 0 /* AccessibilitySupport.Unknown */);\n },\n deduceModelPosition: (viewAnchorPosition, deltaOffset, lineFeedCnt) => {\n return this._context.viewModel.deduceModelPositionRelativeToViewPosition(viewAnchorPosition, deltaOffset, lineFeedCnt);\n }\n };\n const textAreaWrapper = this._register(new TextAreaWrapper(this.textArea.domNode));\n this._textAreaInput = this._register(this._instantiationService.createInstance(TextAreaInput, textAreaInputHost, textAreaWrapper, platform.OS, {\n isAndroid: browser.isAndroid,\n isChrome: browser.isChrome,\n isFirefox: browser.isFirefox,\n isSafari: browser.isSafari,\n }));\n this._register(this._textAreaInput.onKeyDown((e) => {\n this._viewController.emitKeyDown(e);\n }));\n this._register(this._textAreaInput.onKeyUp((e) => {\n this._viewController.emitKeyUp(e);\n }));\n this._register(this._textAreaInput.onPaste((e) => {\n let pasteOnNewLine = false;\n let multicursorText = null;\n let mode = null;\n if (e.metadata) {\n pasteOnNewLine = (this._emptySelectionClipboard && !!e.metadata.isFromEmptySelection);\n multicursorText = (typeof e.metadata.multicursorText !== 'undefined' ? e.metadata.multicursorText : null);\n mode = e.metadata.mode;\n }\n this._viewController.paste(e.text, pasteOnNewLine, multicursorText, mode);\n }));\n this._register(this._textAreaInput.onCut(() => {\n this._viewController.cut();\n }));\n this._register(this._textAreaInput.onType((e) => {\n if (e.replacePrevCharCnt || e.replaceNextCharCnt || e.positionDelta) {\n // must be handled through the new command\n if (_debugComposition) {\n console.log(` => compositionType: <<${e.text}>>, ${e.replacePrevCharCnt}, ${e.replaceNextCharCnt}, ${e.positionDelta}`);\n }\n this._viewController.compositionType(e.text, e.replacePrevCharCnt, e.replaceNextCharCnt, e.positionDelta);\n }\n else {\n if (_debugComposition) {\n console.log(` => type: <<${e.text}>>`);\n }\n this._viewController.type(e.text);\n }\n }));\n this._register(this._textAreaInput.onSelectionChangeRequest((modelSelection) => {\n this._viewController.setSelection(modelSelection);\n }));\n this._register(this._textAreaInput.onCompositionStart((e) => {\n // The textarea might contain some content when composition starts.\n //\n // When we make the textarea visible, it always has a height of 1 line,\n // so we don't need to worry too much about content on lines above or below\n // the selection.\n //\n // However, the text on the current line needs to be made visible because\n // some IME methods allow to move to other glyphs on the current line\n // (by pressing arrow keys).\n //\n // (1) The textarea might contain only some parts of the current line,\n // like the word before the selection. Also, the content inside the textarea\n // can grow or shrink as composition occurs. We therefore anchor the textarea\n // in terms of distance to a certain line start and line end.\n //\n // (2) Also, we should not make \\t characters visible, because their rendering\n // inside the <textarea> will not align nicely with our rendering. We therefore\n // will hide (if necessary) some of the leading text on the current line.\n const ta = this.textArea.domNode;\n const modelSelection = this._modelSelections[0];\n const { distanceToModelLineStart, widthOfHiddenTextBefore } = (() => {\n // Find the text that is on the current line before the selection\n const textBeforeSelection = ta.value.substring(0, Math.min(ta.selectionStart, ta.selectionEnd));\n const lineFeedOffset1 = textBeforeSelection.lastIndexOf('\\n');\n const lineTextBeforeSelection = textBeforeSelection.substring(lineFeedOffset1 + 1);\n // We now search to see if we should hide some part of it (if it contains \\t)\n const tabOffset1 = lineTextBeforeSelection.lastIndexOf('\\t');\n const desiredVisibleBeforeCharCount = lineTextBeforeSelection.length - tabOffset1 - 1;\n const startModelPosition = modelSelection.getStartPosition();\n const visibleBeforeCharCount = Math.min(startModelPosition.column - 1, desiredVisibleBeforeCharCount);\n const distanceToModelLineStart = startModelPosition.column - 1 - visibleBeforeCharCount;\n const hiddenLineTextBefore = lineTextBeforeSelection.substring(0, lineTextBeforeSelection.length - visibleBeforeCharCount);\n const { tabSize } = this._context.viewModel.model.getOptions();\n const widthOfHiddenTextBefore = measureText(this.textArea.domNode.ownerDocument, hiddenLineTextBefore, this._fontInfo, tabSize);\n return { distanceToModelLineStart, widthOfHiddenTextBefore };\n })();\n const { distanceToModelLineEnd } = (() => {\n // Find the text that is on the current line after the selection\n const textAfterSelection = ta.value.substring(Math.max(ta.selectionStart, ta.selectionEnd));\n const lineFeedOffset2 = textAfterSelection.indexOf('\\n');\n const lineTextAfterSelection = lineFeedOffset2 === -1 ? textAfterSelection : textAfterSelection.substring(0, lineFeedOffset2);\n const tabOffset2 = lineTextAfterSelection.indexOf('\\t');\n const desiredVisibleAfterCharCount = (tabOffset2 === -1 ? lineTextAfterSelection.length : lineTextAfterSelection.length - tabOffset2 - 1);\n const endModelPosition = modelSelection.getEndPosition();\n const visibleAfterCharCount = Math.min(this._context.viewModel.model.getLineMaxColumn(endModelPosition.lineNumber) - endModelPosition.column, desiredVisibleAfterCharCount);\n const distanceToModelLineEnd = this._context.viewModel.model.getLineMaxColumn(endModelPosition.lineNumber) - endModelPosition.column - visibleAfterCharCount;\n return { distanceToModelLineEnd };\n })();\n // Scroll to reveal the location in the editor where composition occurs\n this._context.viewModel.revealRange('keyboard', true, Range.fromPositions(this._selections[0].getStartPosition()), 0 /* viewEvents.VerticalRevealType.Simple */, 1 /* ScrollType.Immediate */);\n this._visibleTextArea = new VisibleTextAreaData(this._context, modelSelection.startLineNumber, distanceToModelLineStart, widthOfHiddenTextBefore, distanceToModelLineEnd);\n // We turn off wrapping if the <textarea> becomes visible for composition\n this.textArea.setAttribute('wrap', this._textAreaWrapping && !this._visibleTextArea ? 'on' : 'off');\n this._visibleTextArea.prepareRender(this._visibleRangeProvider);\n this._render();\n // Show the textarea\n this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ime-input`);\n this._viewController.compositionStart();\n this._context.viewModel.onCompositionStart();\n }));\n this._register(this._textAreaInput.onCompositionUpdate((e) => {\n if (!this._visibleTextArea) {\n return;\n }\n this._visibleTextArea.prepareRender(this._visibleRangeProvider);\n this._render();\n }));\n this._register(this._textAreaInput.onCompositionEnd(() => {\n this._visibleTextArea = null;\n // We turn on wrapping as necessary if the <textarea> hides after composition\n this.textArea.setAttribute('wrap', this._textAreaWrapping && !this._visibleTextArea ? 'on' : 'off');\n this._render();\n this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`);\n this._viewController.compositionEnd();\n this._context.viewModel.onCompositionEnd();\n }));\n this._register(this._textAreaInput.onFocus(() => {\n this._context.viewModel.setHasFocus(true);\n }));\n this._register(this._textAreaInput.onBlur(() => {\n this._context.viewModel.setHasFocus(false);\n }));\n this._register(IME.onDidChange(() => {\n this._ensureReadOnlyAttribute();\n }));\n }\n writeScreenReaderContent(reason) {\n this._textAreaInput.writeNativeTextAreaContent(reason);\n }\n dispose() {\n super.dispose();\n }\n _getAndroidWordAtPosition(position) {\n const ANDROID_WORD_SEPARATORS = '`~!@#$%^&*()-=+[{]}\\\\|;:\",.<>/?';\n const lineContent = this._context.viewModel.getLineContent(position.lineNumber);\n const wordSeparators = getMapForWordSeparators(ANDROID_WORD_SEPARATORS, []);\n let goingLeft = true;\n let startColumn = position.column;\n let goingRight = true;\n let endColumn = position.column;\n let distance = 0;\n while (distance < 50 && (goingLeft || goingRight)) {\n if (goingLeft && startColumn <= 1) {\n goingLeft = false;\n }\n if (goingLeft) {\n const charCode = lineContent.charCodeAt(startColumn - 2);\n const charClass = wordSeparators.get(charCode);\n if (charClass !== 0 /* WordCharacterClass.Regular */) {\n goingLeft = false;\n }\n else {\n startColumn--;\n }\n }\n if (goingRight && endColumn > lineContent.length) {\n goingRight = false;\n }\n if (goingRight) {\n const charCode = lineContent.charCodeAt(endColumn - 1);\n const charClass = wordSeparators.get(charCode);\n if (charClass !== 0 /* WordCharacterClass.Regular */) {\n goingRight = false;\n }\n else {\n endColumn++;\n }\n }\n distance++;\n }\n return [lineContent.substring(startColumn - 1, endColumn - 1), position.column - startColumn];\n }\n _getWordBeforePosition(position) {\n const lineContent = this._context.viewModel.getLineContent(position.lineNumber);\n const wordSeparators = getMapForWordSeparators(this._context.configuration.options.get(132 /* EditorOption.wordSeparators */), []);\n let column = position.column;\n let distance = 0;\n while (column > 1) {\n const charCode = lineContent.charCodeAt(column - 2);\n const charClass = wordSeparators.get(charCode);\n if (charClass !== 0 /* WordCharacterClass.Regular */ || distance > 50) {\n return lineContent.substring(column - 1, position.column - 1);\n }\n distance++;\n column--;\n }\n return lineContent.substring(0, position.column - 1);\n }\n _getCharacterBeforePosition(position) {\n if (position.column > 1) {\n const lineContent = this._context.viewModel.getLineContent(position.lineNumber);\n const charBefore = lineContent.charAt(position.column - 2);\n if (!strings.isHighSurrogate(charBefore.charCodeAt(0))) {\n return charBefore;\n }\n }\n return '';\n }\n _getAriaLabel(options) {\n const accessibilitySupport = options.get(2 /* EditorOption.accessibilitySupport */);\n if (accessibilitySupport === 1 /* AccessibilitySupport.Disabled */) {\n const toggleKeybindingLabel = this._keybindingService.lookupKeybinding('editor.action.toggleScreenReaderAccessibilityMode')?.getAriaLabel();\n const runCommandKeybindingLabel = this._keybindingService.lookupKeybinding('workbench.action.showCommands')?.getAriaLabel();\n const keybindingEditorKeybindingLabel = this._keybindingService.lookupKeybinding('workbench.action.openGlobalKeybindings')?.getAriaLabel();\n const editorNotAccessibleMessage = nls.localize('accessibilityModeOff', \"The editor is not accessible at this time.\");\n if (toggleKeybindingLabel) {\n return nls.localize('accessibilityOffAriaLabel', \"{0} To enable screen reader optimized mode, use {1}\", editorNotAccessibleMessage, toggleKeybindingLabel);\n }\n else if (runCommandKeybindingLabel) {\n return nls.localize('accessibilityOffAriaLabelNoKb', \"{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.\", editorNotAccessibleMessage, runCommandKeybindingLabel);\n }\n else if (keybindingEditorKeybindingLabel) {\n return nls.localize('accessibilityOffAriaLabelNoKbs', \"{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.\", editorNotAccessibleMessage, keybindingEditorKeybindingLabel);\n }\n else {\n // SOS\n return editorNotAccessibleMessage;\n }\n }\n return options.get(4 /* EditorOption.ariaLabel */);\n }\n _setAccessibilityOptions(options) {\n this._accessibilitySupport = options.get(2 /* EditorOption.accessibilitySupport */);\n const accessibilityPageSize = options.get(3 /* EditorOption.accessibilityPageSize */);\n if (this._accessibilitySupport === 2 /* AccessibilitySupport.Enabled */ && accessibilityPageSize === EditorOptions.accessibilityPageSize.defaultValue) {\n // If a screen reader is attached and the default value is not set we should automatically increase the page size to 500 for a better experience\n this._accessibilityPageSize = 500;\n }\n else {\n this._accessibilityPageSize = accessibilityPageSize;\n }\n // When wrapping is enabled and a screen reader might be attached,\n // we will size the textarea to match the width used for wrapping points computation (see `domLineBreaksComputer.ts`).\n // This is because screen readers will read the text in the textarea and we'd like that the\n // wrapping points in the textarea match the wrapping points in the editor.\n const layoutInfo = options.get(146 /* EditorOption.layoutInfo */);\n const wrappingColumn = layoutInfo.wrappingColumn;\n if (wrappingColumn !== -1 && this._accessibilitySupport !== 1 /* AccessibilitySupport.Disabled */) {\n const fontInfo = options.get(50 /* EditorOption.fontInfo */);\n this._textAreaWrapping = true;\n this._textAreaWidth = Math.round(wrappingColumn * fontInfo.typicalHalfwidthCharacterWidth);\n }\n else {\n this._textAreaWrapping = false;\n this._textAreaWidth = (canUseZeroSizeTextarea ? 0 : 1);\n }\n }\n // --- begin event handlers\n onConfigurationChanged(e) {\n const options = this._context.configuration.options;\n const layoutInfo = options.get(146 /* EditorOption.layoutInfo */);\n this._setAccessibilityOptions(options);\n this._contentLeft = layoutInfo.contentLeft;\n this._contentWidth = layoutInfo.contentWidth;\n this._contentHeight = layoutInfo.height;\n this._fontInfo = options.get(50 /* EditorOption.fontInfo */);\n this._lineHeight = options.get(67 /* EditorOption.lineHeight */);\n this._emptySelectionClipboard = options.get(37 /* EditorOption.emptySelectionClipboard */);\n this._copyWithSyntaxHighlighting = options.get(25 /* EditorOption.copyWithSyntaxHighlighting */);\n this.textArea.setAttribute('wrap', this._textAreaWrapping && !this._visibleTextArea ? 'on' : 'off');\n const { tabSize } = this._context.viewModel.model.getOptions();\n this.textArea.domNode.style.tabSize = `${tabSize * this._fontInfo.spaceWidth}px`;\n this.textArea.setAttribute('aria-label', this._getAriaLabel(options));\n this.textArea.setAttribute('aria-required', options.get(5 /* EditorOption.ariaRequired */) ? 'true' : 'false');\n this.textArea.setAttribute('tabindex', String(options.get(125 /* EditorOption.tabIndex */)));\n if (e.hasChanged(34 /* EditorOption.domReadOnly */) || e.hasChanged(92 /* EditorOption.readOnly */)) {\n this._ensureReadOnlyAttribute();\n }\n if (e.hasChanged(2 /* EditorOption.accessibilitySupport */)) {\n this._textAreaInput.writeNativeTextAreaContent('strategy changed');\n }\n return true;\n }\n onCursorStateChanged(e) {\n this._selections = e.selections.slice(0);\n this._modelSelections = e.modelSelections.slice(0);\n // We must update the <textarea> synchronously, otherwise long press IME on macos breaks.\n // See https://github.com/microsoft/vscode/issues/165821\n this._textAreaInput.writeNativeTextAreaContent('selection changed');\n return true;\n }\n onDecorationsChanged(e) {\n // true for inline decorations that can end up relayouting text\n return true;\n }\n onFlushed(e) {\n return true;\n }\n onLinesChanged(e) {\n return true;\n }\n onLinesDeleted(e) {\n return true;\n }\n onLinesInserted(e) {\n return true;\n }\n onScrollChanged(e) {\n this._scrollLeft = e.scrollLeft;\n this._scrollTop = e.scrollTop;\n return true;\n }\n onZonesChanged(e) {\n return true;\n }\n // --- end event handlers\n // --- begin view API\n isFocused() {\n return this._textAreaInput.isFocused();\n }\n focusTextArea() {\n this._textAreaInput.focusTextArea();\n }\n getLastRenderData() {\n return this._lastRenderPosition;\n }\n setAriaOptions(options) {\n if (options.activeDescendant) {\n this.textArea.setAttribute('aria-haspopup', 'true');\n this.textArea.setAttribute('aria-autocomplete', 'list');\n this.textArea.setAttribute('aria-activedescendant', options.activeDescendant);\n }\n else {\n this.textArea.setAttribute('aria-haspopup', 'false');\n this.textArea.setAttribute('aria-autocomplete', 'both');\n this.textArea.removeAttribute('aria-activedescendant');\n }\n if (options.role) {\n this.textArea.setAttribute('role', options.role);\n }\n }\n // --- end view API\n _ensureReadOnlyAttribute() {\n const options = this._context.configuration.options;\n // When someone requests to disable IME, we set the \"readonly\" attribute on the <textarea>.\n // This will prevent composition.\n const useReadOnly = !IME.enabled || (options.get(34 /* EditorOption.domReadOnly */) && options.get(92 /* EditorOption.readOnly */));\n if (useReadOnly) {\n this.textArea.setAttribute('readonly', 'true');\n }\n else {\n this.textArea.removeAttribute('readonly');\n }\n }\n prepareRender(ctx) {\n this._primaryCursorPosition = new Position(this._selections[0].positionLineNumber, this._selections[0].positionColumn);\n this._primaryCursorVisibleRange = ctx.visibleRangeForPosition(this._primaryCursorPosition);\n this._visibleTextArea?.prepareRender(ctx);\n }\n render(ctx) {\n this._textAreaInput.writeNativeTextAreaContent('render');\n this._render();\n }\n _render() {\n if (this._visibleTextArea) {\n // The text area is visible for composition reasons\n const visibleStart = this._visibleTextArea.visibleTextareaStart;\n const visibleEnd = this._visibleTextArea.visibleTextareaEnd;\n const startPosition = this._visibleTextArea.startPosition;\n const endPosition = this._visibleTextArea.endPosition;\n if (startPosition && endPosition && visibleStart && visibleEnd && visibleEnd.left >= this._scrollLeft && visibleStart.left <= this._scrollLeft + this._contentWidth) {\n const top = (this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber) - this._scrollTop);\n const lineCount = this._newlinecount(this.textArea.domNode.value.substr(0, this.textArea.domNode.selectionStart));\n let scrollLeft = this._visibleTextArea.widthOfHiddenLineTextBefore;\n let left = (this._contentLeft + visibleStart.left - this._scrollLeft);\n // See https://github.com/microsoft/vscode/issues/141725#issuecomment-1050670841\n // Here we are adding +1 to avoid flickering that might be caused by having a width that is too small.\n // This could be caused by rounding errors that might only show up with certain font families.\n // In other words, a pixel might be lost when doing something like\n // `Math.round(end) - Math.round(start)`\n // vs\n // `Math.round(end - start)`\n let width = visibleEnd.left - visibleStart.left + 1;\n if (left < this._contentLeft) {\n // the textarea would be rendered on top of the margin,\n // so reduce its width. We use the same technique as\n // for hiding text before\n const delta = (this._contentLeft - left);\n left += delta;\n scrollLeft += delta;\n width -= delta;\n }\n if (width > this._contentWidth) {\n // the textarea would be wider than the content width,\n // so reduce its width.\n width = this._contentWidth;\n }\n // Try to render the textarea with the color/font style to match the text under it\n const viewLineData = this._context.viewModel.getViewLineData(startPosition.lineNumber);\n const startTokenIndex = viewLineData.tokens.findTokenIndexAtOffset(startPosition.column - 1);\n const endTokenIndex = viewLineData.tokens.findTokenIndexAtOffset(endPosition.column - 1);\n const textareaSpansSingleToken = (startTokenIndex === endTokenIndex);\n const presentation = this._visibleTextArea.definePresentation((textareaSpansSingleToken ? viewLineData.tokens.getPresentation(startTokenIndex) : null));\n this.textArea.domNode.scrollTop = lineCount * this._lineHeight;\n this.textArea.domNode.scrollLeft = scrollLeft;\n this._doRender({\n lastRenderPosition: null,\n top: top,\n left: left,\n width: width,\n height: this._lineHeight,\n useCover: false,\n color: (TokenizationRegistry.getColorMap() || [])[presentation.foreground],\n italic: presentation.italic,\n bold: presentation.bold,\n underline: presentation.underline,\n strikethrough: presentation.strikethrough\n });\n }\n return;\n }\n if (!this._primaryCursorVisibleRange) {\n // The primary cursor is outside the viewport => place textarea to the top left\n this._renderAtTopLeft();\n return;\n }\n const left = this._contentLeft + this._primaryCursorVisibleRange.left - this._scrollLeft;\n if (left < this._contentLeft || left > this._contentLeft + this._contentWidth) {\n // cursor is outside the viewport\n this._renderAtTopLeft();\n return;\n }\n const top = this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber) - this._scrollTop;\n if (top < 0 || top > this._contentHeight) {\n // cursor is outside the viewport\n this._renderAtTopLeft();\n return;\n }\n // The primary cursor is in the viewport (at least vertically) => place textarea on the cursor\n if (platform.isMacintosh || this._accessibilitySupport === 2 /* AccessibilitySupport.Enabled */) {\n // For the popup emoji input, we will make the text area as high as the line height\n // We will also make the fontSize and lineHeight the correct dimensions to help with the placement of these pickers\n this._doRender({\n lastRenderPosition: this._primaryCursorPosition,\n top,\n left: this._textAreaWrapping ? this._contentLeft : left,\n width: this._textAreaWidth,\n height: this._lineHeight,\n useCover: false\n });\n // In case the textarea contains a word, we're going to try to align the textarea's cursor\n // with our cursor by scrolling the textarea as much as possible\n this.textArea.domNode.scrollLeft = this._primaryCursorVisibleRange.left;\n const lineCount = this._textAreaInput.textAreaState.newlineCountBeforeSelection ?? this._newlinecount(this.textArea.domNode.value.substr(0, this.textArea.domNode.selectionStart));\n this.textArea.domNode.scrollTop = lineCount * this._lineHeight;\n return;\n }\n this._doRender({\n lastRenderPosition: this._primaryCursorPosition,\n top: top,\n left: this._textAreaWrapping ? this._contentLeft : left,\n width: this._textAreaWidth,\n height: (canUseZeroSizeTextarea ? 0 : 1),\n useCover: false\n });\n }\n _newlinecount(text) {\n let result = 0;\n let startIndex = -1;\n do {\n startIndex = text.indexOf('\\n', startIndex + 1);\n if (startIndex === -1) {\n break;\n }\n result++;\n } while (true);\n return result;\n }\n _renderAtTopLeft() {\n // (in WebKit the textarea is 1px by 1px because it cannot handle input to a 0x0 textarea)\n // specifically, when doing Korean IME, setting the textarea to 0x0 breaks IME badly.\n this._doRender({\n lastRenderPosition: null,\n top: 0,\n left: 0,\n width: this._textAreaWidth,\n height: (canUseZeroSizeTextarea ? 0 : 1),\n useCover: true\n });\n }\n _doRender(renderData) {\n this._lastRenderPosition = renderData.lastRenderPosition;\n const ta = this.textArea;\n const tac = this.textAreaCover;\n applyFontInfo(ta, this._fontInfo);\n ta.setTop(renderData.top);\n ta.setLeft(renderData.left);\n ta.setWidth(renderData.width);\n ta.setHeight(renderData.height);\n ta.setColor(renderData.color ? Color.Format.CSS.formatHex(renderData.color) : '');\n ta.setFontStyle(renderData.italic ? 'italic' : '');\n if (renderData.bold) {\n // fontWeight is also set by `applyFontInfo`, so only overwrite it if necessary\n ta.setFontWeight('bold');\n }\n ta.setTextDecoration(`${renderData.underline ? ' underline' : ''}${renderData.strikethrough ? ' line-through' : ''}`);\n tac.setTop(renderData.useCover ? renderData.top : 0);\n tac.setLeft(renderData.useCover ? renderData.left : 0);\n tac.setWidth(renderData.useCover ? renderData.width : 0);\n tac.setHeight(renderData.useCover ? renderData.height : 0);\n const options = this._context.configuration.options;\n if (options.get(57 /* EditorOption.glyphMargin */)) {\n tac.setClassName('monaco-editor-background textAreaCover ' + Margin.OUTER_CLASS_NAME);\n }\n else {\n if (options.get(68 /* EditorOption.lineNumbers */).renderType !== 0 /* RenderLineNumbersType.Off */) {\n tac.setClassName('monaco-editor-background textAreaCover ' + LineNumbersOverlay.CLASS_NAME);\n }\n else {\n tac.setClassName('monaco-editor-background textAreaCover');\n }\n }\n }\n};\nTextAreaHandler = __decorate([\n __param(3, IKeybindingService),\n __param(4, IInstantiationService)\n], TextAreaHandler);\nexport { TextAreaHandler };\nfunction measureText(targetDocument, text, fontInfo, tabSize) {\n if (text.length === 0) {\n return 0;\n }\n const container = targetDocument.createElement('div');\n container.style.position = 'absolute';\n container.style.top = '-50000px';\n container.style.width = '50000px';\n const regularDomNode = targetDocument.createElement('span');\n applyFontInfo(regularDomNode, fontInfo);\n regularDomNode.style.whiteSpace = 'pre'; // just like the textarea\n regularDomNode.style.tabSize = `${tabSize * fontInfo.spaceWidth}px`; // just like the textarea\n regularDomNode.append(text);\n container.appendChild(regularDomNode);\n targetDocument.body.appendChild(container);\n const res = regularDomNode.offsetWidth;\n container.remove();\n return res;\n}\n"],"names":["browser.isFirefox","TextAreaHandler","nls.localize","platform.isWindows","platform.isMacintosh","browser.isSafari","browser.isAndroid","platform.OS","distanceToModelLineStart","tabSize","widthOfHiddenTextBefore","distanceToModelLineEnd","strings.isHighSurrogate","top","left"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -27,9 +27,6 @@ var TextAreaSyntethicEvents;
|
|
|
27
27
|
(function(TextAreaSyntethicEvents2) {
|
|
28
28
|
TextAreaSyntethicEvents2.Tap = "-monaco-textarea-synthetic-tap";
|
|
29
29
|
})(TextAreaSyntethicEvents || (TextAreaSyntethicEvents = {}));
|
|
30
|
-
const CopyOptions = {
|
|
31
|
-
forceCopyWithSyntaxHighlighting: false
|
|
32
|
-
};
|
|
33
30
|
const _InMemoryClipboardMetadataManager = class _InMemoryClipboardMetadataManager {
|
|
34
31
|
constructor() {
|
|
35
32
|
this._lastState = null;
|
|
@@ -514,7 +511,6 @@ class TextAreaWrapper extends Disposable {
|
|
|
514
511
|
}
|
|
515
512
|
export {
|
|
516
513
|
ClipboardEventUtils,
|
|
517
|
-
CopyOptions,
|
|
518
514
|
InMemoryClipboardMetadataManager,
|
|
519
515
|
TextAreaInput,
|
|
520
516
|
TextAreaSyntethicEvents,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textAreaInput.es.js","sources":["../../../../../../../../../../../../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaInput.js"],"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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nimport * as browser from '../../../base/browser/browser.js';\nimport * as dom from '../../../base/browser/dom.js';\nimport { DomEmitter } from '../../../base/browser/event.js';\nimport { StandardKeyboardEvent } from '../../../base/browser/keyboardEvent.js';\nimport { inputLatency } from '../../../base/browser/performance.js';\nimport { RunOnceScheduler } from '../../../base/common/async.js';\nimport { Emitter, Event } from '../../../base/common/event.js';\nimport { Disposable, MutableDisposable } from '../../../base/common/lifecycle.js';\nimport { Mimes } from '../../../base/common/mime.js';\nimport * as strings from '../../../base/common/strings.js';\nimport { TextAreaState, _debugComposition } from './textAreaState.js';\nimport { Selection } from '../../common/core/selection.js';\nimport { IAccessibilityService } from '../../../platform/accessibility/common/accessibility.js';\nimport { ILogService } from '../../../platform/log/common/log.js';\nexport var TextAreaSyntethicEvents;\n(function (TextAreaSyntethicEvents) {\n TextAreaSyntethicEvents.Tap = '-monaco-textarea-synthetic-tap';\n})(TextAreaSyntethicEvents || (TextAreaSyntethicEvents = {}));\nexport const CopyOptions = {\n forceCopyWithSyntaxHighlighting: false\n};\n/**\n * Every time we write to the clipboard, we record a bit of extra metadata here.\n * Every time we read from the cipboard, if the text matches our last written text,\n * we can fetch the previous metadata.\n */\nexport class InMemoryClipboardMetadataManager {\n static { this.INSTANCE = new InMemoryClipboardMetadataManager(); }\n constructor() {\n this._lastState = null;\n }\n set(lastCopiedValue, data) {\n this._lastState = { lastCopiedValue, data };\n }\n get(pastedText) {\n if (this._lastState && this._lastState.lastCopiedValue === pastedText) {\n // match!\n return this._lastState.data;\n }\n this._lastState = null;\n return null;\n }\n}\nclass CompositionContext {\n constructor() {\n this._lastTypeTextLength = 0;\n }\n handleCompositionUpdate(text) {\n text = text || '';\n const typeInput = {\n text: text,\n replacePrevCharCnt: this._lastTypeTextLength,\n replaceNextCharCnt: 0,\n positionDelta: 0\n };\n this._lastTypeTextLength = text.length;\n return typeInput;\n }\n}\n/**\n * Writes screen reader content to the textarea and is able to analyze its input events to generate:\n * - onCut\n * - onPaste\n * - onType\n *\n * Composition events are generated for presentation purposes (composition input is reflected in onType).\n */\nlet TextAreaInput = class TextAreaInput extends Disposable {\n get textAreaState() {\n return this._textAreaState;\n }\n constructor(_host, _textArea, _OS, _browser, _accessibilityService, _logService) {\n super();\n this._host = _host;\n this._textArea = _textArea;\n this._OS = _OS;\n this._browser = _browser;\n this._accessibilityService = _accessibilityService;\n this._logService = _logService;\n this._onFocus = this._register(new Emitter());\n this.onFocus = this._onFocus.event;\n this._onBlur = this._register(new Emitter());\n this.onBlur = this._onBlur.event;\n this._onKeyDown = this._register(new Emitter());\n this.onKeyDown = this._onKeyDown.event;\n this._onKeyUp = this._register(new Emitter());\n this.onKeyUp = this._onKeyUp.event;\n this._onCut = this._register(new Emitter());\n this.onCut = this._onCut.event;\n this._onPaste = this._register(new Emitter());\n this.onPaste = this._onPaste.event;\n this._onType = this._register(new Emitter());\n this.onType = this._onType.event;\n this._onCompositionStart = this._register(new Emitter());\n this.onCompositionStart = this._onCompositionStart.event;\n this._onCompositionUpdate = this._register(new Emitter());\n this.onCompositionUpdate = this._onCompositionUpdate.event;\n this._onCompositionEnd = this._register(new Emitter());\n this.onCompositionEnd = this._onCompositionEnd.event;\n this._onSelectionChangeRequest = this._register(new Emitter());\n this.onSelectionChangeRequest = this._onSelectionChangeRequest.event;\n this._asyncFocusGainWriteScreenReaderContent = this._register(new MutableDisposable());\n this._asyncTriggerCut = this._register(new RunOnceScheduler(() => this._onCut.fire(), 0));\n this._textAreaState = TextAreaState.EMPTY;\n this._selectionChangeListener = null;\n if (this._accessibilityService.isScreenReaderOptimized()) {\n this.writeNativeTextAreaContent('ctor');\n }\n this._register(Event.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized, () => {\n if (this._accessibilityService.isScreenReaderOptimized() && !this._asyncFocusGainWriteScreenReaderContent.value) {\n this._asyncFocusGainWriteScreenReaderContent.value = this._register(new RunOnceScheduler(() => this.writeNativeTextAreaContent('asyncFocusGain'), 0));\n }\n else {\n this._asyncFocusGainWriteScreenReaderContent.clear();\n }\n }));\n this._hasFocus = false;\n this._currentComposition = null;\n let lastKeyDown = null;\n this._register(this._textArea.onKeyDown((_e) => {\n const e = new StandardKeyboardEvent(_e);\n if (e.keyCode === 114 /* KeyCode.KEY_IN_COMPOSITION */\n || (this._currentComposition && e.keyCode === 1 /* KeyCode.Backspace */)) {\n // Stop propagation for keyDown events if the IME is processing key input\n e.stopPropagation();\n }\n if (e.equals(9 /* KeyCode.Escape */)) {\n // Prevent default always for `Esc`, otherwise it will generate a keypress\n // See https://msdn.microsoft.com/en-us/library/ie/ms536939(v=vs.85).aspx\n e.preventDefault();\n }\n lastKeyDown = e;\n this._onKeyDown.fire(e);\n }));\n this._register(this._textArea.onKeyUp((_e) => {\n const e = new StandardKeyboardEvent(_e);\n this._onKeyUp.fire(e);\n }));\n this._register(this._textArea.onCompositionStart((e) => {\n if (_debugComposition) {\n console.log(`[compositionstart]`, e);\n }\n const currentComposition = new CompositionContext();\n if (this._currentComposition) {\n // simply reset the composition context\n this._currentComposition = currentComposition;\n return;\n }\n this._currentComposition = currentComposition;\n if (this._OS === 2 /* OperatingSystem.Macintosh */\n && lastKeyDown\n && lastKeyDown.equals(114 /* KeyCode.KEY_IN_COMPOSITION */)\n && this._textAreaState.selectionStart === this._textAreaState.selectionEnd\n && this._textAreaState.selectionStart > 0\n && this._textAreaState.value.substr(this._textAreaState.selectionStart - 1, 1) === e.data\n && (lastKeyDown.code === 'ArrowRight' || lastKeyDown.code === 'ArrowLeft')) {\n // Handling long press case on Chromium/Safari macOS + arrow key => pretend the character was selected\n if (_debugComposition) {\n console.log(`[compositionstart] Handling long press case on macOS + arrow key`, e);\n }\n // Pretend the previous character was composed (in order to get it removed by subsequent compositionupdate events)\n currentComposition.handleCompositionUpdate('x');\n this._onCompositionStart.fire({ data: e.data });\n return;\n }\n if (this._browser.isAndroid) {\n // when tapping on the editor, Android enters composition mode to edit the current word\n // so we cannot clear the textarea on Android and we must pretend the current word was selected\n this._onCompositionStart.fire({ data: e.data });\n return;\n }\n this._onCompositionStart.fire({ data: e.data });\n }));\n this._register(this._textArea.onCompositionUpdate((e) => {\n if (_debugComposition) {\n console.log(`[compositionupdate]`, e);\n }\n const currentComposition = this._currentComposition;\n if (!currentComposition) {\n // should not be possible to receive a 'compositionupdate' without a 'compositionstart'\n return;\n }\n if (this._browser.isAndroid) {\n // On Android, the data sent with the composition update event is unusable.\n // For example, if the cursor is in the middle of a word like Mic|osoft\n // and Microsoft is chosen from the keyboard's suggestions, the e.data will contain \"Microsoft\".\n // This is not really usable because it doesn't tell us where the edit began and where it ended.\n const newState = TextAreaState.readFromTextArea(this._textArea, this._textAreaState);\n const typeInput = TextAreaState.deduceAndroidCompositionInput(this._textAreaState, newState);\n this._textAreaState = newState;\n this._onType.fire(typeInput);\n this._onCompositionUpdate.fire(e);\n return;\n }\n const typeInput = currentComposition.handleCompositionUpdate(e.data);\n this._textAreaState = TextAreaState.readFromTextArea(this._textArea, this._textAreaState);\n this._onType.fire(typeInput);\n this._onCompositionUpdate.fire(e);\n }));\n this._register(this._textArea.onCompositionEnd((e) => {\n if (_debugComposition) {\n console.log(`[compositionend]`, e);\n }\n const currentComposition = this._currentComposition;\n if (!currentComposition) {\n // https://github.com/microsoft/monaco-editor/issues/1663\n // On iOS 13.2, Chinese system IME randomly trigger an additional compositionend event with empty data\n return;\n }\n this._currentComposition = null;\n if (this._browser.isAndroid) {\n // On Android, the data sent with the composition update event is unusable.\n // For example, if the cursor is in the middle of a word like Mic|osoft\n // and Microsoft is chosen from the keyboard's suggestions, the e.data will contain \"Microsoft\".\n // This is not really usable because it doesn't tell us where the edit began and where it ended.\n const newState = TextAreaState.readFromTextArea(this._textArea, this._textAreaState);\n const typeInput = TextAreaState.deduceAndroidCompositionInput(this._textAreaState, newState);\n this._textAreaState = newState;\n this._onType.fire(typeInput);\n this._onCompositionEnd.fire();\n return;\n }\n const typeInput = currentComposition.handleCompositionUpdate(e.data);\n this._textAreaState = TextAreaState.readFromTextArea(this._textArea, this._textAreaState);\n this._onType.fire(typeInput);\n this._onCompositionEnd.fire();\n }));\n this._register(this._textArea.onInput((e) => {\n if (_debugComposition) {\n console.log(`[input]`, e);\n }\n // Pretend here we touched the text area, as the `input` event will most likely\n // result in a `selectionchange` event which we want to ignore\n this._textArea.setIgnoreSelectionChangeTime('received input event');\n if (this._currentComposition) {\n return;\n }\n const newState = TextAreaState.readFromTextArea(this._textArea, this._textAreaState);\n const typeInput = TextAreaState.deduceInput(this._textAreaState, newState, /*couldBeEmojiInput*/ this._OS === 2 /* OperatingSystem.Macintosh */);\n if (typeInput.replacePrevCharCnt === 0 && typeInput.text.length === 1) {\n // one character was typed\n if (strings.isHighSurrogate(typeInput.text.charCodeAt(0))\n || typeInput.text.charCodeAt(0) === 0x7f /* Delete */) {\n // Ignore invalid input but keep it around for next time\n return;\n }\n }\n this._textAreaState = newState;\n if (typeInput.text !== ''\n || typeInput.replacePrevCharCnt !== 0\n || typeInput.replaceNextCharCnt !== 0\n || typeInput.positionDelta !== 0) {\n this._onType.fire(typeInput);\n }\n }));\n // --- Clipboard operations\n this._register(this._textArea.onCut((e) => {\n // Pretend here we touched the text area, as the `cut` event will most likely\n // result in a `selectionchange` event which we want to ignore\n this._textArea.setIgnoreSelectionChangeTime('received cut event');\n this._ensureClipboardGetsEditorSelection(e);\n this._asyncTriggerCut.schedule();\n }));\n this._register(this._textArea.onCopy((e) => {\n this._ensureClipboardGetsEditorSelection(e);\n }));\n this._register(this._textArea.onPaste((e) => {\n // Pretend here we touched the text area, as the `paste` event will most likely\n // result in a `selectionchange` event which we want to ignore\n this._textArea.setIgnoreSelectionChangeTime('received paste event');\n e.preventDefault();\n if (!e.clipboardData) {\n return;\n }\n let [text, metadata] = ClipboardEventUtils.getTextData(e.clipboardData);\n if (!text) {\n return;\n }\n // try the in-memory store\n metadata = metadata || InMemoryClipboardMetadataManager.INSTANCE.get(text);\n this._onPaste.fire({\n text: text,\n metadata: metadata\n });\n }));\n this._register(this._textArea.onFocus(() => {\n const hadFocus = this._hasFocus;\n this._setHasFocus(true);\n if (this._accessibilityService.isScreenReaderOptimized() && this._browser.isSafari && !hadFocus && this._hasFocus) {\n // When \"tabbing into\" the textarea, immediately after dispatching the 'focus' event,\n // Safari will always move the selection at offset 0 in the textarea\n if (!this._asyncFocusGainWriteScreenReaderContent.value) {\n this._asyncFocusGainWriteScreenReaderContent.value = new RunOnceScheduler(() => this.writeNativeTextAreaContent('asyncFocusGain'), 0);\n }\n this._asyncFocusGainWriteScreenReaderContent.value.schedule();\n }\n }));\n this._register(this._textArea.onBlur(() => {\n if (this._currentComposition) {\n // See https://github.com/microsoft/vscode/issues/112621\n // where compositionend is not triggered when the editor\n // is taken off-dom during a composition\n // Clear the flag to be able to write to the textarea\n this._currentComposition = null;\n // Clear the textarea to avoid an unwanted cursor type\n this.writeNativeTextAreaContent('blurWithoutCompositionEnd');\n // Fire artificial composition end\n this._onCompositionEnd.fire();\n }\n this._setHasFocus(false);\n }));\n this._register(this._textArea.onSyntheticTap(() => {\n if (this._browser.isAndroid && this._currentComposition) {\n // on Android, tapping does not cancel the current composition, so the\n // textarea is stuck showing the old composition\n // Clear the flag to be able to write to the textarea\n this._currentComposition = null;\n // Clear the textarea to avoid an unwanted cursor type\n this.writeNativeTextAreaContent('tapWithoutCompositionEnd');\n // Fire artificial composition end\n this._onCompositionEnd.fire();\n }\n }));\n }\n _installSelectionChangeListener() {\n // See https://github.com/microsoft/vscode/issues/27216 and https://github.com/microsoft/vscode/issues/98256\n // When using a Braille display, it is possible for users to reposition the\n // system caret. This is reflected in Chrome as a `selectionchange` event.\n //\n // The `selectionchange` event appears to be emitted under numerous other circumstances,\n // so it is quite a challenge to distinguish a `selectionchange` coming in from a user\n // using a Braille display from all the other cases.\n //\n // The problems with the `selectionchange` event are:\n // * the event is emitted when the textarea is focused programmatically -- textarea.focus()\n // * the event is emitted when the selection is changed in the textarea programmatically -- textarea.setSelectionRange(...)\n // * the event is emitted when the value of the textarea is changed programmatically -- textarea.value = '...'\n // * the event is emitted when tabbing into the textarea\n // * the event is emitted asynchronously (sometimes with a delay as high as a few tens of ms)\n // * the event sometimes comes in bursts for a single logical textarea operation\n // `selectionchange` events often come multiple times for a single logical change\n // so throttle multiple `selectionchange` events that burst in a short period of time.\n let previousSelectionChangeEventTime = 0;\n return dom.addDisposableListener(this._textArea.ownerDocument, 'selectionchange', (e) => {\n inputLatency.onSelectionChange();\n if (!this._hasFocus) {\n return;\n }\n if (this._currentComposition) {\n return;\n }\n if (!this._browser.isChrome) {\n // Support only for Chrome until testing happens on other browsers\n return;\n }\n const now = Date.now();\n const delta1 = now - previousSelectionChangeEventTime;\n previousSelectionChangeEventTime = now;\n if (delta1 < 5) {\n // received another `selectionchange` event within 5ms of the previous `selectionchange` event\n // => ignore it\n return;\n }\n const delta2 = now - this._textArea.getIgnoreSelectionChangeTime();\n this._textArea.resetSelectionChangeTime();\n if (delta2 < 100) {\n // received a `selectionchange` event within 100ms since we touched the textarea\n // => ignore it, since we caused it\n return;\n }\n if (!this._textAreaState.selection) {\n // Cannot correlate a position in the textarea with a position in the editor...\n return;\n }\n const newValue = this._textArea.getValue();\n if (this._textAreaState.value !== newValue) {\n // Cannot correlate a position in the textarea with a position in the editor...\n return;\n }\n const newSelectionStart = this._textArea.getSelectionStart();\n const newSelectionEnd = this._textArea.getSelectionEnd();\n if (this._textAreaState.selectionStart === newSelectionStart && this._textAreaState.selectionEnd === newSelectionEnd) {\n // Nothing to do...\n return;\n }\n const _newSelectionStartPosition = this._textAreaState.deduceEditorPosition(newSelectionStart);\n const newSelectionStartPosition = this._host.deduceModelPosition(_newSelectionStartPosition[0], _newSelectionStartPosition[1], _newSelectionStartPosition[2]);\n const _newSelectionEndPosition = this._textAreaState.deduceEditorPosition(newSelectionEnd);\n const newSelectionEndPosition = this._host.deduceModelPosition(_newSelectionEndPosition[0], _newSelectionEndPosition[1], _newSelectionEndPosition[2]);\n const newSelection = new Selection(newSelectionStartPosition.lineNumber, newSelectionStartPosition.column, newSelectionEndPosition.lineNumber, newSelectionEndPosition.column);\n this._onSelectionChangeRequest.fire(newSelection);\n });\n }\n dispose() {\n super.dispose();\n if (this._selectionChangeListener) {\n this._selectionChangeListener.dispose();\n this._selectionChangeListener = null;\n }\n }\n focusTextArea() {\n // Setting this._hasFocus and writing the screen reader content\n // will result in a focus() and setSelectionRange() in the textarea\n this._setHasFocus(true);\n // If the editor is off DOM, focus cannot be really set, so let's double check that we have managed to set the focus\n this.refreshFocusState();\n }\n isFocused() {\n return this._hasFocus;\n }\n refreshFocusState() {\n this._setHasFocus(this._textArea.hasFocus());\n }\n _setHasFocus(newHasFocus) {\n if (this._hasFocus === newHasFocus) {\n // no change\n return;\n }\n this._hasFocus = newHasFocus;\n if (this._selectionChangeListener) {\n this._selectionChangeListener.dispose();\n this._selectionChangeListener = null;\n }\n if (this._hasFocus) {\n this._selectionChangeListener = this._installSelectionChangeListener();\n }\n if (this._hasFocus) {\n this.writeNativeTextAreaContent('focusgain');\n }\n if (this._hasFocus) {\n this._onFocus.fire();\n }\n else {\n this._onBlur.fire();\n }\n }\n _setAndWriteTextAreaState(reason, textAreaState) {\n if (!this._hasFocus) {\n textAreaState = textAreaState.collapseSelection();\n }\n textAreaState.writeToTextArea(reason, this._textArea, this._hasFocus);\n this._textAreaState = textAreaState;\n }\n writeNativeTextAreaContent(reason) {\n if ((!this._accessibilityService.isScreenReaderOptimized() && reason === 'render') || this._currentComposition) {\n // Do not write to the text on render unless a screen reader is being used #192278\n // Do not write to the text area when doing composition\n return;\n }\n this._logService.trace(`writeTextAreaState(reason: ${reason})`);\n this._setAndWriteTextAreaState(reason, this._host.getScreenReaderContent());\n }\n _ensureClipboardGetsEditorSelection(e) {\n const dataToCopy = this._host.getDataToCopy();\n const storedMetadata = {\n version: 1,\n isFromEmptySelection: dataToCopy.isFromEmptySelection,\n multicursorText: dataToCopy.multicursorText,\n mode: dataToCopy.mode\n };\n InMemoryClipboardMetadataManager.INSTANCE.set(\n // When writing \"LINE\\r\\n\" to the clipboard and then pasting,\n // Firefox pastes \"LINE\\n\", so let's work around this quirk\n (this._browser.isFirefox ? dataToCopy.text.replace(/\\r\\n/g, '\\n') : dataToCopy.text), storedMetadata);\n e.preventDefault();\n if (e.clipboardData) {\n ClipboardEventUtils.setTextData(e.clipboardData, dataToCopy.text, dataToCopy.html, storedMetadata);\n }\n }\n};\nTextAreaInput = __decorate([\n __param(4, IAccessibilityService),\n __param(5, ILogService)\n], TextAreaInput);\nexport { TextAreaInput };\nexport const ClipboardEventUtils = {\n getTextData(clipboardData) {\n const text = clipboardData.getData(Mimes.text);\n let metadata = null;\n const rawmetadata = clipboardData.getData('vscode-editor-data');\n if (typeof rawmetadata === 'string') {\n try {\n metadata = JSON.parse(rawmetadata);\n if (metadata.version !== 1) {\n metadata = null;\n }\n }\n catch (err) {\n // no problem!\n }\n }\n if (text.length === 0 && metadata === null && clipboardData.files.length > 0) {\n // no textual data pasted, generate text from file names\n const files = Array.prototype.slice.call(clipboardData.files, 0);\n return [files.map(file => file.name).join('\\n'), null];\n }\n return [text, metadata];\n },\n setTextData(clipboardData, text, html, metadata) {\n clipboardData.setData(Mimes.text, text);\n if (typeof html === 'string') {\n clipboardData.setData('text/html', html);\n }\n clipboardData.setData('vscode-editor-data', JSON.stringify(metadata));\n }\n};\nexport class TextAreaWrapper extends Disposable {\n get ownerDocument() {\n return this._actual.ownerDocument;\n }\n constructor(_actual) {\n super();\n this._actual = _actual;\n this.onKeyDown = this._register(new DomEmitter(this._actual, 'keydown')).event;\n this.onKeyUp = this._register(new DomEmitter(this._actual, 'keyup')).event;\n this.onCompositionStart = this._register(new DomEmitter(this._actual, 'compositionstart')).event;\n this.onCompositionUpdate = this._register(new DomEmitter(this._actual, 'compositionupdate')).event;\n this.onCompositionEnd = this._register(new DomEmitter(this._actual, 'compositionend')).event;\n this.onBeforeInput = this._register(new DomEmitter(this._actual, 'beforeinput')).event;\n this.onInput = this._register(new DomEmitter(this._actual, 'input')).event;\n this.onCut = this._register(new DomEmitter(this._actual, 'cut')).event;\n this.onCopy = this._register(new DomEmitter(this._actual, 'copy')).event;\n this.onPaste = this._register(new DomEmitter(this._actual, 'paste')).event;\n this.onFocus = this._register(new DomEmitter(this._actual, 'focus')).event;\n this.onBlur = this._register(new DomEmitter(this._actual, 'blur')).event;\n this._onSyntheticTap = this._register(new Emitter());\n this.onSyntheticTap = this._onSyntheticTap.event;\n this._ignoreSelectionChangeTime = 0;\n this._register(this.onKeyDown(() => inputLatency.onKeyDown()));\n this._register(this.onBeforeInput(() => inputLatency.onBeforeInput()));\n this._register(this.onInput(() => inputLatency.onInput()));\n this._register(this.onKeyUp(() => inputLatency.onKeyUp()));\n this._register(dom.addDisposableListener(this._actual, TextAreaSyntethicEvents.Tap, () => this._onSyntheticTap.fire()));\n }\n hasFocus() {\n const shadowRoot = dom.getShadowRoot(this._actual);\n if (shadowRoot) {\n return shadowRoot.activeElement === this._actual;\n }\n else if (this._actual.isConnected) {\n return dom.getActiveElement() === this._actual;\n }\n else {\n return false;\n }\n }\n setIgnoreSelectionChangeTime(reason) {\n this._ignoreSelectionChangeTime = Date.now();\n }\n getIgnoreSelectionChangeTime() {\n return this._ignoreSelectionChangeTime;\n }\n resetSelectionChangeTime() {\n this._ignoreSelectionChangeTime = 0;\n }\n getValue() {\n // console.log('current value: ' + this._textArea.value);\n return this._actual.value;\n }\n setValue(reason, value) {\n const textArea = this._actual;\n if (textArea.value === value) {\n // No change\n return;\n }\n // console.log('reason: ' + reason + ', current value: ' + textArea.value + ' => new value: ' + value);\n this.setIgnoreSelectionChangeTime('setValue');\n textArea.value = value;\n }\n getSelectionStart() {\n return this._actual.selectionDirection === 'backward' ? this._actual.selectionEnd : this._actual.selectionStart;\n }\n getSelectionEnd() {\n return this._actual.selectionDirection === 'backward' ? this._actual.selectionStart : this._actual.selectionEnd;\n }\n setSelectionRange(reason, selectionStart, selectionEnd) {\n const textArea = this._actual;\n let activeElement = null;\n const shadowRoot = dom.getShadowRoot(textArea);\n if (shadowRoot) {\n activeElement = shadowRoot.activeElement;\n }\n else {\n activeElement = dom.getActiveElement();\n }\n const activeWindow = dom.getWindow(activeElement);\n const currentIsFocused = (activeElement === textArea);\n const currentSelectionStart = textArea.selectionStart;\n const currentSelectionEnd = textArea.selectionEnd;\n if (currentIsFocused && currentSelectionStart === selectionStart && currentSelectionEnd === selectionEnd) {\n // No change\n // Firefox iframe bug https://github.com/microsoft/monaco-editor/issues/643#issuecomment-367871377\n if (browser.isFirefox && activeWindow.parent !== activeWindow) {\n textArea.focus();\n }\n return;\n }\n // console.log('reason: ' + reason + ', setSelectionRange: ' + selectionStart + ' -> ' + selectionEnd);\n if (currentIsFocused) {\n // No need to focus, only need to change the selection range\n this.setIgnoreSelectionChangeTime('setSelectionRange');\n textArea.setSelectionRange(selectionStart, selectionEnd);\n if (browser.isFirefox && activeWindow.parent !== activeWindow) {\n textArea.focus();\n }\n return;\n }\n // If the focus is outside the textarea, browsers will try really hard to reveal the textarea.\n // Here, we try to undo the browser's desperate reveal.\n try {\n const scrollState = dom.saveParentsScrollTop(textArea);\n this.setIgnoreSelectionChangeTime('setSelectionRange');\n textArea.focus();\n textArea.setSelectionRange(selectionStart, selectionEnd);\n dom.restoreParentsScrollTop(textArea, scrollState);\n }\n catch (e) {\n // Sometimes IE throws when setting selection (e.g. textarea is off-DOM)\n }\n }\n}\n"],"names":["TextAreaSyntethicEvents","TextAreaInput","typeInput","strings.isHighSurrogate","dom.addDisposableListener","dom.getShadowRoot","dom.getActiveElement","dom.getWindow","browser.isFirefox","dom.saveParentsScrollTop","dom.restoreParentsScrollTop"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"textAreaInput.es.js","sources":["../../../../../../../../../../../../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaInput.js"],"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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nimport * as browser from '../../../base/browser/browser.js';\nimport * as dom from '../../../base/browser/dom.js';\nimport { DomEmitter } from '../../../base/browser/event.js';\nimport { StandardKeyboardEvent } from '../../../base/browser/keyboardEvent.js';\nimport { inputLatency } from '../../../base/browser/performance.js';\nimport { RunOnceScheduler } from '../../../base/common/async.js';\nimport { Emitter, Event } from '../../../base/common/event.js';\nimport { Disposable, MutableDisposable } from '../../../base/common/lifecycle.js';\nimport { Mimes } from '../../../base/common/mime.js';\nimport * as strings from '../../../base/common/strings.js';\nimport { TextAreaState, _debugComposition } from './textAreaState.js';\nimport { Selection } from '../../common/core/selection.js';\nimport { IAccessibilityService } from '../../../platform/accessibility/common/accessibility.js';\nimport { ILogService } from '../../../platform/log/common/log.js';\nexport var TextAreaSyntethicEvents;\n(function (TextAreaSyntethicEvents) {\n TextAreaSyntethicEvents.Tap = '-monaco-textarea-synthetic-tap';\n})(TextAreaSyntethicEvents || (TextAreaSyntethicEvents = {}));\nexport const CopyOptions = {\n forceCopyWithSyntaxHighlighting: false\n};\n/**\n * Every time we write to the clipboard, we record a bit of extra metadata here.\n * Every time we read from the cipboard, if the text matches our last written text,\n * we can fetch the previous metadata.\n */\nexport class InMemoryClipboardMetadataManager {\n static { this.INSTANCE = new InMemoryClipboardMetadataManager(); }\n constructor() {\n this._lastState = null;\n }\n set(lastCopiedValue, data) {\n this._lastState = { lastCopiedValue, data };\n }\n get(pastedText) {\n if (this._lastState && this._lastState.lastCopiedValue === pastedText) {\n // match!\n return this._lastState.data;\n }\n this._lastState = null;\n return null;\n }\n}\nclass CompositionContext {\n constructor() {\n this._lastTypeTextLength = 0;\n }\n handleCompositionUpdate(text) {\n text = text || '';\n const typeInput = {\n text: text,\n replacePrevCharCnt: this._lastTypeTextLength,\n replaceNextCharCnt: 0,\n positionDelta: 0\n };\n this._lastTypeTextLength = text.length;\n return typeInput;\n }\n}\n/**\n * Writes screen reader content to the textarea and is able to analyze its input events to generate:\n * - onCut\n * - onPaste\n * - onType\n *\n * Composition events are generated for presentation purposes (composition input is reflected in onType).\n */\nlet TextAreaInput = class TextAreaInput extends Disposable {\n get textAreaState() {\n return this._textAreaState;\n }\n constructor(_host, _textArea, _OS, _browser, _accessibilityService, _logService) {\n super();\n this._host = _host;\n this._textArea = _textArea;\n this._OS = _OS;\n this._browser = _browser;\n this._accessibilityService = _accessibilityService;\n this._logService = _logService;\n this._onFocus = this._register(new Emitter());\n this.onFocus = this._onFocus.event;\n this._onBlur = this._register(new Emitter());\n this.onBlur = this._onBlur.event;\n this._onKeyDown = this._register(new Emitter());\n this.onKeyDown = this._onKeyDown.event;\n this._onKeyUp = this._register(new Emitter());\n this.onKeyUp = this._onKeyUp.event;\n this._onCut = this._register(new Emitter());\n this.onCut = this._onCut.event;\n this._onPaste = this._register(new Emitter());\n this.onPaste = this._onPaste.event;\n this._onType = this._register(new Emitter());\n this.onType = this._onType.event;\n this._onCompositionStart = this._register(new Emitter());\n this.onCompositionStart = this._onCompositionStart.event;\n this._onCompositionUpdate = this._register(new Emitter());\n this.onCompositionUpdate = this._onCompositionUpdate.event;\n this._onCompositionEnd = this._register(new Emitter());\n this.onCompositionEnd = this._onCompositionEnd.event;\n this._onSelectionChangeRequest = this._register(new Emitter());\n this.onSelectionChangeRequest = this._onSelectionChangeRequest.event;\n this._asyncFocusGainWriteScreenReaderContent = this._register(new MutableDisposable());\n this._asyncTriggerCut = this._register(new RunOnceScheduler(() => this._onCut.fire(), 0));\n this._textAreaState = TextAreaState.EMPTY;\n this._selectionChangeListener = null;\n if (this._accessibilityService.isScreenReaderOptimized()) {\n this.writeNativeTextAreaContent('ctor');\n }\n this._register(Event.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized, () => {\n if (this._accessibilityService.isScreenReaderOptimized() && !this._asyncFocusGainWriteScreenReaderContent.value) {\n this._asyncFocusGainWriteScreenReaderContent.value = this._register(new RunOnceScheduler(() => this.writeNativeTextAreaContent('asyncFocusGain'), 0));\n }\n else {\n this._asyncFocusGainWriteScreenReaderContent.clear();\n }\n }));\n this._hasFocus = false;\n this._currentComposition = null;\n let lastKeyDown = null;\n this._register(this._textArea.onKeyDown((_e) => {\n const e = new StandardKeyboardEvent(_e);\n if (e.keyCode === 114 /* KeyCode.KEY_IN_COMPOSITION */\n || (this._currentComposition && e.keyCode === 1 /* KeyCode.Backspace */)) {\n // Stop propagation for keyDown events if the IME is processing key input\n e.stopPropagation();\n }\n if (e.equals(9 /* KeyCode.Escape */)) {\n // Prevent default always for `Esc`, otherwise it will generate a keypress\n // See https://msdn.microsoft.com/en-us/library/ie/ms536939(v=vs.85).aspx\n e.preventDefault();\n }\n lastKeyDown = e;\n this._onKeyDown.fire(e);\n }));\n this._register(this._textArea.onKeyUp((_e) => {\n const e = new StandardKeyboardEvent(_e);\n this._onKeyUp.fire(e);\n }));\n this._register(this._textArea.onCompositionStart((e) => {\n if (_debugComposition) {\n console.log(`[compositionstart]`, e);\n }\n const currentComposition = new CompositionContext();\n if (this._currentComposition) {\n // simply reset the composition context\n this._currentComposition = currentComposition;\n return;\n }\n this._currentComposition = currentComposition;\n if (this._OS === 2 /* OperatingSystem.Macintosh */\n && lastKeyDown\n && lastKeyDown.equals(114 /* KeyCode.KEY_IN_COMPOSITION */)\n && this._textAreaState.selectionStart === this._textAreaState.selectionEnd\n && this._textAreaState.selectionStart > 0\n && this._textAreaState.value.substr(this._textAreaState.selectionStart - 1, 1) === e.data\n && (lastKeyDown.code === 'ArrowRight' || lastKeyDown.code === 'ArrowLeft')) {\n // Handling long press case on Chromium/Safari macOS + arrow key => pretend the character was selected\n if (_debugComposition) {\n console.log(`[compositionstart] Handling long press case on macOS + arrow key`, e);\n }\n // Pretend the previous character was composed (in order to get it removed by subsequent compositionupdate events)\n currentComposition.handleCompositionUpdate('x');\n this._onCompositionStart.fire({ data: e.data });\n return;\n }\n if (this._browser.isAndroid) {\n // when tapping on the editor, Android enters composition mode to edit the current word\n // so we cannot clear the textarea on Android and we must pretend the current word was selected\n this._onCompositionStart.fire({ data: e.data });\n return;\n }\n this._onCompositionStart.fire({ data: e.data });\n }));\n this._register(this._textArea.onCompositionUpdate((e) => {\n if (_debugComposition) {\n console.log(`[compositionupdate]`, e);\n }\n const currentComposition = this._currentComposition;\n if (!currentComposition) {\n // should not be possible to receive a 'compositionupdate' without a 'compositionstart'\n return;\n }\n if (this._browser.isAndroid) {\n // On Android, the data sent with the composition update event is unusable.\n // For example, if the cursor is in the middle of a word like Mic|osoft\n // and Microsoft is chosen from the keyboard's suggestions, the e.data will contain \"Microsoft\".\n // This is not really usable because it doesn't tell us where the edit began and where it ended.\n const newState = TextAreaState.readFromTextArea(this._textArea, this._textAreaState);\n const typeInput = TextAreaState.deduceAndroidCompositionInput(this._textAreaState, newState);\n this._textAreaState = newState;\n this._onType.fire(typeInput);\n this._onCompositionUpdate.fire(e);\n return;\n }\n const typeInput = currentComposition.handleCompositionUpdate(e.data);\n this._textAreaState = TextAreaState.readFromTextArea(this._textArea, this._textAreaState);\n this._onType.fire(typeInput);\n this._onCompositionUpdate.fire(e);\n }));\n this._register(this._textArea.onCompositionEnd((e) => {\n if (_debugComposition) {\n console.log(`[compositionend]`, e);\n }\n const currentComposition = this._currentComposition;\n if (!currentComposition) {\n // https://github.com/microsoft/monaco-editor/issues/1663\n // On iOS 13.2, Chinese system IME randomly trigger an additional compositionend event with empty data\n return;\n }\n this._currentComposition = null;\n if (this._browser.isAndroid) {\n // On Android, the data sent with the composition update event is unusable.\n // For example, if the cursor is in the middle of a word like Mic|osoft\n // and Microsoft is chosen from the keyboard's suggestions, the e.data will contain \"Microsoft\".\n // This is not really usable because it doesn't tell us where the edit began and where it ended.\n const newState = TextAreaState.readFromTextArea(this._textArea, this._textAreaState);\n const typeInput = TextAreaState.deduceAndroidCompositionInput(this._textAreaState, newState);\n this._textAreaState = newState;\n this._onType.fire(typeInput);\n this._onCompositionEnd.fire();\n return;\n }\n const typeInput = currentComposition.handleCompositionUpdate(e.data);\n this._textAreaState = TextAreaState.readFromTextArea(this._textArea, this._textAreaState);\n this._onType.fire(typeInput);\n this._onCompositionEnd.fire();\n }));\n this._register(this._textArea.onInput((e) => {\n if (_debugComposition) {\n console.log(`[input]`, e);\n }\n // Pretend here we touched the text area, as the `input` event will most likely\n // result in a `selectionchange` event which we want to ignore\n this._textArea.setIgnoreSelectionChangeTime('received input event');\n if (this._currentComposition) {\n return;\n }\n const newState = TextAreaState.readFromTextArea(this._textArea, this._textAreaState);\n const typeInput = TextAreaState.deduceInput(this._textAreaState, newState, /*couldBeEmojiInput*/ this._OS === 2 /* OperatingSystem.Macintosh */);\n if (typeInput.replacePrevCharCnt === 0 && typeInput.text.length === 1) {\n // one character was typed\n if (strings.isHighSurrogate(typeInput.text.charCodeAt(0))\n || typeInput.text.charCodeAt(0) === 0x7f /* Delete */) {\n // Ignore invalid input but keep it around for next time\n return;\n }\n }\n this._textAreaState = newState;\n if (typeInput.text !== ''\n || typeInput.replacePrevCharCnt !== 0\n || typeInput.replaceNextCharCnt !== 0\n || typeInput.positionDelta !== 0) {\n this._onType.fire(typeInput);\n }\n }));\n // --- Clipboard operations\n this._register(this._textArea.onCut((e) => {\n // Pretend here we touched the text area, as the `cut` event will most likely\n // result in a `selectionchange` event which we want to ignore\n this._textArea.setIgnoreSelectionChangeTime('received cut event');\n this._ensureClipboardGetsEditorSelection(e);\n this._asyncTriggerCut.schedule();\n }));\n this._register(this._textArea.onCopy((e) => {\n this._ensureClipboardGetsEditorSelection(e);\n }));\n this._register(this._textArea.onPaste((e) => {\n // Pretend here we touched the text area, as the `paste` event will most likely\n // result in a `selectionchange` event which we want to ignore\n this._textArea.setIgnoreSelectionChangeTime('received paste event');\n e.preventDefault();\n if (!e.clipboardData) {\n return;\n }\n let [text, metadata] = ClipboardEventUtils.getTextData(e.clipboardData);\n if (!text) {\n return;\n }\n // try the in-memory store\n metadata = metadata || InMemoryClipboardMetadataManager.INSTANCE.get(text);\n this._onPaste.fire({\n text: text,\n metadata: metadata\n });\n }));\n this._register(this._textArea.onFocus(() => {\n const hadFocus = this._hasFocus;\n this._setHasFocus(true);\n if (this._accessibilityService.isScreenReaderOptimized() && this._browser.isSafari && !hadFocus && this._hasFocus) {\n // When \"tabbing into\" the textarea, immediately after dispatching the 'focus' event,\n // Safari will always move the selection at offset 0 in the textarea\n if (!this._asyncFocusGainWriteScreenReaderContent.value) {\n this._asyncFocusGainWriteScreenReaderContent.value = new RunOnceScheduler(() => this.writeNativeTextAreaContent('asyncFocusGain'), 0);\n }\n this._asyncFocusGainWriteScreenReaderContent.value.schedule();\n }\n }));\n this._register(this._textArea.onBlur(() => {\n if (this._currentComposition) {\n // See https://github.com/microsoft/vscode/issues/112621\n // where compositionend is not triggered when the editor\n // is taken off-dom during a composition\n // Clear the flag to be able to write to the textarea\n this._currentComposition = null;\n // Clear the textarea to avoid an unwanted cursor type\n this.writeNativeTextAreaContent('blurWithoutCompositionEnd');\n // Fire artificial composition end\n this._onCompositionEnd.fire();\n }\n this._setHasFocus(false);\n }));\n this._register(this._textArea.onSyntheticTap(() => {\n if (this._browser.isAndroid && this._currentComposition) {\n // on Android, tapping does not cancel the current composition, so the\n // textarea is stuck showing the old composition\n // Clear the flag to be able to write to the textarea\n this._currentComposition = null;\n // Clear the textarea to avoid an unwanted cursor type\n this.writeNativeTextAreaContent('tapWithoutCompositionEnd');\n // Fire artificial composition end\n this._onCompositionEnd.fire();\n }\n }));\n }\n _installSelectionChangeListener() {\n // See https://github.com/microsoft/vscode/issues/27216 and https://github.com/microsoft/vscode/issues/98256\n // When using a Braille display, it is possible for users to reposition the\n // system caret. This is reflected in Chrome as a `selectionchange` event.\n //\n // The `selectionchange` event appears to be emitted under numerous other circumstances,\n // so it is quite a challenge to distinguish a `selectionchange` coming in from a user\n // using a Braille display from all the other cases.\n //\n // The problems with the `selectionchange` event are:\n // * the event is emitted when the textarea is focused programmatically -- textarea.focus()\n // * the event is emitted when the selection is changed in the textarea programmatically -- textarea.setSelectionRange(...)\n // * the event is emitted when the value of the textarea is changed programmatically -- textarea.value = '...'\n // * the event is emitted when tabbing into the textarea\n // * the event is emitted asynchronously (sometimes with a delay as high as a few tens of ms)\n // * the event sometimes comes in bursts for a single logical textarea operation\n // `selectionchange` events often come multiple times for a single logical change\n // so throttle multiple `selectionchange` events that burst in a short period of time.\n let previousSelectionChangeEventTime = 0;\n return dom.addDisposableListener(this._textArea.ownerDocument, 'selectionchange', (e) => {\n inputLatency.onSelectionChange();\n if (!this._hasFocus) {\n return;\n }\n if (this._currentComposition) {\n return;\n }\n if (!this._browser.isChrome) {\n // Support only for Chrome until testing happens on other browsers\n return;\n }\n const now = Date.now();\n const delta1 = now - previousSelectionChangeEventTime;\n previousSelectionChangeEventTime = now;\n if (delta1 < 5) {\n // received another `selectionchange` event within 5ms of the previous `selectionchange` event\n // => ignore it\n return;\n }\n const delta2 = now - this._textArea.getIgnoreSelectionChangeTime();\n this._textArea.resetSelectionChangeTime();\n if (delta2 < 100) {\n // received a `selectionchange` event within 100ms since we touched the textarea\n // => ignore it, since we caused it\n return;\n }\n if (!this._textAreaState.selection) {\n // Cannot correlate a position in the textarea with a position in the editor...\n return;\n }\n const newValue = this._textArea.getValue();\n if (this._textAreaState.value !== newValue) {\n // Cannot correlate a position in the textarea with a position in the editor...\n return;\n }\n const newSelectionStart = this._textArea.getSelectionStart();\n const newSelectionEnd = this._textArea.getSelectionEnd();\n if (this._textAreaState.selectionStart === newSelectionStart && this._textAreaState.selectionEnd === newSelectionEnd) {\n // Nothing to do...\n return;\n }\n const _newSelectionStartPosition = this._textAreaState.deduceEditorPosition(newSelectionStart);\n const newSelectionStartPosition = this._host.deduceModelPosition(_newSelectionStartPosition[0], _newSelectionStartPosition[1], _newSelectionStartPosition[2]);\n const _newSelectionEndPosition = this._textAreaState.deduceEditorPosition(newSelectionEnd);\n const newSelectionEndPosition = this._host.deduceModelPosition(_newSelectionEndPosition[0], _newSelectionEndPosition[1], _newSelectionEndPosition[2]);\n const newSelection = new Selection(newSelectionStartPosition.lineNumber, newSelectionStartPosition.column, newSelectionEndPosition.lineNumber, newSelectionEndPosition.column);\n this._onSelectionChangeRequest.fire(newSelection);\n });\n }\n dispose() {\n super.dispose();\n if (this._selectionChangeListener) {\n this._selectionChangeListener.dispose();\n this._selectionChangeListener = null;\n }\n }\n focusTextArea() {\n // Setting this._hasFocus and writing the screen reader content\n // will result in a focus() and setSelectionRange() in the textarea\n this._setHasFocus(true);\n // If the editor is off DOM, focus cannot be really set, so let's double check that we have managed to set the focus\n this.refreshFocusState();\n }\n isFocused() {\n return this._hasFocus;\n }\n refreshFocusState() {\n this._setHasFocus(this._textArea.hasFocus());\n }\n _setHasFocus(newHasFocus) {\n if (this._hasFocus === newHasFocus) {\n // no change\n return;\n }\n this._hasFocus = newHasFocus;\n if (this._selectionChangeListener) {\n this._selectionChangeListener.dispose();\n this._selectionChangeListener = null;\n }\n if (this._hasFocus) {\n this._selectionChangeListener = this._installSelectionChangeListener();\n }\n if (this._hasFocus) {\n this.writeNativeTextAreaContent('focusgain');\n }\n if (this._hasFocus) {\n this._onFocus.fire();\n }\n else {\n this._onBlur.fire();\n }\n }\n _setAndWriteTextAreaState(reason, textAreaState) {\n if (!this._hasFocus) {\n textAreaState = textAreaState.collapseSelection();\n }\n textAreaState.writeToTextArea(reason, this._textArea, this._hasFocus);\n this._textAreaState = textAreaState;\n }\n writeNativeTextAreaContent(reason) {\n if ((!this._accessibilityService.isScreenReaderOptimized() && reason === 'render') || this._currentComposition) {\n // Do not write to the text on render unless a screen reader is being used #192278\n // Do not write to the text area when doing composition\n return;\n }\n this._logService.trace(`writeTextAreaState(reason: ${reason})`);\n this._setAndWriteTextAreaState(reason, this._host.getScreenReaderContent());\n }\n _ensureClipboardGetsEditorSelection(e) {\n const dataToCopy = this._host.getDataToCopy();\n const storedMetadata = {\n version: 1,\n isFromEmptySelection: dataToCopy.isFromEmptySelection,\n multicursorText: dataToCopy.multicursorText,\n mode: dataToCopy.mode\n };\n InMemoryClipboardMetadataManager.INSTANCE.set(\n // When writing \"LINE\\r\\n\" to the clipboard and then pasting,\n // Firefox pastes \"LINE\\n\", so let's work around this quirk\n (this._browser.isFirefox ? dataToCopy.text.replace(/\\r\\n/g, '\\n') : dataToCopy.text), storedMetadata);\n e.preventDefault();\n if (e.clipboardData) {\n ClipboardEventUtils.setTextData(e.clipboardData, dataToCopy.text, dataToCopy.html, storedMetadata);\n }\n }\n};\nTextAreaInput = __decorate([\n __param(4, IAccessibilityService),\n __param(5, ILogService)\n], TextAreaInput);\nexport { TextAreaInput };\nexport const ClipboardEventUtils = {\n getTextData(clipboardData) {\n const text = clipboardData.getData(Mimes.text);\n let metadata = null;\n const rawmetadata = clipboardData.getData('vscode-editor-data');\n if (typeof rawmetadata === 'string') {\n try {\n metadata = JSON.parse(rawmetadata);\n if (metadata.version !== 1) {\n metadata = null;\n }\n }\n catch (err) {\n // no problem!\n }\n }\n if (text.length === 0 && metadata === null && clipboardData.files.length > 0) {\n // no textual data pasted, generate text from file names\n const files = Array.prototype.slice.call(clipboardData.files, 0);\n return [files.map(file => file.name).join('\\n'), null];\n }\n return [text, metadata];\n },\n setTextData(clipboardData, text, html, metadata) {\n clipboardData.setData(Mimes.text, text);\n if (typeof html === 'string') {\n clipboardData.setData('text/html', html);\n }\n clipboardData.setData('vscode-editor-data', JSON.stringify(metadata));\n }\n};\nexport class TextAreaWrapper extends Disposable {\n get ownerDocument() {\n return this._actual.ownerDocument;\n }\n constructor(_actual) {\n super();\n this._actual = _actual;\n this.onKeyDown = this._register(new DomEmitter(this._actual, 'keydown')).event;\n this.onKeyUp = this._register(new DomEmitter(this._actual, 'keyup')).event;\n this.onCompositionStart = this._register(new DomEmitter(this._actual, 'compositionstart')).event;\n this.onCompositionUpdate = this._register(new DomEmitter(this._actual, 'compositionupdate')).event;\n this.onCompositionEnd = this._register(new DomEmitter(this._actual, 'compositionend')).event;\n this.onBeforeInput = this._register(new DomEmitter(this._actual, 'beforeinput')).event;\n this.onInput = this._register(new DomEmitter(this._actual, 'input')).event;\n this.onCut = this._register(new DomEmitter(this._actual, 'cut')).event;\n this.onCopy = this._register(new DomEmitter(this._actual, 'copy')).event;\n this.onPaste = this._register(new DomEmitter(this._actual, 'paste')).event;\n this.onFocus = this._register(new DomEmitter(this._actual, 'focus')).event;\n this.onBlur = this._register(new DomEmitter(this._actual, 'blur')).event;\n this._onSyntheticTap = this._register(new Emitter());\n this.onSyntheticTap = this._onSyntheticTap.event;\n this._ignoreSelectionChangeTime = 0;\n this._register(this.onKeyDown(() => inputLatency.onKeyDown()));\n this._register(this.onBeforeInput(() => inputLatency.onBeforeInput()));\n this._register(this.onInput(() => inputLatency.onInput()));\n this._register(this.onKeyUp(() => inputLatency.onKeyUp()));\n this._register(dom.addDisposableListener(this._actual, TextAreaSyntethicEvents.Tap, () => this._onSyntheticTap.fire()));\n }\n hasFocus() {\n const shadowRoot = dom.getShadowRoot(this._actual);\n if (shadowRoot) {\n return shadowRoot.activeElement === this._actual;\n }\n else if (this._actual.isConnected) {\n return dom.getActiveElement() === this._actual;\n }\n else {\n return false;\n }\n }\n setIgnoreSelectionChangeTime(reason) {\n this._ignoreSelectionChangeTime = Date.now();\n }\n getIgnoreSelectionChangeTime() {\n return this._ignoreSelectionChangeTime;\n }\n resetSelectionChangeTime() {\n this._ignoreSelectionChangeTime = 0;\n }\n getValue() {\n // console.log('current value: ' + this._textArea.value);\n return this._actual.value;\n }\n setValue(reason, value) {\n const textArea = this._actual;\n if (textArea.value === value) {\n // No change\n return;\n }\n // console.log('reason: ' + reason + ', current value: ' + textArea.value + ' => new value: ' + value);\n this.setIgnoreSelectionChangeTime('setValue');\n textArea.value = value;\n }\n getSelectionStart() {\n return this._actual.selectionDirection === 'backward' ? this._actual.selectionEnd : this._actual.selectionStart;\n }\n getSelectionEnd() {\n return this._actual.selectionDirection === 'backward' ? this._actual.selectionStart : this._actual.selectionEnd;\n }\n setSelectionRange(reason, selectionStart, selectionEnd) {\n const textArea = this._actual;\n let activeElement = null;\n const shadowRoot = dom.getShadowRoot(textArea);\n if (shadowRoot) {\n activeElement = shadowRoot.activeElement;\n }\n else {\n activeElement = dom.getActiveElement();\n }\n const activeWindow = dom.getWindow(activeElement);\n const currentIsFocused = (activeElement === textArea);\n const currentSelectionStart = textArea.selectionStart;\n const currentSelectionEnd = textArea.selectionEnd;\n if (currentIsFocused && currentSelectionStart === selectionStart && currentSelectionEnd === selectionEnd) {\n // No change\n // Firefox iframe bug https://github.com/microsoft/monaco-editor/issues/643#issuecomment-367871377\n if (browser.isFirefox && activeWindow.parent !== activeWindow) {\n textArea.focus();\n }\n return;\n }\n // console.log('reason: ' + reason + ', setSelectionRange: ' + selectionStart + ' -> ' + selectionEnd);\n if (currentIsFocused) {\n // No need to focus, only need to change the selection range\n this.setIgnoreSelectionChangeTime('setSelectionRange');\n textArea.setSelectionRange(selectionStart, selectionEnd);\n if (browser.isFirefox && activeWindow.parent !== activeWindow) {\n textArea.focus();\n }\n return;\n }\n // If the focus is outside the textarea, browsers will try really hard to reveal the textarea.\n // Here, we try to undo the browser's desperate reveal.\n try {\n const scrollState = dom.saveParentsScrollTop(textArea);\n this.setIgnoreSelectionChangeTime('setSelectionRange');\n textArea.focus();\n textArea.setSelectionRange(selectionStart, selectionEnd);\n dom.restoreParentsScrollTop(textArea, scrollState);\n }\n catch (e) {\n // Sometimes IE throws when setting selection (e.g. textarea is off-DOM)\n }\n }\n}\n"],"names":["TextAreaSyntethicEvents","TextAreaInput","typeInput","strings.isHighSurrogate","dom.addDisposableListener","dom.getShadowRoot","dom.getActiveElement","dom.getWindow","browser.isFirefox","dom.saveParentsScrollTop","dom.restoreParentsScrollTop"],"mappings":"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","x_google_ignoreList":[0]}
|