@theia/monaco 1.67.0-next.56 → 1.67.0-next.86

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 (265) hide show
  1. package/lib/browser/content-hover-widget-patcher.d.ts +9 -0
  2. package/lib/browser/content-hover-widget-patcher.d.ts.map +1 -0
  3. package/lib/browser/content-hover-widget-patcher.js +63 -0
  4. package/lib/browser/content-hover-widget-patcher.js.map +1 -0
  5. package/lib/browser/default-content-hover-widget-patcher.d.ts +9 -0
  6. package/lib/browser/default-content-hover-widget-patcher.d.ts.map +1 -0
  7. package/lib/browser/default-content-hover-widget-patcher.js +49 -0
  8. package/lib/browser/default-content-hover-widget-patcher.js.map +1 -0
  9. package/lib/browser/index.d.ts +3 -0
  10. package/lib/browser/index.d.ts.map +1 -0
  11. package/lib/browser/index.js +21 -0
  12. package/lib/browser/index.js.map +1 -0
  13. package/lib/browser/markdown-renderer/monaco-markdown-renderer.d.ts +21 -0
  14. package/lib/browser/markdown-renderer/monaco-markdown-renderer.d.ts.map +1 -0
  15. package/lib/browser/markdown-renderer/monaco-markdown-renderer.js +115 -0
  16. package/lib/browser/markdown-renderer/monaco-markdown-renderer.js.map +1 -0
  17. package/lib/browser/monaco-bulk-edit-service.d.ts +13 -0
  18. package/lib/browser/monaco-bulk-edit-service.d.ts.map +1 -0
  19. package/lib/browser/monaco-bulk-edit-service.js +59 -0
  20. package/lib/browser/monaco-bulk-edit-service.js.map +1 -0
  21. package/lib/browser/monaco-code-action-save-participant.d.ts +11 -0
  22. package/lib/browser/monaco-code-action-save-participant.d.ts.map +1 -0
  23. package/lib/browser/monaco-code-action-save-participant.js +48 -0
  24. package/lib/browser/monaco-code-action-save-participant.js.map +1 -0
  25. package/lib/browser/monaco-code-action-service.d.ts +41 -0
  26. package/lib/browser/monaco-code-action-service.d.ts.map +1 -0
  27. package/lib/browser/monaco-code-action-service.js +132 -0
  28. package/lib/browser/monaco-code-action-service.js.map +1 -0
  29. package/lib/browser/monaco-color-registry.d.ts +17 -0
  30. package/lib/browser/monaco-color-registry.d.ts.map +1 -0
  31. package/lib/browser/monaco-color-registry.js +78 -0
  32. package/lib/browser/monaco-color-registry.js.map +1 -0
  33. package/lib/browser/monaco-command-registry.d.ts +20 -0
  34. package/lib/browser/monaco-command-registry.d.ts.map +1 -0
  35. package/lib/browser/monaco-command-registry.js +81 -0
  36. package/lib/browser/monaco-command-registry.js.map +1 -0
  37. package/lib/browser/monaco-command-service.d.ts +22 -0
  38. package/lib/browser/monaco-command-service.d.ts.map +1 -0
  39. package/lib/browser/monaco-command-service.js +83 -0
  40. package/lib/browser/monaco-command-service.js.map +1 -0
  41. package/lib/browser/monaco-command.d.ts +89 -0
  42. package/lib/browser/monaco-command.d.ts.map +1 -0
  43. package/lib/browser/monaco-command.js +303 -0
  44. package/lib/browser/monaco-command.js.map +1 -0
  45. package/lib/browser/monaco-context-key-service.d.ts +24 -0
  46. package/lib/browser/monaco-context-key-service.d.ts.map +1 -0
  47. package/lib/browser/monaco-context-key-service.js +151 -0
  48. package/lib/browser/monaco-context-key-service.js.map +1 -0
  49. package/lib/browser/monaco-context-menu.d.ts +22 -0
  50. package/lib/browser/monaco-context-menu.d.ts.map +1 -0
  51. package/lib/browser/monaco-context-menu.js +140 -0
  52. package/lib/browser/monaco-context-menu.js.map +1 -0
  53. package/lib/browser/monaco-diff-computer.d.ts +6 -0
  54. package/lib/browser/monaco-diff-computer.d.ts.map +1 -0
  55. package/lib/browser/monaco-diff-computer.js +57 -0
  56. package/lib/browser/monaco-diff-computer.js.map +1 -0
  57. package/lib/browser/monaco-diff-editor.d.ts +42 -0
  58. package/lib/browser/monaco-diff-editor.d.ts.map +1 -0
  59. package/lib/browser/monaco-diff-editor.js +142 -0
  60. package/lib/browser/monaco-diff-editor.js.map +1 -0
  61. package/lib/browser/monaco-diff-navigator-factory.d.ts +7 -0
  62. package/lib/browser/monaco-diff-navigator-factory.d.ts.map +1 -0
  63. package/lib/browser/monaco-diff-navigator-factory.js +41 -0
  64. package/lib/browser/monaco-diff-navigator-factory.js.map +1 -0
  65. package/lib/browser/monaco-editor-content-menu.d.ts +20 -0
  66. package/lib/browser/monaco-editor-content-menu.d.ts.map +1 -0
  67. package/lib/browser/monaco-editor-content-menu.js +118 -0
  68. package/lib/browser/monaco-editor-content-menu.js.map +1 -0
  69. package/lib/browser/monaco-editor-model.d.ts +172 -0
  70. package/lib/browser/monaco-editor-model.d.ts.map +1 -0
  71. package/lib/browser/monaco-editor-model.js +536 -0
  72. package/lib/browser/monaco-editor-model.js.map +1 -0
  73. package/lib/browser/monaco-editor-overlay-button.d.ts +14 -0
  74. package/lib/browser/monaco-editor-overlay-button.d.ts.map +1 -0
  75. package/lib/browser/monaco-editor-overlay-button.js +58 -0
  76. package/lib/browser/monaco-editor-overlay-button.js.map +1 -0
  77. package/lib/browser/monaco-editor-peek-view-widget.d.ts +74 -0
  78. package/lib/browser/monaco-editor-peek-view-widget.d.ts.map +1 -0
  79. package/lib/browser/monaco-editor-peek-view-widget.js +194 -0
  80. package/lib/browser/monaco-editor-peek-view-widget.js.map +1 -0
  81. package/lib/browser/monaco-editor-provider.d.ts +100 -0
  82. package/lib/browser/monaco-editor-provider.d.ts.map +1 -0
  83. package/lib/browser/monaco-editor-provider.js +493 -0
  84. package/lib/browser/monaco-editor-provider.js.map +1 -0
  85. package/lib/browser/monaco-editor-service.d.ts +41 -0
  86. package/lib/browser/monaco-editor-service.d.ts.map +1 -0
  87. package/lib/browser/monaco-editor-service.js +167 -0
  88. package/lib/browser/monaco-editor-service.js.map +1 -0
  89. package/lib/browser/monaco-editor-zone-widget.d.ts +44 -0
  90. package/lib/browser/monaco-editor-zone-widget.d.ts.map +1 -0
  91. package/lib/browser/monaco-editor-zone-widget.js +195 -0
  92. package/lib/browser/monaco-editor-zone-widget.js.map +1 -0
  93. package/lib/browser/monaco-editor.d.ts +169 -0
  94. package/lib/browser/monaco-editor.d.ts.map +1 -0
  95. package/lib/browser/monaco-editor.js +638 -0
  96. package/lib/browser/monaco-editor.js.map +1 -0
  97. package/lib/browser/monaco-formatting-conflicts.d.ts +15 -0
  98. package/lib/browser/monaco-formatting-conflicts.d.ts.map +1 -0
  99. package/lib/browser/monaco-formatting-conflicts.js +104 -0
  100. package/lib/browser/monaco-formatting-conflicts.js.map +1 -0
  101. package/lib/browser/monaco-frontend-application-contribution.d.ts +32 -0
  102. package/lib/browser/monaco-frontend-application-contribution.d.ts.map +1 -0
  103. package/lib/browser/monaco-frontend-application-contribution.js +208 -0
  104. package/lib/browser/monaco-frontend-application-contribution.js.map +1 -0
  105. package/lib/browser/monaco-frontend-module.d.ts +8 -0
  106. package/lib/browser/monaco-frontend-module.d.ts.map +1 -0
  107. package/lib/browser/monaco-frontend-module.js +299 -0
  108. package/lib/browser/monaco-frontend-module.js.map +1 -0
  109. package/lib/browser/monaco-gotoline-quick-access.d.ts +12 -0
  110. package/lib/browser/monaco-gotoline-quick-access.d.ts.map +1 -0
  111. package/lib/browser/monaco-gotoline-quick-access.js +54 -0
  112. package/lib/browser/monaco-gotoline-quick-access.js.map +1 -0
  113. package/lib/browser/monaco-gotosymbol-quick-access.d.ts +17 -0
  114. package/lib/browser/monaco-gotosymbol-quick-access.d.ts.map +1 -0
  115. package/lib/browser/monaco-gotosymbol-quick-access.js +60 -0
  116. package/lib/browser/monaco-gotosymbol-quick-access.js.map +1 -0
  117. package/lib/browser/monaco-icon-registry.d.ts +11 -0
  118. package/lib/browser/monaco-icon-registry.d.ts.map +1 -0
  119. package/lib/browser/monaco-icon-registry.js +48 -0
  120. package/lib/browser/monaco-icon-registry.js.map +1 -0
  121. package/lib/browser/monaco-indexed-db.d.ts +29 -0
  122. package/lib/browser/monaco-indexed-db.d.ts.map +1 -0
  123. package/lib/browser/monaco-indexed-db.js +127 -0
  124. package/lib/browser/monaco-indexed-db.js.map +1 -0
  125. package/lib/browser/monaco-init.d.ts +6 -0
  126. package/lib/browser/monaco-init.d.ts.map +1 -0
  127. package/lib/browser/monaco-init.js +165 -0
  128. package/lib/browser/monaco-init.js.map +1 -0
  129. package/lib/browser/monaco-keybinding.d.ts +17 -0
  130. package/lib/browser/monaco-keybinding.d.ts.map +1 -0
  131. package/lib/browser/monaco-keybinding.js +127 -0
  132. package/lib/browser/monaco-keybinding.js.map +1 -0
  133. package/lib/browser/monaco-keycode-map.d.ts +3 -0
  134. package/lib/browser/monaco-keycode-map.d.ts.map +1 -0
  135. package/lib/browser/monaco-keycode-map.js +164 -0
  136. package/lib/browser/monaco-keycode-map.js.map +1 -0
  137. package/lib/browser/monaco-languages.d.ts +36 -0
  138. package/lib/browser/monaco-languages.d.ts.map +1 -0
  139. package/lib/browser/monaco-languages.js +173 -0
  140. package/lib/browser/monaco-languages.js.map +1 -0
  141. package/lib/browser/monaco-marker-collection.d.ts +19 -0
  142. package/lib/browser/monaco-marker-collection.d.ts.map +1 -0
  143. package/lib/browser/monaco-marker-collection.js +71 -0
  144. package/lib/browser/monaco-marker-collection.js.map +1 -0
  145. package/lib/browser/monaco-menu.d.ts +21 -0
  146. package/lib/browser/monaco-menu.d.ts.map +1 -0
  147. package/lib/browser/monaco-menu.js +141 -0
  148. package/lib/browser/monaco-menu.js.map +1 -0
  149. package/lib/browser/monaco-mime-service.d.ts +11 -0
  150. package/lib/browser/monaco-mime-service.d.ts.map +1 -0
  151. package/lib/browser/monaco-mime-service.js +71 -0
  152. package/lib/browser/monaco-mime-service.js.map +1 -0
  153. package/lib/browser/monaco-outline-contribution.d.ts +79 -0
  154. package/lib/browser/monaco-outline-contribution.d.ts.map +1 -0
  155. package/lib/browser/monaco-outline-contribution.js +377 -0
  156. package/lib/browser/monaco-outline-contribution.js.map +1 -0
  157. package/lib/browser/monaco-outline-decorator.d.ts +13 -0
  158. package/lib/browser/monaco-outline-decorator.d.ts.map +1 -0
  159. package/lib/browser/monaco-outline-decorator.js +63 -0
  160. package/lib/browser/monaco-outline-decorator.js.map +1 -0
  161. package/lib/browser/monaco-quick-access-registry.d.ts +12 -0
  162. package/lib/browser/monaco-quick-access-registry.d.ts.map +1 -0
  163. package/lib/browser/monaco-quick-access-registry.js +92 -0
  164. package/lib/browser/monaco-quick-access-registry.js.map +1 -0
  165. package/lib/browser/monaco-quick-input-service.d.ts +110 -0
  166. package/lib/browser/monaco-quick-input-service.d.ts.map +1 -0
  167. package/lib/browser/monaco-quick-input-service.js +591 -0
  168. package/lib/browser/monaco-quick-input-service.js.map +1 -0
  169. package/lib/browser/monaco-resolved-keybinding.d.ts +24 -0
  170. package/lib/browser/monaco-resolved-keybinding.d.ts.map +1 -0
  171. package/lib/browser/monaco-resolved-keybinding.js +132 -0
  172. package/lib/browser/monaco-resolved-keybinding.js.map +1 -0
  173. package/lib/browser/monaco-snippet-suggest-provider.d.ts +67 -0
  174. package/lib/browser/monaco-snippet-suggest-provider.d.ts.map +1 -0
  175. package/lib/browser/monaco-snippet-suggest-provider.js +266 -0
  176. package/lib/browser/monaco-snippet-suggest-provider.js.map +1 -0
  177. package/lib/browser/monaco-standalone-theme-service.d.ts +8 -0
  178. package/lib/browser/monaco-standalone-theme-service.d.ts.map +1 -0
  179. package/lib/browser/monaco-standalone-theme-service.js +51 -0
  180. package/lib/browser/monaco-standalone-theme-service.js.map +1 -0
  181. package/lib/browser/monaco-status-bar-contribution.d.ts +18 -0
  182. package/lib/browser/monaco-status-bar-contribution.d.ts.map +1 -0
  183. package/lib/browser/monaco-status-bar-contribution.js +105 -0
  184. package/lib/browser/monaco-status-bar-contribution.js.map +1 -0
  185. package/lib/browser/monaco-text-model-service.d.ts +59 -0
  186. package/lib/browser/monaco-text-model-service.d.ts.map +1 -0
  187. package/lib/browser/monaco-text-model-service.js +157 -0
  188. package/lib/browser/monaco-text-model-service.js.map +1 -0
  189. package/lib/browser/monaco-theming-service.d.ts +68 -0
  190. package/lib/browser/monaco-theming-service.d.ts.map +1 -0
  191. package/lib/browser/monaco-theming-service.js +164 -0
  192. package/lib/browser/monaco-theming-service.js.map +1 -0
  193. package/lib/browser/monaco-to-protocol-converter.d.ts +29 -0
  194. package/lib/browser/monaco-to-protocol-converter.d.ts.map +1 -0
  195. package/lib/browser/monaco-to-protocol-converter.js +74 -0
  196. package/lib/browser/monaco-to-protocol-converter.js.map +1 -0
  197. package/lib/browser/monaco-undo-redo-handler.d.ts +20 -0
  198. package/lib/browser/monaco-undo-redo-handler.d.ts.map +1 -0
  199. package/lib/browser/monaco-undo-redo-handler.js +72 -0
  200. package/lib/browser/monaco-undo-redo-handler.js.map +1 -0
  201. package/lib/browser/monaco-utilities.d.ts +3 -0
  202. package/lib/browser/monaco-utilities.d.ts.map +1 -0
  203. package/lib/browser/monaco-utilities.js +45 -0
  204. package/lib/browser/monaco-utilities.js.map +1 -0
  205. package/lib/browser/monaco-workspace-context-service.d.ts +26 -0
  206. package/lib/browser/monaco-workspace-context-service.d.ts.map +1 -0
  207. package/lib/browser/monaco-workspace-context-service.js +63 -0
  208. package/lib/browser/monaco-workspace-context-service.js.map +1 -0
  209. package/lib/browser/monaco-workspace.d.ts +85 -0
  210. package/lib/browser/monaco-workspace.d.ts.map +1 -0
  211. package/lib/browser/monaco-workspace.js +378 -0
  212. package/lib/browser/monaco-workspace.js.map +1 -0
  213. package/lib/browser/protocol-to-monaco-converter.d.ts +32 -0
  214. package/lib/browser/protocol-to-monaco-converter.d.ts.map +1 -0
  215. package/lib/browser/protocol-to-monaco-converter.js +129 -0
  216. package/lib/browser/protocol-to-monaco-converter.js.map +1 -0
  217. package/lib/browser/simple-monaco-editor.d.ts +49 -0
  218. package/lib/browser/simple-monaco-editor.d.ts.map +1 -0
  219. package/lib/browser/simple-monaco-editor.js +199 -0
  220. package/lib/browser/simple-monaco-editor.js.map +1 -0
  221. package/lib/browser/textmate/index.d.ts +5 -0
  222. package/lib/browser/textmate/index.d.ts.map +1 -0
  223. package/lib/browser/textmate/index.js +23 -0
  224. package/lib/browser/textmate/index.js.map +1 -0
  225. package/lib/browser/textmate/monaco-textmate-frontend-bindings.d.ts +12 -0
  226. package/lib/browser/textmate/monaco-textmate-frontend-bindings.d.ts.map +1 -0
  227. package/lib/browser/textmate/monaco-textmate-frontend-bindings.js +92 -0
  228. package/lib/browser/textmate/monaco-textmate-frontend-bindings.js.map +1 -0
  229. package/lib/browser/textmate/monaco-textmate-service.d.ts +31 -0
  230. package/lib/browser/textmate/monaco-textmate-service.d.ts.map +1 -0
  231. package/lib/browser/textmate/monaco-textmate-service.js +178 -0
  232. package/lib/browser/textmate/monaco-textmate-service.js.map +1 -0
  233. package/lib/browser/textmate/monaco-theme-registry.d.ts +28 -0
  234. package/lib/browser/textmate/monaco-theme-registry.d.ts.map +1 -0
  235. package/lib/browser/textmate/monaco-theme-registry.js +165 -0
  236. package/lib/browser/textmate/monaco-theme-registry.js.map +1 -0
  237. package/lib/browser/textmate/monaco-theme-types.d.ts +20 -0
  238. package/lib/browser/textmate/monaco-theme-types.d.ts.map +1 -0
  239. package/lib/browser/textmate/monaco-theme-types.js +22 -0
  240. package/lib/browser/textmate/monaco-theme-types.js.map +1 -0
  241. package/lib/browser/textmate/textmate-contribution.d.ts +10 -0
  242. package/lib/browser/textmate/textmate-contribution.d.ts.map +1 -0
  243. package/lib/browser/textmate/textmate-contribution.js +28 -0
  244. package/lib/browser/textmate/textmate-contribution.js.map +1 -0
  245. package/lib/browser/textmate/textmate-registry.d.ts +32 -0
  246. package/lib/browser/textmate/textmate-registry.d.ts.map +1 -0
  247. package/lib/browser/textmate/textmate-registry.js +105 -0
  248. package/lib/browser/textmate/textmate-registry.js.map +1 -0
  249. package/lib/browser/textmate/textmate-snippet-completion-provider.d.ts +27 -0
  250. package/lib/browser/textmate/textmate-snippet-completion-provider.d.ts.map +1 -0
  251. package/lib/browser/textmate/textmate-snippet-completion-provider.js +54 -0
  252. package/lib/browser/textmate/textmate-snippet-completion-provider.js.map +1 -0
  253. package/lib/browser/textmate/textmate-tokenizer.d.ts +23 -0
  254. package/lib/browser/textmate/textmate-tokenizer.d.ts.map +1 -0
  255. package/lib/browser/textmate/textmate-tokenizer.js +66 -0
  256. package/lib/browser/textmate/textmate-tokenizer.js.map +1 -0
  257. package/lib/browser/workspace-symbol-command.d.ts +56 -0
  258. package/lib/browser/workspace-symbol-command.d.ts.map +1 -0
  259. package/lib/browser/workspace-symbol-command.js +208 -0
  260. package/lib/browser/workspace-symbol-command.js.map +1 -0
  261. package/lib/package.spec.d.ts +1 -0
  262. package/lib/package.spec.d.ts.map +1 -0
  263. package/lib/package.spec.js +26 -0
  264. package/lib/package.spec.js.map +1 -0
  265. package/package.json +8 -8
