@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.
Files changed (600) hide show
  1. package/dist/_virtual/index.es2.js +2 -2
  2. package/dist/_virtual/index.es3.js +2 -2
  3. package/dist/_virtual/index.es4.js +2 -2
  4. package/dist/components/easyv-monaco-editor/monaco-setup.es.js +4 -84
  5. package/dist/components/easyv-monaco-editor/monaco-setup.es.js.map +1 -1
  6. package/dist/node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.es.js +1 -1
  7. package/dist/node_modules/.pnpm/co-web-worker@1.0.1/node_modules/co-web-worker/index.es.js +1 -1
  8. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/dnd.es.js +1 -11
  9. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/dnd.es.js.map +1 -1
  10. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/dom.es.js +2 -156
  11. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/dom.es.js.map +1 -1
  12. 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
  13. 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
  14. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/arrays.es.js +0 -75
  15. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/arrays.es.js.map +1 -1
  16. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/arraysFind.es.js +1 -11
  17. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/arraysFind.es.js.map +1 -1
  18. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/async.es.js +0 -65
  19. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/async.es.js.map +1 -1
  20. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/cancellation.es.js +1 -9
  21. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/cancellation.es.js.map +1 -1
  22. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/equals.es.js +4 -53
  23. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/equals.es.js.map +1 -1
  24. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/extpath.es.js +1 -8
  25. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/extpath.es.js.map +1 -1
  26. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/filters.es.js +0 -48
  27. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/filters.es.js.map +1 -1
  28. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/htmlContent.es.js +0 -10
  29. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/htmlContent.es.js.map +1 -1
  30. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/lifecycle.es.js +0 -17
  31. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/lifecycle.es.js.map +1 -1
  32. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/objects.es.js +1 -23
  33. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/objects.es.js.map +1 -1
  34. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/autorun.es.js +1 -19
  35. 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
  36. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/base.es.js +0 -9
  37. 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
  38. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/derived.es.js +0 -4
  39. 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
  40. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/promise.es.js +2 -44
  41. 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
  42. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/observableInternal/utils.es.js +1 -59
  43. 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
  44. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/platform.es.js +0 -2
  45. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/platform.es.js.map +1 -1
  46. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/resources.es.js +6 -10
  47. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/resources.es.js.map +1 -1
  48. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/strings.es.js +0 -21
  49. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/strings.es.js.map +1 -1
  50. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/types.es.js +1 -1
  51. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/types.es.js.map +1 -1
  52. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.es.js +2 -2
  53. 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
  54. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaInput.es.js +0 -4
  55. 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
  56. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/editorExtensions.es.js +8 -148
  57. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/editorExtensions.es.js.map +1 -1
  58. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/observableCodeEditor.es.js +2 -37
  59. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/observableCodeEditor.es.js.map +1 -1
  60. 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
  61. 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
  62. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/commands/replaceCommand.es.js +0 -19
  63. 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
  64. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/core/characterClassifier.es.js +1 -23
  65. 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
  66. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/core/editorColorRegistry.es.js +2 -4
  67. 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
  68. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorWordOperations.es.js +1 -71
  69. 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
  70. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/editorFeatures.es.js +1 -5
  71. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/editorFeatures.es.js.map +1 -1
  72. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/languages/autoIndent.es.js +0 -74
  73. 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
  74. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/languages.es.js +3 -6
  75. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/languages.es.js.map +1 -1
  76. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.es.js +1 -82
  77. 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
  78. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/tokens/lineTokens.es.js +1 -13
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/nls.es.js +1 -15
  85. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/nls.es.js.map +1 -1
  86. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.es.js +0 -30
  87. 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
  88. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/actions/common/actions.es.js +5 -56
  89. 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
  90. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/contextkey/common/contextkeys.es.js +3 -5
  91. 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
  92. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/list/browser/listService.es.js +1 -2
  93. 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
  94. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/observable/common/platformObservableUtils.es.js +2 -10
  95. 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
  96. 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
  97. 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
  98. 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
  99. 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
  100. 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
  101. 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
  102. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/theme/common/iconRegistry.es.js +2 -3
  103. 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
  104. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/workspace/common/workspace.es.js +3 -51
  105. 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
  106. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.es.js +1 -1
  107. package/dist/stats.html +1 -1
  108. package/dist/style.css +1 -1
  109. package/package.json +1 -1
  110. package/dist/monaco/editor.worker.bundle.js +0 -13517
  111. package/dist/monaco/json.worker.bundle.js +0 -21318
  112. package/dist/monaco/ts.worker.bundle.js +0 -256351
  113. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/domObservable.es.js +0 -18
  114. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/browser/domObservable.es.js.map +0 -1
  115. 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
  116. 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
  117. 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
  118. 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
  119. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/dataTransfer.es.js +0 -129
  120. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/dataTransfer.es.js.map +0 -1
  121. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/errorMessage.es.js +0 -60
  122. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/errorMessage.es.js.map +0 -1
  123. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/hierarchicalKind.es.js +0 -25
  124. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/hierarchicalKind.es.js.map +0 -1
  125. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/labels.es.js +0 -12
  126. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/labels.es.js.map +0 -1
  127. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/search.es.js +0 -42
  128. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/search.es.js.map +0 -1
  129. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/uuid.es.js +0 -53
  130. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/base/common/uuid.es.js.map +0 -1
  131. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.es.js +0 -70
  132. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.es.js.map +0 -1
  133. 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
  134. 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
  135. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.es.js +0 -78
  136. 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
  137. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.es.js +0 -273
  138. 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
  139. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/dnd.es.js +0 -70
  140. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/dnd.es.js.map +0 -1
  141. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/editorBrowser.es.js +0 -20
  142. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/browser/editorBrowser.es.js.map +0 -1
  143. 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
  144. 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
  145. 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
  146. 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
  147. 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
  148. 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
  149. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/commands/trimTrailingWhitespaceCommand.es.js +0 -81
  150. 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
  151. 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
  152. 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
  153. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/getIconClasses.es.js +0 -84
  154. 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
  155. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensDto.es.js +0 -67
  156. 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
  157. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/treeViewsDnd.es.js +0 -23
  158. 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
  159. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/services/treeViewsDndService.es.js +0 -14
  160. 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
  161. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/common/tokens/sparseMultilineTokens.es.js +0 -389
  162. 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
  163. 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
  164. 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
  165. 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
  166. 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
  167. 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
  168. 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
  169. 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
  170. 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
  171. 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
  172. 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
  173. 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
  174. 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
  175. 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
  176. 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
  177. 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
  178. 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
  179. 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
  180. 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
  181. 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
  182. 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
  183. 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
  184. 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
  185. 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
  186. 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
  187. 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
  188. 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
  189. 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
  190. 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
  191. 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
  192. 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
  193. 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
  194. 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
  195. 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
  196. 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
  197. 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
  198. 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
  199. 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
  200. 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
  201. 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
  202. 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
  203. 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
  204. 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
  205. 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
  206. 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
  207. 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
  208. 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
  209. 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
  210. 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
  211. 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
  212. 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
  213. 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
  214. 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
  215. 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
  216. 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
  217. 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
  218. 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
  219. 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
  220. 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
  221. 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
  222. 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
  223. 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
  224. 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
  225. 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
  226. 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
  227. 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
  228. 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
  229. 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
  230. 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
  231. 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
  232. 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
  233. 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
  234. 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
  235. 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
  236. 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
  237. 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
  238. 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
  239. 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
  240. 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
  241. 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
  242. 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
  243. 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
  244. 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
  245. 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
  246. 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
  247. 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
  248. 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
  249. 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
  250. 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
  251. 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
  252. 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
  253. 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
  254. 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
  255. 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
  256. 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
  257. 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
  258. 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
  259. 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
  260. 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
  261. 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
  262. 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
  263. 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
  264. 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
  265. 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
  266. 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
  267. 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
  268. 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
  269. 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
  270. 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
  271. 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
  272. 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
  273. 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
  274. 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
  275. 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
  276. 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
  277. 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
  278. 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
  279. 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
  280. 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
  281. 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
  282. 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
  283. 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
  284. 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
  285. 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
  286. 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
  287. 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
  288. 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
  289. 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
  290. 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
  291. 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
  292. 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
  293. 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
  294. 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
  295. 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
  296. 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
  297. 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
  298. 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
  299. 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
  300. 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
  301. 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
  302. 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
  303. 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
  304. 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
  305. 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
  306. 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
  307. 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
  308. 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
  309. 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
  310. 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
  311. 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
  312. 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
  313. 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
  314. 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
  315. 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
  316. 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
  317. 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
  318. 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
  319. 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
  320. 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
  321. 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
  322. 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
  323. 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
  324. 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
  325. 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
  326. 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
  327. 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
  328. 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
  329. 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
  330. 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
  331. 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
  332. 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
  333. 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
  334. 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
  335. 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
  336. 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
  337. 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
  338. 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
  339. 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
  340. 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
  341. 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
  342. 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
  343. 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
  344. 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
  345. 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
  346. 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
  347. 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
  348. 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
  349. 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
  350. 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
  351. 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
  352. 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
  353. 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
  354. 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
  355. 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
  356. 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
  357. 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
  358. 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
  359. 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
  360. 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
  361. 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
  362. 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
  363. 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
  364. 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
  365. 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
  366. 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
  367. 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
  368. 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
  369. 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
  370. 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
  371. 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
  372. 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
  373. 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
  374. 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
  375. 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
  376. 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
  377. 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
  378. 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
  379. 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
  380. 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
  381. 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
  382. 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
  383. 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
  384. 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
  385. 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
  386. 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
  387. 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
  388. 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
  389. 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
  390. 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
  391. 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
  392. 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
  393. 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
  394. 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
  395. 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
  396. 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
  397. 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
  398. 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
  399. 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
  400. 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
  401. 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
  402. 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
  403. 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
  404. 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
  405. 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
  406. 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
  407. 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
  408. 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
  409. 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
  410. 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
  411. 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
  412. 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
  413. 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
  414. 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
  415. 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
  416. 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
  417. 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
  418. 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
  419. 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
  420. 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
  421. 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
  422. 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
  423. 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
  424. 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
  425. 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
  426. 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
  427. 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
  428. 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
  429. 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
  430. 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
  431. 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
  432. 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
  433. 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
  434. 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
  435. 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
  436. 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
  437. 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
  438. 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
  439. 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
  440. 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
  441. 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
  442. 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
  443. 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
  444. 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
  445. 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
  446. 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
  447. 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
  448. 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
  449. 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
  450. 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
  451. 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
  452. 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
  453. 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
  454. 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
  455. 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
  456. 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
  457. 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
  458. 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
  459. 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
  460. 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
  461. 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
  462. 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
  463. 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
  464. 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
  465. 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
  466. 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
  467. 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
  468. 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
  469. 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
  470. 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
  471. 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
  472. 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
  473. 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
  474. 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
  475. 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
  476. 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
  477. 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
  478. 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
  479. 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
  480. 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
  481. 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
  482. 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
  483. 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
  484. 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
  485. 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
  486. 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
  487. 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
  488. 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
  489. 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
  490. 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
  491. 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
  492. 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
  493. 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
  494. 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
  495. 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
  496. 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
  497. 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
  498. 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
  499. 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
  500. 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
  501. 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
  502. 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
  503. 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
  504. 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
  505. 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
  506. 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
  507. 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
  508. 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
  509. 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
  510. 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
  511. 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
  512. 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
  513. 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
  514. 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
  515. 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
  516. 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
  517. 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
  518. 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
  519. 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
  520. 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
  521. 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
  522. 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
  523. 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
  524. 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
  525. 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
  526. 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
  527. 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
  528. 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
  529. 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
  530. 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
  531. 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
  532. 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
  533. 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
  534. 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
  535. 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
  536. 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
  537. 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
  538. 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
  539. 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
  540. 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
  541. 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
  542. 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
  543. 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
  544. 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
  545. 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
  546. 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
  547. 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
  548. 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
  549. 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
  550. 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
  551. 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
  552. 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
  553. 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
  554. 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
  555. 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
  556. 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
  557. 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
  558. 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
  559. 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
  560. 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
  561. 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
  562. 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
  563. 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
  564. 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
  565. 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
  566. 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
  567. 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
  568. 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
  569. 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
  570. 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
  571. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/jsonMode.es.js +0 -2758
  572. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/jsonMode.es.js.map +0 -1
  573. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/monaco.contribution.es.js +0 -98
  574. 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
  575. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/monaco.contribution.es.js +0 -287
  576. 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
  577. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.es.js +0 -1244
  578. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.es.js.map +0 -1
  579. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/accessibility/browser/accessibleViewRegistry.es.js +0 -23
  580. 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
  581. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/action/common/actionCommonCategories.es.js +0 -13
  582. 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
  583. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionList.es.js +0 -285
  584. 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
  585. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionWidget.es.js +0 -265
  586. 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
  587. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/dnd/browser/dnd.es.js +0 -35
  588. 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
  589. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/files/common/files.es.js +0 -10
  590. 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
  591. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/history/browser/contextScopedHistoryWidget.es.js +0 -113
  592. 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
  593. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/history/browser/historyWidgetKeybindingHint.es.js +0 -8
  594. 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
  595. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/observable/common/wrapInReloadableClass.es.js +0 -59
  596. 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
  597. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/opener/browser/link.es.js +0 -95
  598. 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
  599. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/platform/severityIcon/browser/severityIcon.es.js +0 -26
  600. 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]}