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

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,199 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.SimpleMonacoEditor = void 0;
19
+ const monaco_editor_1 = require("./monaco-editor");
20
+ const codeEditorWidget_1 = require("@theia/monaco-editor-core/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget");
21
+ const instantiation_1 = require("@theia/monaco-editor-core/esm/vs/platform/instantiation/common/instantiation");
22
+ const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
23
+ const serviceCollection_1 = require("@theia/monaco-editor-core/esm/vs/platform/instantiation/common/serviceCollection");
24
+ const core_1 = require("@theia/core");
25
+ const monaco = require("@theia/monaco-editor-core");
26
+ const domutils_1 = require("@theia/core/shared/@lumino/domutils");
27
+ const editorOptions_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/config/editorOptions");
28
+ class SimpleMonacoEditor extends monaco_editor_1.MonacoEditorServices {
29
+ get onDispose() {
30
+ return this.editor.onDidDispose;
31
+ }
32
+ constructor(uri, document, node, services, options, override, widgetOptions) {
33
+ super(services);
34
+ this.uri = uri;
35
+ this.document = document;
36
+ this.node = node;
37
+ this.toDispose = new core_1.DisposableCollection();
38
+ this.onCursorPositionChangedEmitter = new core_1.Emitter();
39
+ this.onFocusChangedEmitter = new core_1.Emitter();
40
+ this.onDocumentContentChangedEmitter = new core_1.Emitter();
41
+ this.onDocumentContentChanged = this.onDocumentContentChangedEmitter.event;
42
+ this.onMouseDownEmitter = new core_1.Emitter();
43
+ this.onDidChangeReadOnly = this.document.onDidChangeReadOnly;
44
+ this.onLanguageChangedEmitter = new core_1.Emitter();
45
+ this.onLanguageChanged = this.onLanguageChangedEmitter.event;
46
+ this.onScrollChangedEmitter = new core_1.Emitter();
47
+ this.onEncodingChanged = this.document.onDidChangeEncoding;
48
+ this.onResizeEmitter = new core_1.Emitter();
49
+ this.onDidResize = this.onResizeEmitter.event;
50
+ this.toDispose.pushAll([
51
+ this.onCursorPositionChangedEmitter,
52
+ this.onFocusChangedEmitter,
53
+ this.onDocumentContentChangedEmitter,
54
+ this.onMouseDownEmitter,
55
+ this.onLanguageChangedEmitter,
56
+ this.onScrollChangedEmitter
57
+ ]);
58
+ this.toDispose.push(this.create({
59
+ ...monaco_editor_1.MonacoEditor.createReadOnlyOptions(document.readOnly),
60
+ ...options,
61
+ model: undefined,
62
+ }, override, widgetOptions));
63
+ this.addHandlers(this.editor);
64
+ this.editor.setModel(document.textEditorModel);
65
+ }
66
+ getControl() {
67
+ return this.editor;
68
+ }
69
+ onSelectionChanged(listener) {
70
+ return this.editor.onDidChangeCursorSelection(event => listener({
71
+ ...this.m2p.asRange(event.selection),
72
+ direction: event.selection.getDirection() === 0 /* SelectionDirection.LTR */ ? 'ltr' : 'rtl'
73
+ }));
74
+ }
75
+ create(options, override, widgetOptions) {
76
+ const combinedOptions = {
77
+ ...options,
78
+ lightbulb: { enabled: editorOptions_1.ShowLightbulbIconMode.On },
79
+ fixedOverflowWidgets: true,
80
+ automaticLayout: true,
81
+ scrollbar: {
82
+ useShadows: false,
83
+ verticalHasArrows: false,
84
+ horizontalHasArrows: false,
85
+ verticalScrollbarSize: 10,
86
+ horizontalScrollbarSize: 10,
87
+ ...options === null || options === void 0 ? void 0 : options.scrollbar,
88
+ }
89
+ };
90
+ const instantiator = this.getInstantiatorWithOverrides(override);
91
+ return this.editor = instantiator.createInstance(codeEditorWidget_1.CodeEditorWidget, this.node, {
92
+ ...combinedOptions,
93
+ dimension: {
94
+ width: 0,
95
+ height: 0
96
+ },
97
+ }, widgetOptions !== null && widgetOptions !== void 0 ? widgetOptions : {});
98
+ }
99
+ addHandlers(codeEditor) {
100
+ this.toDispose.push(codeEditor.onDidChangeModelLanguage(e => this.fireLanguageChanged(e.newLanguage)));
101
+ this.toDispose.push(codeEditor.onDidChangeConfiguration(() => this.refresh()));
102
+ this.toDispose.push(codeEditor.onDidChangeModel(() => this.refresh()));
103
+ this.toDispose.push(codeEditor.onDidChangeModelContent(e => {
104
+ this.refresh();
105
+ this.onDocumentContentChangedEmitter.fire({ document: this.document, contentChanges: e.changes.map(this.mapModelContentChange.bind(this)) });
106
+ }));
107
+ this.toDispose.push(codeEditor.onMouseDown(e => {
108
+ const { element, position, range } = e.target;
109
+ this.onMouseDownEmitter.fire({
110
+ target: {
111
+ ...e.target,
112
+ element: element || undefined,
113
+ mouseColumn: this.m2p.asPosition(undefined, e.target.mouseColumn).character,
114
+ range: range && this.m2p.asRange(range) || undefined,
115
+ position: position && this.m2p.asPosition(position.lineNumber, position.column) || undefined,
116
+ detail: undefined
117
+ },
118
+ event: e.event.browserEvent
119
+ });
120
+ }));
121
+ this.toDispose.push(codeEditor.onDidScrollChange(e => {
122
+ this.onScrollChangedEmitter.fire(undefined);
123
+ }));
124
+ this.toDispose.push(this.onDidChangeReadOnly(readOnly => {
125
+ codeEditor.updateOptions(monaco_editor_1.MonacoEditor.createReadOnlyOptions(readOnly));
126
+ }));
127
+ }
128
+ setLanguage(languageId) {
129
+ monaco.editor.setModelLanguage(this.document.textEditorModel, languageId);
130
+ }
131
+ fireLanguageChanged(languageId) {
132
+ this.onLanguageChangedEmitter.fire(languageId);
133
+ }
134
+ getInstantiatorWithOverrides(override) {
135
+ const instantiator = standaloneServices_1.StandaloneServices.get(instantiation_1.IInstantiationService);
136
+ if (override) {
137
+ const overrideServices = new serviceCollection_1.ServiceCollection(...override);
138
+ const childService = instantiator.createChild(overrideServices);
139
+ this.toDispose.push(childService);
140
+ return childService;
141
+ }
142
+ return instantiator;
143
+ }
144
+ mapModelContentChange(change) {
145
+ return {
146
+ range: this.m2p.asRange(change.range),
147
+ rangeLength: change.rangeLength,
148
+ text: change.text
149
+ };
150
+ }
151
+ focus() {
152
+ this.editor.focus();
153
+ }
154
+ refresh() {
155
+ this.autoresize();
156
+ }
157
+ resizeToFit() {
158
+ this.autoresize();
159
+ // eslint-disable-next-line no-null/no-null
160
+ this.onResizeEmitter.fire(null);
161
+ }
162
+ setSize(dimension) {
163
+ this.resize(dimension);
164
+ this.onResizeEmitter.fire(dimension);
165
+ }
166
+ autoresize() {
167
+ this.resize();
168
+ }
169
+ resize(dimension) {
170
+ if (this.node) {
171
+ const layoutSize = this.computeLayoutSize(this.node, dimension);
172
+ this.editor.layout(layoutSize);
173
+ }
174
+ }
175
+ computeLayoutSize(hostNode, dimension) {
176
+ if (dimension && dimension.width >= 0 && dimension.height >= 0) {
177
+ return dimension;
178
+ }
179
+ const boxSizing = domutils_1.ElementExt.boxSizing(hostNode);
180
+ const width = (!dimension || dimension.width < 0) ?
181
+ this.getWidth(hostNode, boxSizing) :
182
+ dimension.width;
183
+ const height = (!dimension || dimension.height < 0) ?
184
+ this.getHeight(hostNode, boxSizing) :
185
+ dimension.height;
186
+ return { width, height };
187
+ }
188
+ getWidth(hostNode, boxSizing) {
189
+ return hostNode.offsetWidth - boxSizing.horizontalSum;
190
+ }
191
+ getHeight(hostNode, boxSizing) {
192
+ return this.editor.getContentHeight();
193
+ }
194
+ dispose() {
195
+ this.toDispose.dispose();
196
+ }
197
+ }
198
+ exports.SimpleMonacoEditor = SimpleMonacoEditor;
199
+ //# sourceMappingURL=simple-monaco-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-monaco-editor.js","sourceRoot":"","sources":["../../src/browser/simple-monaco-editor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './textmate-registry';
2
+ export * from './textmate-contribution';
3
+ export * from './monaco-textmate-service';
4
+ export * from './monaco-textmate-frontend-bindings';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/index.ts"],"names":[],"mappings":"AAgBA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 Ericsson 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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const tslib_1 = require("tslib");
19
+ tslib_1.__exportStar(require("./textmate-registry"), exports);
20
+ tslib_1.__exportStar(require("./textmate-contribution"), exports);
21
+ tslib_1.__exportStar(require("./monaco-textmate-service"), exports);
22
+ tslib_1.__exportStar(require("./monaco-textmate-frontend-bindings"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/textmate/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,8DAAoC;AACpC,kEAAwC;AACxC,oEAA0C;AAC1C,8EAAoD"}
@@ -0,0 +1,12 @@
1
+ import { interfaces } from '@theia/core/shared/inversify';
2
+ import { OnigScanner, OnigString } from 'vscode-oniguruma';
3
+ import { IOnigLib } from 'vscode-textmate';
4
+ export declare class OnigasmLib implements IOnigLib {
5
+ createOnigScanner(sources: string[]): OnigScanner;
6
+ createOnigString(sources: string): OnigString;
7
+ }
8
+ declare const _default: (bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind) => void;
9
+ export default _default;
10
+ export declare function createOnigasmLib(): Promise<IOnigLib>;
11
+ export declare function fetchOnigasm(): Promise<ArrayBuffer>;
12
+ //# sourceMappingURL=monaco-textmate-frontend-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-textmate-frontend-bindings.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-textmate-frontend-bindings.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAO1D,OAAO,EAA+B,WAAW,EAAoB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAAE,QAAQ,EAA0C,MAAM,iBAAiB,CAAC;AAGnF,qBAAa,UAAW,YAAW,QAAQ;IACvC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW;IAGjD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;CAGhD;+BAEqB,WAAW,IAAI,UAAU,WAAW,MAAM,WAAW,WAAW,OAAO,UAAU,WAAW,MAAM;AAAxH,wBAqCE;AAEF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAO1D;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAKzD"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 Ericsson 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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.fetchOnigasm = exports.createOnigasmLib = exports.OnigasmLib = void 0;
19
+ const browser_1 = require("@theia/core/lib/browser");
20
+ const core_1 = require("@theia/core");
21
+ const textmate_registry_1 = require("./textmate-registry");
22
+ const textmate_contribution_1 = require("./textmate-contribution");
23
+ const monaco_textmate_service_1 = require("./monaco-textmate-service");
24
+ const monaco_theme_registry_1 = require("./monaco-theme-registry");
25
+ const vscode_oniguruma_1 = require("vscode-oniguruma");
26
+ const vscode_textmate_1 = require("vscode-textmate");
27
+ const monaco_theme_types_1 = require("./monaco-theme-types");
28
+ class OnigasmLib {
29
+ createOnigScanner(sources) {
30
+ return (0, vscode_oniguruma_1.createOnigScanner)(sources);
31
+ }
32
+ createOnigString(sources) {
33
+ return (0, vscode_oniguruma_1.createOnigString)(sources);
34
+ }
35
+ }
36
+ exports.OnigasmLib = OnigasmLib;
37
+ exports.default = (bind, unbind, isBound, rebind) => {
38
+ const onigLib = createOnigasmLib();
39
+ bind(monaco_theme_types_1.OnigasmProvider).toConstantValue(() => onigLib);
40
+ bind(monaco_textmate_service_1.MonacoTextmateService).toSelf().inSingletonScope();
41
+ bind(browser_1.FrontendApplicationContribution).toService(monaco_textmate_service_1.MonacoTextmateService);
42
+ (0, core_1.bindContributionProvider)(bind, textmate_contribution_1.LanguageGrammarDefinitionContribution);
43
+ bind(textmate_registry_1.TextmateRegistry).toSelf().inSingletonScope();
44
+ bind(monaco_theme_registry_1.MonacoThemeRegistry).toSelf().inSingletonScope();
45
+ bind(monaco_theme_types_1.TextmateRegistryFactory).toFactory(({ container }) => (theme) => {
46
+ const onigProvider = container.get(monaco_theme_types_1.OnigasmProvider);
47
+ const textmateRegistry = container.get(textmate_registry_1.TextmateRegistry);
48
+ return new vscode_textmate_1.Registry({
49
+ onigLib: onigProvider(),
50
+ theme,
51
+ loadGrammar: async (scopeName) => {
52
+ const provider = textmateRegistry.getProvider(scopeName);
53
+ if (provider) {
54
+ const definition = await provider.getGrammarDefinition();
55
+ let rawGrammar;
56
+ if (typeof definition.content === 'string') {
57
+ rawGrammar = (0, vscode_textmate_1.parseRawGrammar)(definition.content, definition.format === 'json' ? 'grammar.json' : 'grammar.plist');
58
+ }
59
+ else {
60
+ rawGrammar = definition.content;
61
+ }
62
+ return rawGrammar;
63
+ }
64
+ return undefined;
65
+ },
66
+ getInjections: (scopeName) => {
67
+ const provider = textmateRegistry.getProvider(scopeName);
68
+ if (provider && provider.getInjections) {
69
+ return provider.getInjections(scopeName);
70
+ }
71
+ return [];
72
+ }
73
+ });
74
+ });
75
+ };
76
+ async function createOnigasmLib() {
77
+ if (!browser_1.isBasicWasmSupported) {
78
+ throw new Error('wasm not supported');
79
+ }
80
+ const wasm = await fetchOnigasm();
81
+ await (0, vscode_oniguruma_1.loadWASM)(wasm);
82
+ return new OnigasmLib();
83
+ }
84
+ exports.createOnigasmLib = createOnigasmLib;
85
+ async function fetchOnigasm() {
86
+ // Using Webpack's wasm loader should give us a URL to fetch the resource from:
87
+ const onigasmPath = require('vscode-oniguruma/release/onig.wasm');
88
+ const response = await fetch(onigasmPath, { method: 'GET' });
89
+ return response.arrayBuffer();
90
+ }
91
+ exports.fetchOnigasm = fetchOnigasm;
92
+ //# sourceMappingURL=monaco-textmate-frontend-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-textmate-frontend-bindings.js","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-textmate-frontend-bindings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { Registry } from 'vscode-textmate';
2
+ import { ILogger, ContributionProvider, DisposableCollection, Disposable } from '@theia/core';
3
+ import { FrontendApplicationContribution } from '@theia/core/lib/browser';
4
+ import { ThemeService } from '@theia/core/lib/browser/theming';
5
+ import { LanguageGrammarDefinitionContribution } from './textmate-contribution';
6
+ import { TokenizerOption } from './textmate-tokenizer';
7
+ import { TextmateRegistry } from './textmate-registry';
8
+ import { MonacoThemeRegistry } from './monaco-theme-registry';
9
+ import { EditorPreferences } from '@theia/editor/lib/common/editor-preferences';
10
+ import { OnigasmProvider, TextmateRegistryFactory } from './monaco-theme-types';
11
+ export declare class MonacoTextmateService implements FrontendApplicationContribution {
12
+ protected readonly tokenizerOption: TokenizerOption;
13
+ protected readonly _activatedLanguages: Set<string>;
14
+ protected grammarRegistry: Registry;
15
+ protected readonly grammarProviders: ContributionProvider<LanguageGrammarDefinitionContribution>;
16
+ protected readonly textmateRegistry: TextmateRegistry;
17
+ protected readonly logger: ILogger;
18
+ protected readonly onigasmProvider: OnigasmProvider;
19
+ protected readonly themeService: ThemeService;
20
+ protected readonly monacoThemeRegistry: MonacoThemeRegistry;
21
+ protected readonly preferences: EditorPreferences;
22
+ protected readonly registryFactory: TextmateRegistryFactory;
23
+ initialize(): void;
24
+ protected readonly toDisposeOnUpdateTheme: DisposableCollection;
25
+ protected updateTheme(): void;
26
+ protected get currentEditorTheme(): string;
27
+ activateLanguage(language: string): Disposable;
28
+ protected doActivateLanguage(languageId: string, toDispose: DisposableCollection): Promise<void>;
29
+ protected waitForLanguage(language: string, cb: () => {}): Disposable;
30
+ }
31
+ //# sourceMappingURL=monaco-textmate-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-textmate-service.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-textmate-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,+BAA+B,EAAwB,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,qCAAqC,EAAwB,MAAM,yBAAyB,CAAC;AACtG,OAAO,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAQhF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,qBACa,qBAAsB,YAAW,+BAA+B;IAEzE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAEjD;IAEF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,cAAqB;IAE3D,SAAS,CAAC,eAAe,EAAE,QAAQ,CAAC;IAGpC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,qCAAqC,CAAC,CAAC;IAGjG,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAG9C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAE5D,UAAU,IAAI,IAAI;IA+BlB,SAAS,CAAC,QAAQ,CAAC,sBAAsB,uBAA8B;IAEvE,SAAS,CAAC,WAAW,IAAI,IAAI;IAiB7B,SAAS,KAAK,kBAAkB,IAAI,MAAM,CAEzC;IAED,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;cAU9B,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CtG,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,UAAU;CAQxE"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 Redhat, Ericsson 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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.MonacoTextmateService = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const core_1 = require("@theia/core");
22
+ const browser_1 = require("@theia/core/lib/browser");
23
+ const theming_1 = require("@theia/core/lib/browser/theming");
24
+ const textmate_contribution_1 = require("./textmate-contribution");
25
+ const textmate_tokenizer_1 = require("./textmate-tokenizer");
26
+ const textmate_registry_1 = require("./textmate-registry");
27
+ const monaco_theme_registry_1 = require("./monaco-theme-registry");
28
+ const editor_preferences_1 = require("@theia/editor/lib/common/editor-preferences");
29
+ const monaco = require("@theia/monaco-editor-core");
30
+ const languages_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/languages");
31
+ const standaloneTheme_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/common/standaloneTheme");
32
+ const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
33
+ const language_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/languages/language");
34
+ const standaloneLanguages_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneLanguages");
35
+ const monaco_theme_types_1 = require("./monaco-theme-types");
36
+ let MonacoTextmateService = class MonacoTextmateService {
37
+ constructor() {
38
+ this.tokenizerOption = {
39
+ lineLimit: 400
40
+ };
41
+ this._activatedLanguages = new Set();
42
+ this.toDisposeOnUpdateTheme = new core_1.DisposableCollection();
43
+ }
44
+ initialize() {
45
+ if (!browser_1.isBasicWasmSupported) {
46
+ console.log('Textmate support deactivated because WebAssembly is not detected.');
47
+ return;
48
+ }
49
+ for (const grammarProvider of this.grammarProviders.getContributions()) {
50
+ try {
51
+ grammarProvider.registerTextmateLanguage(this.textmateRegistry);
52
+ }
53
+ catch (err) {
54
+ console.error(err);
55
+ }
56
+ }
57
+ this.grammarRegistry = this.registryFactory(this.monacoThemeRegistry.getThemeData(this.currentEditorTheme));
58
+ this.tokenizerOption.lineLimit = this.preferences['editor.maxTokenizationLineLength'];
59
+ this.preferences.onPreferenceChanged(e => {
60
+ if (e.preferenceName === 'editor.maxTokenizationLineLength') {
61
+ this.tokenizerOption.lineLimit = e.newValue;
62
+ }
63
+ });
64
+ this.updateTheme();
65
+ this.themeService.onDidColorThemeChange(() => this.updateTheme());
66
+ for (const id of this.textmateRegistry.languages) {
67
+ this.activateLanguage(id);
68
+ }
69
+ }
70
+ updateTheme() {
71
+ this.toDisposeOnUpdateTheme.dispose();
72
+ const currentEditorTheme = this.currentEditorTheme;
73
+ document.body.classList.add(currentEditorTheme);
74
+ this.toDisposeOnUpdateTheme.push(core_1.Disposable.create(() => document.body.classList.remove(currentEditorTheme)));
75
+ // first update registry to run tokenization with the proper theme
76
+ const theme = this.monacoThemeRegistry.getThemeData(currentEditorTheme);
77
+ if (theme) {
78
+ this.grammarRegistry.setTheme(theme);
79
+ }
80
+ // then trigger tokenization by setting monaco theme
81
+ monaco.editor.setTheme(currentEditorTheme);
82
+ }
83
+ get currentEditorTheme() {
84
+ return this.themeService.getCurrentTheme().editorTheme || monaco_theme_registry_1.MonacoThemeRegistry.DARK_DEFAULT_THEME;
85
+ }
86
+ activateLanguage(language) {
87
+ const toDispose = new core_1.DisposableCollection(core_1.Disposable.create(() => { }));
88
+ toDispose.push(this.waitForLanguage(language, () => this.doActivateLanguage(language, toDispose)));
89
+ return toDispose;
90
+ }
91
+ async doActivateLanguage(languageId, toDispose) {
92
+ if (this._activatedLanguages.has(languageId)) {
93
+ return;
94
+ }
95
+ this._activatedLanguages.add(languageId);
96
+ toDispose.push(core_1.Disposable.create(() => this._activatedLanguages.delete(languageId)));
97
+ const scopeName = this.textmateRegistry.getScope(languageId);
98
+ if (!scopeName) {
99
+ return;
100
+ }
101
+ const provider = this.textmateRegistry.getProvider(scopeName);
102
+ if (!provider) {
103
+ return;
104
+ }
105
+ const configuration = this.textmateRegistry.getGrammarConfiguration(languageId);
106
+ const initialLanguage = (0, textmate_contribution_1.getEncodedLanguageId)(languageId);
107
+ await this.onigasmProvider();
108
+ if (toDispose.disposed) {
109
+ return;
110
+ }
111
+ try {
112
+ const grammar = await this.grammarRegistry.loadGrammarWithConfiguration(scopeName, initialLanguage, configuration);
113
+ if (toDispose.disposed) {
114
+ return;
115
+ }
116
+ if (!grammar) {
117
+ throw new Error(`no grammar for ${scopeName}, ${initialLanguage}, ${JSON.stringify(configuration)}`);
118
+ }
119
+ const options = configuration.tokenizerOption ? configuration.tokenizerOption : this.tokenizerOption;
120
+ const tokenizer = (0, textmate_tokenizer_1.createTextmateTokenizer)(grammar, options);
121
+ toDispose.push(monaco.languages.setTokensProvider(languageId, tokenizer));
122
+ const support = languages_1.TokenizationRegistry.get(languageId);
123
+ const themeService = standaloneServices_1.StandaloneServices.get(standaloneTheme_1.IStandaloneThemeService);
124
+ const languageService = standaloneServices_1.StandaloneServices.get(language_1.ILanguageService);
125
+ const adapter = new standaloneLanguages_1.TokenizationSupportAdapter(languageId, tokenizer, languageService, themeService);
126
+ support.tokenize = adapter.tokenize.bind(adapter);
127
+ }
128
+ catch (error) {
129
+ this.logger.warn('No grammar for this language id', languageId, error);
130
+ }
131
+ }
132
+ waitForLanguage(language, cb) {
133
+ const languageService = standaloneServices_1.StandaloneServices.get(language_1.ILanguageService);
134
+ if (languageService['_requestedBasicLanguages'].has(language)) {
135
+ cb();
136
+ return core_1.Disposable.NULL;
137
+ }
138
+ return monaco.languages.onLanguage(language, cb);
139
+ }
140
+ };
141
+ exports.MonacoTextmateService = MonacoTextmateService;
142
+ tslib_1.__decorate([
143
+ (0, inversify_1.inject)(core_1.ContributionProvider),
144
+ (0, inversify_1.named)(textmate_contribution_1.LanguageGrammarDefinitionContribution),
145
+ tslib_1.__metadata("design:type", Object)
146
+ ], MonacoTextmateService.prototype, "grammarProviders", void 0);
147
+ tslib_1.__decorate([
148
+ (0, inversify_1.inject)(textmate_registry_1.TextmateRegistry),
149
+ tslib_1.__metadata("design:type", textmate_registry_1.TextmateRegistry)
150
+ ], MonacoTextmateService.prototype, "textmateRegistry", void 0);
151
+ tslib_1.__decorate([
152
+ (0, inversify_1.inject)(core_1.ILogger),
153
+ tslib_1.__metadata("design:type", Object)
154
+ ], MonacoTextmateService.prototype, "logger", void 0);
155
+ tslib_1.__decorate([
156
+ (0, inversify_1.inject)(monaco_theme_types_1.OnigasmProvider),
157
+ tslib_1.__metadata("design:type", Function)
158
+ ], MonacoTextmateService.prototype, "onigasmProvider", void 0);
159
+ tslib_1.__decorate([
160
+ (0, inversify_1.inject)(theming_1.ThemeService),
161
+ tslib_1.__metadata("design:type", theming_1.ThemeService)
162
+ ], MonacoTextmateService.prototype, "themeService", void 0);
163
+ tslib_1.__decorate([
164
+ (0, inversify_1.inject)(monaco_theme_registry_1.MonacoThemeRegistry),
165
+ tslib_1.__metadata("design:type", monaco_theme_registry_1.MonacoThemeRegistry)
166
+ ], MonacoTextmateService.prototype, "monacoThemeRegistry", void 0);
167
+ tslib_1.__decorate([
168
+ (0, inversify_1.inject)(editor_preferences_1.EditorPreferences),
169
+ tslib_1.__metadata("design:type", Object)
170
+ ], MonacoTextmateService.prototype, "preferences", void 0);
171
+ tslib_1.__decorate([
172
+ (0, inversify_1.inject)(monaco_theme_types_1.TextmateRegistryFactory),
173
+ tslib_1.__metadata("design:type", Function)
174
+ ], MonacoTextmateService.prototype, "registryFactory", void 0);
175
+ exports.MonacoTextmateService = MonacoTextmateService = tslib_1.__decorate([
176
+ (0, inversify_1.injectable)()
177
+ ], MonacoTextmateService);
178
+ //# sourceMappingURL=monaco-textmate-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-textmate-service.js","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-textmate-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import * as monaco from '@theia/monaco-editor-core';
2
+ import { Color } from '@theia/monaco-editor-core/esm/vs/base/common/color';
3
+ import { MixStandaloneTheme, TextmateRegistryFactory, ThemeMix } from './monaco-theme-types';
4
+ export declare class MonacoThemeRegistry {
5
+ protected readonly registryFactory: TextmateRegistryFactory;
6
+ initializeDefaultThemes(): void;
7
+ getThemeData(): ThemeMix;
8
+ getThemeData(name: string): ThemeMix | undefined;
9
+ getTheme(): MixStandaloneTheme;
10
+ getTheme(name: string): MixStandaloneTheme | undefined;
11
+ protected doGetTheme(name: string | undefined): MixStandaloneTheme | undefined;
12
+ setTheme(name: string, data: ThemeMix): void;
13
+ /**
14
+ * Register VS Code compatible themes
15
+ */
16
+ register(json: any, includes?: {
17
+ [includePath: string]: any;
18
+ }, givenName?: string, monacoBase?: monaco.editor.BuiltinTheme): ThemeMix;
19
+ protected transform(tokenColor: any, acceptor: (rule: monaco.editor.ITokenThemeRule) => void): void;
20
+ protected normalizeColor(color: string | Color | undefined): string | undefined;
21
+ }
22
+ export declare namespace MonacoThemeRegistry {
23
+ const DARK_DEFAULT_THEME = "dark-theia";
24
+ const LIGHT_DEFAULT_THEME = "light-theia";
25
+ const HC_DEFAULT_THEME = "hc-theia";
26
+ const HC_LIGHT_THEME = "hc-theia-light";
27
+ }
28
+ //# sourceMappingURL=monaco-theme-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-theme-registry.d.ts","sourceRoot":"","sources":["../../../src/browser/textmate/monaco-theme-registry.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAIpD,OAAO,EAAE,KAAK,EAAE,MAAM,oDAAoD,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7F,qBACa,mBAAmB;IAEK,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAE7F,uBAAuB,IAAI,IAAI;IAiB/B,YAAY,IAAI,QAAQ;IACxB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAMhD,QAAQ,IAAI,kBAAkB;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAKtD,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS;IAM9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAK5C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,QAAQ;IAiErI,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,KAAK,IAAI,GAAG,IAAI;IAcnG,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;CAYlF;AAED,yBAAiB,mBAAmB,CAAC;IAC1B,MAAM,kBAAkB,eAAe,CAAC;IACxC,MAAM,mBAAmB,gBAAgB,CAAC;IAC1C,MAAM,gBAAgB,aAAa,CAAC;IACpC,MAAM,cAAc,mBAAmB,CAAC;CAClD"}