@@ -0,0 +1,493 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ var MonacoEditorProvider_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.MonacoEditorProvider = exports.SAVE_PARTICIPANT_DEFAULT_ORDER = exports.SaveParticipant = exports.MonacoEditorFactory = void 0;
20
+ const tslib_1 = require("tslib");
21
+ /* eslint-disable @typescript-eslint/no-explicit-any */
22
+ const uri_1 = require("@theia/core/lib/common/uri");
23
+ const diff_uris_1 = require("@theia/core/lib/browser/diff-uris");
24
+ const inversify_1 = require("@theia/core/shared/inversify");
25
+ const common_1 = require("@theia/core/lib/common");
26
+ const monaco_diff_editor_1 = require("./monaco-diff-editor");
27
+ const monaco_diff_navigator_factory_1 = require("./monaco-diff-navigator-factory");
28
+ const monaco_editor_1 = require("./monaco-editor");
29
+ const monaco_editor_model_1 = require("./monaco-editor-model");
30
+ const monaco_workspace_1 = require("./monaco-workspace");
31
+ const core_1 = require("@theia/core");
32
+ const browser_1 = require("@theia/core/lib/browser");
33
+ const monaco_resolved_keybinding_1 = require("./monaco-resolved-keybinding");
34
+ const monaco_to_protocol_converter_1 = require("./monaco-to-protocol-converter");
35
+ const protocol_to_monaco_converter_1 = require("./protocol-to-monaco-converter");
36
+ const monaco = require("@theia/monaco-editor-core");
37
+ const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
38
+ const opener_1 = require("@theia/monaco-editor-core/esm/vs/platform/opener/common/opener");
39
+ const keybinding_1 = require("@theia/monaco-editor-core/esm/vs/platform/keybinding/common/keybinding");
40
+ const contextView_1 = require("@theia/monaco-editor-core/esm/vs/platform/contextview/browser/contextView");
41
+ const keybindings_1 = require("@theia/monaco-editor-core/esm/vs/base/common/keybindings");
42
+ const contextkey_1 = require("@theia/monaco-editor-core/esm/vs/platform/contextkey/common/contextkey");
43
+ const resolverService_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/services/resolverService");
44
+ const markdown_rendering_1 = require("@theia/core/lib/common/markdown-rendering");
45
+ const simple_monaco_editor_1 = require("./simple-monaco-editor");
46
+ const promise_util_1 = require("@theia/core/lib/common/promise-util");
47
+ const common_2 = require("@theia/filesystem/lib/common");
48
+ const monaco_utilities_1 = require("./monaco-utilities");
49
+ const editor_preferences_1 = require("@theia/editor/lib/common/editor-preferences");
50
+ exports.MonacoEditorFactory = Symbol('MonacoEditorFactory');
51
+ exports.SaveParticipant = Symbol('SaveParticipant');
52
+ exports.SAVE_PARTICIPANT_DEFAULT_ORDER = 0;
53
+ let MonacoEditorProvider = MonacoEditorProvider_1 = class MonacoEditorProvider {
54
+ /**
55
+ * Returns the last focused MonacoEditor.
56
+ * It takes into account inline editors as well.
57
+ * If you are interested only in standalone editors then use `MonacoEditor.getCurrent(EditorManager)`
58
+ */
59
+ get current() {
60
+ return this._current;
61
+ }
62
+ constructor(m2p, p2m, workspace, editorPreferences, diffNavigatorFactory) {
63
+ this.m2p = m2p;
64
+ this.p2m = p2m;
65
+ this.workspace = workspace;
66
+ this.editorPreferences = editorPreferences;
67
+ this.diffNavigatorFactory = diffNavigatorFactory;
68
+ }
69
+ async getModel(uri, toDispose) {
70
+ const reference = await standaloneServices_1.StandaloneServices.get(resolverService_1.ITextModelService).createModelReference(monaco.Uri.from(uri.toComponents()));
71
+ // if document is invalid makes sure that all events from underlying resource are processed before throwing invalid model
72
+ if (!reference.object.valid) {
73
+ await reference.object.sync();
74
+ }
75
+ if (!reference.object.valid) {
76
+ reference.dispose();
77
+ throw Object.assign(new Error(`'${uri.toString()}' is invalid`), { code: 'MODEL_IS_INVALID' });
78
+ }
79
+ toDispose.push(reference);
80
+ return reference.object;
81
+ }
82
+ async get(uri) {
83
+ await this.editorPreferences.ready;
84
+ return this.doCreateEditor(uri, (override, toDispose) => this.createEditor(uri, override, toDispose));
85
+ }
86
+ async doCreateEditor(uri, factory) {
87
+ const domNode = document.createElement('div');
88
+ const contextKeyService = standaloneServices_1.StandaloneServices.get(contextkey_1.IContextKeyService).createScoped(domNode);
89
+ standaloneServices_1.StandaloneServices.get(opener_1.IOpenerService).registerOpener({
90
+ open: (u, options) => this.interceptOpen(u, options)
91
+ });
92
+ const overrides = [
93
+ [contextkey_1.IContextKeyService, contextKeyService],
94
+ ];
95
+ const toDispose = new common_1.DisposableCollection();
96
+ const editor = await factory(overrides, toDispose);
97
+ if (editor instanceof simple_monaco_editor_1.SimpleMonacoEditor || editor instanceof monaco_editor_1.MonacoEditor) {
98
+ editor.onDispose(() => toDispose.dispose());
99
+ }
100
+ if (editor instanceof monaco_editor_1.MonacoEditor) {
101
+ this.injectKeybindingResolver(editor);
102
+ toDispose.push(editor.onFocusChanged(focused => {
103
+ if (focused) {
104
+ this._current = editor;
105
+ }
106
+ }));
107
+ toDispose.push(common_1.Disposable.create(() => {
108
+ if (this._current === editor) {
109
+ this._current = undefined;
110
+ }
111
+ }));
112
+ }
113
+ return editor;
114
+ }
115
+ /**
116
+ * Intercept internal Monaco open calls and delegate to OpenerService.
117
+ */
118
+ async interceptOpen(monacoUri, monacoOptions) {
119
+ let options = undefined;
120
+ if (monacoOptions) {
121
+ if ('openToSide' in monacoOptions && monacoOptions.openToSide) {
122
+ options = Object.assign(options || {}, {
123
+ widgetOptions: {
124
+ mode: 'split-right'
125
+ }
126
+ });
127
+ }
128
+ if ('openExternal' in monacoOptions && monacoOptions.openExternal) {
129
+ options = Object.assign(options || {}, {
130
+ openExternal: true
131
+ });
132
+ }
133
+ }
134
+ const uri = new uri_1.default(monacoUri.toString());
135
+ try {
136
+ await (0, browser_1.open)(this.openerService, uri, options);
137
+ return true;
138
+ }
139
+ catch (e) {
140
+ console.error(`Fail to open '${uri.toString()}':`, e);
141
+ return false;
142
+ }
143
+ }
144
+ injectKeybindingResolver(editor) {
145
+ const keybindingService = standaloneServices_1.StandaloneServices.get(keybinding_1.IKeybindingService);
146
+ keybindingService.resolveKeybinding = keybinding => [new monaco_resolved_keybinding_1.MonacoResolvedKeybinding(monaco_resolved_keybinding_1.MonacoResolvedKeybinding.keySequence(keybinding.chords), this.keybindingRegistry)];
147
+ keybindingService.resolveKeyboardEvent = keyboardEvent => {
148
+ const keybinding = new keybindings_1.KeyCodeChord(keyboardEvent.ctrlKey, keyboardEvent.shiftKey, keyboardEvent.altKey, keyboardEvent.metaKey, keyboardEvent.keyCode);
149
+ return new monaco_resolved_keybinding_1.MonacoResolvedKeybinding(monaco_resolved_keybinding_1.MonacoResolvedKeybinding.keySequence([keybinding]), this.keybindingRegistry);
150
+ };
151
+ }
152
+ createEditor(uri, override, toDispose) {
153
+ if (diff_uris_1.DiffUris.isDiffUri(uri)) {
154
+ return this.createMonacoDiffEditor(uri, override, toDispose);
155
+ }
156
+ return this.createMonacoEditor(uri, override, toDispose);
157
+ }
158
+ get preferencePrefixes() {
159
+ return ['editor.'];
160
+ }
161
+ async createMonacoEditor(uri, override, toDispose) {
162
+ const model = await this.getModel(uri, toDispose);
163
+ const options = this.createMonacoEditorOptions(model);
164
+ const factory = this.factories.getContributions().find(({ scheme }) => uri.scheme === scheme);
165
+ const editor = factory
166
+ ? await factory.create(model, options, override)
167
+ : await monaco_editor_1.MonacoEditor.create(uri, model, document.createElement('div'), this.services, options, override);
168
+ toDispose.push(this.editorPreferences.onPreferenceChanged(event => {
169
+ if (event.affects(uri.toString(), model.languageId)) {
170
+ this.updateMonacoEditorOptions(editor, event);
171
+ }
172
+ }));
173
+ toDispose.push(editor.onLanguageChanged(() => this.updateMonacoEditorOptions(editor)));
174
+ toDispose.push(editor.onDidChangeReadOnly(() => this.updateReadOnlyMessage(options, model.readOnly)));
175
+ toDispose.push(editor.document.onModelWillSaveModel(e => this.runSaveParticipants(editor, e.token, e.options)));
176
+ return editor;
177
+ }
178
+ updateReadOnlyMessage(options, readOnly) {
179
+ options.readOnlyMessage = markdown_rendering_1.MarkdownString.is(readOnly) ? readOnly : undefined;
180
+ }
181
+ createMonacoEditorOptions(model) {
182
+ const options = this.createOptions(this.preferencePrefixes, model.uri, model.languageId);
183
+ options.model = model.textEditorModel;
184
+ options.readOnly = model.readOnly;
185
+ this.updateReadOnlyMessage(options, model.readOnly);
186
+ options.lineNumbersMinChars = model.lineNumbersMinChars;
187
+ return options;
188
+ }
189
+ updateMonacoEditorOptions(editor, event) {
190
+ if (event) {
191
+ const preferenceName = event.preferenceName;
192
+ const overrideIdentifier = editor.document.languageId;
193
+ const newValue = this.editorPreferences.get({ preferenceName, overrideIdentifier }, undefined, editor.uri.toString());
194
+ editor.getControl().updateOptions(this.setOption(preferenceName, newValue, this.preferencePrefixes));
195
+ }
196
+ else {
197
+ const options = this.createMonacoEditorOptions(editor.document);
198
+ delete options.model;
199
+ editor.getControl().updateOptions(options);
200
+ }
201
+ }
202
+ get diffPreferencePrefixes() {
203
+ return [...this.preferencePrefixes, 'diffEditor.'];
204
+ }
205
+ async createMonacoDiffEditor(uri, override, toDispose) {
206
+ const [original, modified] = diff_uris_1.DiffUris.decode(uri);
207
+ const [originalModel, modifiedModel] = await Promise.all([this.getModel(original, toDispose), this.getModel(modified, toDispose)]);
208
+ const options = this.createMonacoDiffEditorOptions(originalModel, modifiedModel);
209
+ const editor = new monaco_diff_editor_1.MonacoDiffEditor(uri, document.createElement('div'), originalModel, modifiedModel, this.services, this.diffNavigatorFactory, options, override);
210
+ toDispose.push(this.editorPreferences.onPreferenceChanged(event => {
211
+ const originalFileUri = original.withoutQuery().withScheme('file').toString();
212
+ if (event.affects(originalFileUri, editor.document.languageId)) {
213
+ this.updateMonacoDiffEditorOptions(editor, event, originalFileUri);
214
+ }
215
+ }));
216
+ toDispose.push(editor.onLanguageChanged(() => this.updateMonacoDiffEditorOptions(editor)));
217
+ return editor;
218
+ }
219
+ createMonacoDiffEditorOptions(original, modified) {
220
+ const options = this.createOptions(this.diffPreferencePrefixes, modified.uri, modified.languageId);
221
+ options.originalEditable = !original.readOnly;
222
+ options.readOnly = modified.readOnly;
223
+ options.readOnlyMessage = markdown_rendering_1.MarkdownString.is(modified.readOnly) ? modified.readOnly : undefined;
224
+ return options;
225
+ }
226
+ updateMonacoDiffEditorOptions(editor, event, resourceUri) {
227
+ if (event) {
228
+ const preferenceName = event.preferenceName;
229
+ const overrideIdentifier = editor.document.languageId;
230
+ const newValue = this.editorPreferences.get({ preferenceName, overrideIdentifier }, undefined, resourceUri);
231
+ editor.diffEditor.updateOptions(this.setOption(preferenceName, newValue, this.diffPreferencePrefixes));
232
+ }
233
+ else {
234
+ const options = this.createMonacoDiffEditorOptions(editor.originalModel, editor.modifiedModel);
235
+ editor.diffEditor.updateOptions(options);
236
+ }
237
+ }
238
+ createOptions(prefixes, uri, overrideIdentifier) {
239
+ const flat = {};
240
+ for (const preferenceName of Object.keys(this.editorPreferences)) {
241
+ flat[preferenceName] = this.editorPreferences.get({ preferenceName, overrideIdentifier }, undefined, uri);
242
+ }
243
+ return Object.entries(flat).reduce((tree, [preferenceName, value]) => this.setOption(preferenceName, (0, common_1.deepClone)(value), prefixes, tree), {});
244
+ }
245
+ setOption(preferenceName, value, prefixes, options = {}) {
246
+ const optionName = this.toOptionName(preferenceName, prefixes);
247
+ this.doSetOption(options, value, optionName.split('.'));
248
+ return options;
249
+ }
250
+ toOptionName(preferenceName, prefixes) {
251
+ for (const prefix of prefixes) {
252
+ if (preferenceName.startsWith(prefix)) {
253
+ return preferenceName.substring(prefix.length);
254
+ }
255
+ }
256
+ return preferenceName;
257
+ }
258
+ doSetOption(obj, value, names) {
259
+ for (let i = 0; i < names.length - 1; i++) {
260
+ const name = names[i];
261
+ if (obj[name] === undefined) {
262
+ obj = obj[name] = {};
263
+ }
264
+ else if (typeof obj[name] !== 'object' || obj[name] === null) { // eslint-disable-line no-null/no-null
265
+ console.warn(`Preference (diff)editor.${names.join('.')} conflicts with another preference name.`);
266
+ obj = obj[name] = {};
267
+ }
268
+ else {
269
+ obj = obj[name];
270
+ }
271
+ }
272
+ obj[names[names.length - 1]] = value;
273
+ }
274
+ getDiffNavigator(editor) {
275
+ if (editor instanceof monaco_diff_editor_1.MonacoDiffEditor) {
276
+ return editor.diffNavigator;
277
+ }
278
+ return monaco_diff_navigator_factory_1.MonacoDiffNavigatorFactory.nullNavigator;
279
+ }
280
+ /**
281
+ * Creates an instance of the standard MonacoEditor with a StandaloneCodeEditor as its Monaco delegate.
282
+ * Among other differences, these editors execute basic actions like typing or deletion via commands that may be overridden by extensions.
283
+ * @deprecated Most use cases for inline editors should be served by `createSimpleInline` instead.
284
+ */
285
+ async createInline(uri, node, options) {
286
+ return this.doCreateEditor(uri, async (override, toDispose) => {
287
+ const overrides = override ? Array.from(override) : [];
288
+ overrides.push([contextView_1.IContextMenuService, { showContextMenu: () => { } }]);
289
+ const document = await this.getModel(uri, toDispose);
290
+ document.suppressOpenEditorWhenDirty = true;
291
+ const model = (await document.load()).textEditorModel;
292
+ return await monaco_editor_1.MonacoEditor.create(uri, document, node, this.services, Object.assign({
293
+ model,
294
+ autoSizing: false,
295
+ minHeight: 1,
296
+ maxHeight: 1
297
+ }, MonacoEditorProvider_1.inlineOptions, options), overrides);
298
+ });
299
+ }
300
+ /**
301
+ * Creates an instance of the standard MonacoEditor with a CodeEditorWidget as its Monaco delegate.
302
+ * In addition to the service customizability of the StandaloneCodeEditor,This editor allows greater customization the editor contributions active in the widget.
303
+ * See {@link ICodeEditorWidgetOptions.contributions}.
304
+ */
305
+ async createSimpleInline(uri, node, options, widgetOptions) {
306
+ return this.doCreateEditor(uri, async (override, toDispose) => {
307
+ const overrides = override ? Array.from(override) : [];
308
+ overrides.push([contextView_1.IContextMenuService, { showContextMenu: () => { } }]);
309
+ const document = await this.getModel(uri, toDispose);
310
+ document.suppressOpenEditorWhenDirty = true;
311
+ const model = (await document.load()).textEditorModel;
312
+ const baseOptions = {
313
+ model,
314
+ autoSizing: false,
315
+ minHeight: 1,
316
+ maxHeight: 1
317
+ };
318
+ const editorOptions = {
319
+ ...baseOptions,
320
+ ...MonacoEditorProvider_1.inlineOptions,
321
+ ...options
322
+ };
323
+ return new simple_monaco_editor_1.SimpleMonacoEditor(uri, document, node, this.services, editorOptions, overrides, { isSimpleWidget: true, ...widgetOptions });
324
+ });
325
+ }
326
+ async createEmbeddedDiffEditor(parentEditor, node, originalUri, modifiedUri = parentEditor.uri, options) {
327
+ options = {
328
+ scrollBeyondLastLine: true,
329
+ overviewRulerLanes: 2,
330
+ fixedOverflowWidgets: true,
331
+ minimap: { enabled: false },
332
+ renderSideBySide: false,
333
+ readOnly: false,
334
+ renderIndicators: false,
335
+ diffAlgorithm: 'advanced',
336
+ stickyScroll: { enabled: false },
337
+ ...options,
338
+ scrollbar: {
339
+ verticalScrollbarSize: 14,
340
+ horizontal: 'auto',
341
+ useShadows: true,
342
+ verticalHasArrows: false,
343
+ horizontalHasArrows: false,
344
+ ...options === null || options === void 0 ? void 0 : options.scrollbar
345
+ }
346
+ };
347
+ const uri = diff_uris_1.DiffUris.encode(originalUri, modifiedUri);
348
+ return await this.doCreateEditor(uri, async (override, toDispose) => new monaco_diff_editor_1.MonacoDiffEditor(uri, node, await this.getModel(originalUri, toDispose), await this.getModel(modifiedUri, toDispose), this.services, this.diffNavigatorFactory, options, override, parentEditor));
349
+ }
350
+ init() {
351
+ this.saveParticipants = this.saveProviderContributions.getContributions().slice().sort((left, right) => left.order - right.order);
352
+ this.registerSaveParticipant({
353
+ order: 1000,
354
+ applyChangesOnSave: (editor, cancellationToken, options) => this.formatOnSave(editor, editor.document, cancellationToken, options)
355
+ });
356
+ }
357
+ registerSaveParticipant(saveParticipant) {
358
+ if (this.saveParticipants.find(value => value === saveParticipant)) {
359
+ throw new Error('Save participant already registered');
360
+ }
361
+ this.saveParticipants.push(saveParticipant);
362
+ this.saveParticipants.sort((left, right) => left.order - right.order);
363
+ return common_1.Disposable.create(() => {
364
+ const index = this.saveParticipants.indexOf(saveParticipant);
365
+ if (index >= 0) {
366
+ this.saveParticipants.splice(index, 1);
367
+ }
368
+ });
369
+ }
370
+ shouldFormat(model, options) {
371
+ if (options.saveReason !== monaco_editor_model_1.TextDocumentSaveReason.Manual) {
372
+ return false;
373
+ }
374
+ switch (options.formatType) {
375
+ case 1 /* FormatType.ON */: return true;
376
+ case 2 /* FormatType.OFF */: return false;
377
+ case 3 /* FormatType.DIRTY */: return model.dirty;
378
+ }
379
+ return true;
380
+ }
381
+ async runSaveParticipants(editor, cancellationToken, options) {
382
+ const initialState = editor.document.createSnapshot();
383
+ for (const participant of this.saveParticipants) {
384
+ if (cancellationToken.isCancellationRequested) {
385
+ break;
386
+ }
387
+ const snapshot = editor.document.createSnapshot();
388
+ try {
389
+ await participant.applyChangesOnSave(editor, cancellationToken, options);
390
+ }
391
+ catch (e) {
392
+ console.error(e);
393
+ editor.document.applySnapshot(snapshot);
394
+ }
395
+ }
396
+ if (cancellationToken.isCancellationRequested) {
397
+ editor.document.applySnapshot(initialState);
398
+ }
399
+ }
400
+ async formatOnSave(editor, model, cancellationToken, options) {
401
+ if (!this.shouldFormat(model, options)) {
402
+ return;
403
+ }
404
+ const overrideIdentifier = model.languageId;
405
+ const uri = model.uri.toString();
406
+ const formatOnSave = this.editorPreferences.get({ preferenceName: 'editor.formatOnSave', overrideIdentifier }, undefined, uri);
407
+ if (formatOnSave) {
408
+ const formatOnSaveTimeout = this.editorPreferences.get({ preferenceName: 'editor.formatOnSaveTimeout', overrideIdentifier }, undefined, uri);
409
+ await Promise.race([
410
+ (0, promise_util_1.timeoutReject)(formatOnSaveTimeout, `Aborted format on save after ${formatOnSaveTimeout}ms`),
411
+ await editor.runAction('editor.action.formatDocument')
412
+ ]);
413
+ }
414
+ const shouldRemoveWhiteSpace = this.filePreferences.get({ preferenceName: 'files.trimTrailingWhitespace', overrideIdentifier }, undefined, uri);
415
+ if (shouldRemoveWhiteSpace) {
416
+ await editor.runAction('editor.action.trimTrailingWhitespace');
417
+ }
418
+ const shouldInsertFinalNewline = this.filePreferences.get({ preferenceName: 'files.insertFinalNewline', overrideIdentifier }, undefined, uri);
419
+ if (shouldInsertFinalNewline) {
420
+ this.insertFinalNewline(model);
421
+ }
422
+ }
423
+ insertFinalNewline(editorModel) {
424
+ (0, monaco_utilities_1.insertFinalNewline)(editorModel);
425
+ }
426
+ };
427
+ exports.MonacoEditorProvider = MonacoEditorProvider;
428
+ MonacoEditorProvider.inlineOptions = {
429
+ wordWrap: 'on',
430
+ overviewRulerLanes: 0,
431
+ glyphMargin: false,
432
+ lineNumbers: 'off',
433
+ folding: false,
434
+ selectOnLineNumbers: false,
435
+ hideCursorInOverviewRuler: true,
436
+ selectionHighlight: false,
437
+ scrollbar: {
438
+ horizontal: 'hidden'
439
+ },
440
+ lineDecorationsWidth: 0,
441
+ overviewRulerBorder: false,
442
+ scrollBeyondLastLine: false,
443
+ renderLineHighlight: 'none',
444
+ fixedOverflowWidgets: true,
445
+ acceptSuggestionOnEnter: 'smart',
446
+ minimap: {
447
+ enabled: false
448
+ }
449
+ };
450
+ tslib_1.__decorate([
451
+ (0, inversify_1.inject)(core_1.ContributionProvider),
452
+ (0, inversify_1.named)(exports.MonacoEditorFactory),
453
+ tslib_1.__metadata("design:type", Object)
454
+ ], MonacoEditorProvider.prototype, "factories", void 0);
455
+ tslib_1.__decorate([
456
+ (0, inversify_1.inject)(monaco_editor_1.MonacoEditorServices),
457
+ tslib_1.__metadata("design:type", monaco_editor_1.MonacoEditorServices)
458
+ ], MonacoEditorProvider.prototype, "services", void 0);
459
+ tslib_1.__decorate([
460
+ (0, inversify_1.inject)(browser_1.KeybindingRegistry),
461
+ tslib_1.__metadata("design:type", browser_1.KeybindingRegistry)
462
+ ], MonacoEditorProvider.prototype, "keybindingRegistry", void 0);
463
+ tslib_1.__decorate([
464
+ (0, inversify_1.inject)(browser_1.OpenerService),
465
+ tslib_1.__metadata("design:type", Object)
466
+ ], MonacoEditorProvider.prototype, "openerService", void 0);
467
+ tslib_1.__decorate([
468
+ (0, inversify_1.inject)(core_1.ContributionProvider),
469
+ (0, inversify_1.named)(exports.SaveParticipant),
470
+ tslib_1.__metadata("design:type", Object)
471
+ ], MonacoEditorProvider.prototype, "saveProviderContributions", void 0);
472
+ tslib_1.__decorate([
473
+ (0, inversify_1.inject)(common_2.FileSystemPreferences),
474
+ tslib_1.__metadata("design:type", Object)
475
+ ], MonacoEditorProvider.prototype, "filePreferences", void 0);
476
+ tslib_1.__decorate([
477
+ (0, inversify_1.postConstruct)(),
478
+ tslib_1.__metadata("design:type", Function),
479
+ tslib_1.__metadata("design:paramtypes", []),
480
+ tslib_1.__metadata("design:returntype", void 0)
481
+ ], MonacoEditorProvider.prototype, "init", null);
482
+ exports.MonacoEditorProvider = MonacoEditorProvider = MonacoEditorProvider_1 = tslib_1.__decorate([
483
+ (0, inversify_1.injectable)(),
484
+ tslib_1.__param(0, (0, inversify_1.inject)(monaco_to_protocol_converter_1.MonacoToProtocolConverter)),
485
+ tslib_1.__param(1, (0, inversify_1.inject)(protocol_to_monaco_converter_1.ProtocolToMonacoConverter)),
486
+ tslib_1.__param(2, (0, inversify_1.inject)(monaco_workspace_1.MonacoWorkspace)),
487
+ tslib_1.__param(3, (0, inversify_1.inject)(editor_preferences_1.EditorPreferences)),
488
+ tslib_1.__param(4, (0, inversify_1.inject)(monaco_diff_navigator_factory_1.MonacoDiffNavigatorFactory)),
489
+ tslib_1.__metadata("design:paramtypes", [monaco_to_protocol_converter_1.MonacoToProtocolConverter,
490
+ protocol_to_monaco_converter_1.ProtocolToMonacoConverter,
491
+ monaco_workspace_1.MonacoWorkspace, Object, monaco_diff_navigator_factory_1.MonacoDiffNavigatorFactory])
492
+ ], MonacoEditorProvider);
493
+ //# sourceMappingURL=monaco-editor-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-editor-provider.js","sourceRoot":"","sources":["../../src/browser/monaco-editor-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { OpenerService, WidgetOpenMode, ApplicationShell } from '@theia/core/lib/browser';
2
+ import { EditorWidget, EditorOpenerOptions, EditorManager } from '@theia/editor/lib/browser';
3
+ import { MonacoToProtocolConverter } from './monaco-to-protocol-converter';
4
+ import { IResourceEditorInput, ITextResourceEditorInput } from '@theia/monaco-editor-core/esm/vs/platform/editor/common/editor';
5
+ import { StandaloneCodeEditorService } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneCodeEditorService';
6
+ import { ICodeEditor } from '@theia/monaco-editor-core/esm/vs/editor/browser/editorBrowser';
7
+ import { IContextKeyService } from '@theia/monaco-editor-core/esm/vs/platform/contextkey/common/contextkey';
8
+ import { IThemeService } from '@theia/monaco-editor-core/esm/vs/platform/theme/common/themeService';
9
+ import { ContributionProvider, PreferenceService } from '@theia/core';
10
+ export declare const VSCodeContextKeyService: unique symbol;
11
+ export declare const VSCodeThemeService: unique symbol;
12
+ export declare const MonacoEditorServiceFactory: unique symbol;
13
+ export type MonacoEditorServiceFactoryType = (contextKeyService: IContextKeyService, themeService: IThemeService) => MonacoEditorService;
14
+ /**
15
+ * contribution provider to extend the active editor handling to other editor types than just standalone editor widgets.
16
+ */
17
+ export declare const ActiveMonacoEditorContribution: unique symbol;
18
+ export interface ActiveMonacoEditorContribution {
19
+ getActiveEditor(): ICodeEditor | undefined;
20
+ }
21
+ export declare class MonacoEditorService extends StandaloneCodeEditorService {
22
+ static readonly ENABLE_PREVIEW_PREFERENCE: string;
23
+ protected readonly openerService: OpenerService;
24
+ protected readonly m2p: MonacoToProtocolConverter;
25
+ protected readonly shell: ApplicationShell;
26
+ protected readonly editors: EditorManager;
27
+ protected readonly preferencesService: PreferenceService;
28
+ protected readonly activeMonacoEditorContribution: ContributionProvider<ActiveMonacoEditorContribution>;
29
+ constructor(contextKeyService: IContextKeyService, themeService: IThemeService);
30
+ /**
31
+ * Monaco active editor is either focused or last focused editor.
32
+ */
33
+ getActiveCodeEditor(): ICodeEditor | null;
34
+ openCodeEditor(input: IResourceEditorInput, source: ICodeEditor | null, sideBySide?: boolean): Promise<ICodeEditor | null>;
35
+ protected findEditorWidgetByUri(widget: object | undefined, uriAsString: string): Promise<EditorWidget | undefined>;
36
+ protected createEditorOpenerOptions(input: IResourceEditorInput | ITextResourceEditorInput, source: ICodeEditor | null, sideBySide?: boolean): EditorOpenerOptions;
37
+ protected getSelection(input: IResourceEditorInput | ITextResourceEditorInput): EditorOpenerOptions['selection'];
38
+ protected getEditorOpenMode(input: IResourceEditorInput): WidgetOpenMode;
39
+ protected getWidgetOptions(source: ICodeEditor | null, sideBySide?: boolean): ApplicationShell.WidgetOptions | undefined;
40
+ }
41
+ //# sourceMappingURL=monaco-editor-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-editor-service.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-editor-service.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAQ,cAAc,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAsB,MAAM,2BAA2B,CAAC;AAEjH,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,gEAAgE,CAAC;AAChI,OAAO,EAAE,2BAA2B,EAAE,MAAM,wFAAwF,CAAC;AAErI,OAAO,EAAE,WAAW,EAAE,MAAM,+DAA+D,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wEAAwE,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,MAAM,qEAAqE,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAItE,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AACzE,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAE/D,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAC/E,MAAM,MAAM,8BAA8B,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,KAAK,mBAAmB,CAAC;AAEzI;;GAEG;AACH,eAAO,MAAM,8BAA8B,eAA2C,CAAC;AACvF,MAAM,WAAW,8BAA8B;IAC3C,eAAe,IAAI,WAAW,GAAG,SAAS,CAAC;CAC9C;AAED,qBACa,mBAAoB,SAAQ,2BAA2B;IAEhE,gBAAuB,yBAAyB,EAAE,MAAM,CAA0B;IAGlF,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,yBAAyB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAG1C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;IAGzD,SAAS,CAAC,QAAQ,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;gBAE3D,iBAAiB,EAAE,kBAAkB,EAA8B,YAAY,EAAE,aAAa;IAI3I;;OAEG;IACM,mBAAmB,IAAI,WAAW,GAAG,IAAI;IAuBnC,cAAc,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;cAWzH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAkBzH,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,oBAAoB,GAAG,wBAAwB,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,mBAAmB;IAQlK,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,wBAAwB,GAAG,mBAAmB,CAAC,WAAW,CAAC;IAMhH,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,GAAG,cAAc;IAYxE,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,aAAa,GAAG,SAAS;CAa3H"}