@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,105 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 Ericsson
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.MonacoStatusBarContribution = exports.EDITOR_STATUS_EOL = exports.EDITOR_STATUS_TABBING_CONFIG = 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 browser_2 = require("@theia/editor/lib/browser");
24
+ const monaco_editor_1 = require("./monaco-editor");
25
+ exports.EDITOR_STATUS_TABBING_CONFIG = 'editor-status-tabbing-config';
26
+ exports.EDITOR_STATUS_EOL = 'editor-status-eol';
27
+ let MonacoStatusBarContribution = class MonacoStatusBarContribution {
28
+ constructor() {
29
+ this.toDispose = new core_1.DisposableCollection();
30
+ }
31
+ canHandle(widget) {
32
+ if (widget instanceof browser_2.EditorWidget) {
33
+ return Boolean(this.getModel(widget));
34
+ }
35
+ return false;
36
+ }
37
+ activate(statusBar, editor) {
38
+ this.toDispose.dispose();
39
+ const editorModel = this.getModel(editor);
40
+ if (editorModel) {
41
+ this.setConfigTabSizeWidget(statusBar, editorModel);
42
+ this.setLineEndingWidget(statusBar, editorModel);
43
+ this.toDispose.push(editorModel.onDidChangeOptions(() => {
44
+ this.setConfigTabSizeWidget(statusBar, editorModel);
45
+ this.setLineEndingWidget(statusBar, editorModel);
46
+ }));
47
+ let previous = editorModel.getEOL();
48
+ this.toDispose.push(editorModel.onDidChangeContent(e => {
49
+ if (previous !== e.eol) {
50
+ previous = e.eol;
51
+ this.setLineEndingWidget(statusBar, editorModel);
52
+ }
53
+ }));
54
+ }
55
+ else {
56
+ this.deactivate(statusBar);
57
+ }
58
+ }
59
+ deactivate(statusBar) {
60
+ this.toDispose.dispose();
61
+ this.removeConfigTabSizeWidget(statusBar);
62
+ this.removeLineEndingWidget(statusBar);
63
+ }
64
+ setConfigTabSizeWidget(statusBar, model) {
65
+ const modelOptions = model.getOptions();
66
+ const tabSize = modelOptions.tabSize;
67
+ const indentSize = modelOptions.indentSize;
68
+ const spaceOrTabSizeMessage = modelOptions.insertSpaces
69
+ ? core_1.nls.localizeByDefault('Spaces: {0}', indentSize)
70
+ : core_1.nls.localizeByDefault('Tab Size: {0}', tabSize);
71
+ statusBar.setElement(exports.EDITOR_STATUS_TABBING_CONFIG, {
72
+ text: spaceOrTabSizeMessage,
73
+ alignment: browser_1.StatusBarAlignment.RIGHT,
74
+ priority: 10,
75
+ command: browser_2.EditorCommands.CONFIG_INDENTATION.id,
76
+ tooltip: core_1.nls.localizeByDefault('Select Indentation')
77
+ });
78
+ }
79
+ removeConfigTabSizeWidget(statusBar) {
80
+ statusBar.removeElement(exports.EDITOR_STATUS_TABBING_CONFIG);
81
+ }
82
+ setLineEndingWidget(statusBar, model) {
83
+ const eol = model.getEOL();
84
+ const text = eol === '\n' ? 'LF' : 'CRLF';
85
+ statusBar.setElement(exports.EDITOR_STATUS_EOL, {
86
+ text: `${text}`,
87
+ alignment: browser_1.StatusBarAlignment.RIGHT,
88
+ priority: 11,
89
+ command: browser_2.EditorCommands.CONFIG_EOL.id,
90
+ tooltip: core_1.nls.localizeByDefault('Select End of Line Sequence')
91
+ });
92
+ }
93
+ removeLineEndingWidget(statusBar) {
94
+ statusBar.removeElement(exports.EDITOR_STATUS_EOL);
95
+ }
96
+ getModel(editor) {
97
+ const monacoEditor = monaco_editor_1.MonacoEditor.get(editor);
98
+ return monacoEditor && monacoEditor.getControl().getModel() || undefined;
99
+ }
100
+ };
101
+ exports.MonacoStatusBarContribution = MonacoStatusBarContribution;
102
+ exports.MonacoStatusBarContribution = MonacoStatusBarContribution = tslib_1.__decorate([
103
+ (0, inversify_1.injectable)()
104
+ ], MonacoStatusBarContribution);
105
+ //# sourceMappingURL=monaco-status-bar-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-status-bar-contribution.js","sourceRoot":"","sources":["../../src/browser/monaco-status-bar-contribution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import URI from '@theia/core/lib/common/uri';
2
+ import { ResourceProvider, ReferenceCollection, Event, MaybePromise, Resource, ContributionProvider, Emitter } from '@theia/core';
3
+ import { EditorPreferences, EditorPreferenceChange } from '@theia/editor/lib/common/editor-preferences';
4
+ import { MonacoEditorModel } from './monaco-editor-model';
5
+ import { IDisposable, IReference } from '@theia/monaco-editor-core/esm/vs/base/common/lifecycle';
6
+ import { MonacoToProtocolConverter } from './monaco-to-protocol-converter';
7
+ import { ProtocolToMonacoConverter } from './protocol-to-monaco-converter';
8
+ import { ILogger } from '@theia/core/lib/common/logger';
9
+ import * as monaco from '@theia/monaco-editor-core';
10
+ import { ITextModelService, ITextModelContentProvider } from '@theia/monaco-editor-core/esm/vs/editor/common/services/resolverService';
11
+ import { ITextModelUpdateOptions } from '@theia/monaco-editor-core/esm/vs/editor/common/model';
12
+ import { FileService } from '@theia/filesystem/lib/browser/file-service';
13
+ export declare const MonacoEditorModelFactory: unique symbol;
14
+ export interface MonacoEditorModelFactory {
15
+ readonly scheme: string;
16
+ createModel(resource: Resource): MaybePromise<MonacoEditorModel>;
17
+ }
18
+ export declare const MonacoEditorModelFilter: unique symbol;
19
+ /**
20
+ * A filter that prevents firing the `onDidCreate` event for certain models.
21
+ * Preventing this event from firing will also prevent the propagation of the model to the plugin host.
22
+ *
23
+ * This is useful for models that are not supposed to be opened in a dedicated monaco editor widgets.
24
+ * This includes models for notebook cells.
25
+ */
26
+ export interface MonacoEditorModelFilter {
27
+ /**
28
+ * Return `true` on models that should be filtered.
29
+ */
30
+ filter(model: MonacoEditorModel): boolean;
31
+ }
32
+ export declare class MonacoTextModelService implements ITextModelService {
33
+ readonly _serviceBrand: undefined;
34
+ protected readonly _models: ReferenceCollection<string, MonacoEditorModel>;
35
+ protected readonly _visibleModels: Set<MonacoEditorModel>;
36
+ protected readonly onDidCreateEmitter: Emitter<MonacoEditorModel>;
37
+ protected readonly resourceProvider: ResourceProvider;
38
+ protected readonly editorPreferences: EditorPreferences;
39
+ protected readonly m2p: MonacoToProtocolConverter;
40
+ protected readonly p2m: ProtocolToMonacoConverter;
41
+ protected readonly factories: ContributionProvider<MonacoEditorModelFactory>;
42
+ protected readonly filters: ContributionProvider<MonacoEditorModelFilter>;
43
+ protected readonly logger: ILogger;
44
+ protected readonly fileService: FileService;
45
+ protected init(): void;
46
+ get models(): MonacoEditorModel[];
47
+ get(uri: string): MonacoEditorModel | undefined;
48
+ get onDidCreate(): Event<MonacoEditorModel>;
49
+ createModelReference(raw: monaco.Uri | URI): Promise<IReference<MonacoEditorModel>>;
50
+ loadModel(uri: URI): Promise<MonacoEditorModel>;
51
+ protected createModel(resource: Resource): MaybePromise<MonacoEditorModel>;
52
+ protected readonly modelOptions: {
53
+ [name: string]: (keyof ITextModelUpdateOptions | undefined);
54
+ };
55
+ protected toModelOption(editorPreference: EditorPreferenceChange['preferenceName']): keyof ITextModelUpdateOptions | undefined;
56
+ registerTextModelContentProvider(scheme: string, provider: ITextModelContentProvider): IDisposable;
57
+ canHandleResource(resource: monaco.Uri): boolean;
58
+ }
59
+ //# sourceMappingURL=monaco-text-model-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-text-model-service.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-text-model-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,157 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.MonacoTextModelService = exports.MonacoEditorModelFilter = exports.MonacoEditorModelFactory = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const uri_1 = require("@theia/core/lib/common/uri");
22
+ const core_1 = require("@theia/core");
23
+ const editor_preferences_1 = require("@theia/editor/lib/common/editor-preferences");
24
+ const monaco_editor_model_1 = require("./monaco-editor-model");
25
+ const monaco_to_protocol_converter_1 = require("./monaco-to-protocol-converter");
26
+ const protocol_to_monaco_converter_1 = require("./protocol-to-monaco-converter");
27
+ const logger_1 = require("@theia/core/lib/common/logger");
28
+ const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
29
+ const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
30
+ const textResourceConfiguration_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/services/textResourceConfiguration");
31
+ exports.MonacoEditorModelFactory = Symbol('MonacoEditorModelFactory');
32
+ exports.MonacoEditorModelFilter = Symbol('MonacoEditorModelFilter');
33
+ let MonacoTextModelService = class MonacoTextModelService {
34
+ constructor() {
35
+ this._models = new core_1.ReferenceCollection(uri => this.loadModel(new uri_1.default(uri)));
36
+ this._visibleModels = new Set();
37
+ this.onDidCreateEmitter = new core_1.Emitter();
38
+ this.modelOptions = {
39
+ 'editor.tabSize': 'tabSize',
40
+ 'editor.insertSpaces': 'insertSpaces',
41
+ 'editor.indentSize': 'indentSize'
42
+ };
43
+ }
44
+ init() {
45
+ const resourcePropertiesService = standaloneServices_1.StandaloneServices.get(textResourceConfiguration_1.ITextResourcePropertiesService);
46
+ if (resourcePropertiesService) {
47
+ resourcePropertiesService.getEOL = () => {
48
+ const eol = this.editorPreferences['files.eol'];
49
+ if (eol && eol !== 'auto') {
50
+ return eol;
51
+ }
52
+ return core_1.OS.backend.EOL;
53
+ };
54
+ }
55
+ this._models.onDidCreate(model => {
56
+ const filters = this.filters.getContributions();
57
+ if (filters.some(filter => filter.filter(model))) {
58
+ return;
59
+ }
60
+ this._visibleModels.add(model);
61
+ const dispose = model.onWillDispose(() => {
62
+ this._visibleModels.delete(model);
63
+ dispose.dispose();
64
+ });
65
+ this.onDidCreateEmitter.fire(model);
66
+ });
67
+ }
68
+ get models() {
69
+ return Array.from(this._visibleModels);
70
+ }
71
+ get(uri) {
72
+ return this._models.get(uri);
73
+ }
74
+ get onDidCreate() {
75
+ return this.onDidCreateEmitter.event;
76
+ }
77
+ createModelReference(raw) {
78
+ return this._models.acquire(raw.toString());
79
+ }
80
+ async loadModel(uri) {
81
+ await this.editorPreferences.ready;
82
+ const resource = await this.resourceProvider(uri);
83
+ const model = await (await this.createModel(resource)).load();
84
+ return model;
85
+ }
86
+ createModel(resource) {
87
+ const factory = this.factories.getContributions().find(({ scheme }) => resource.uri.scheme === scheme);
88
+ return factory ? factory.createModel(resource) : new monaco_editor_model_1.MonacoEditorModel(resource, this.m2p, this.p2m, this.logger, this.editorPreferences);
89
+ }
90
+ toModelOption(editorPreference) {
91
+ switch (editorPreference) {
92
+ case 'editor.tabSize': return 'tabSize';
93
+ case 'editor.indentSize': return 'indentSize';
94
+ case 'editor.insertSpaces': return 'insertSpaces';
95
+ case 'editor.bracketPairColorization.enabled':
96
+ case 'editor.bracketPairColorization.independentColorPoolPerBracketType':
97
+ return 'bracketColorizationOptions';
98
+ case 'editor.trimAutoWhitespace': return 'trimAutoWhitespace';
99
+ }
100
+ return undefined;
101
+ }
102
+ registerTextModelContentProvider(scheme, provider) {
103
+ return {
104
+ dispose() {
105
+ // no-op
106
+ }
107
+ };
108
+ }
109
+ canHandleResource(resource) {
110
+ return this.fileService.canHandleResource(uri_1.default.fromComponents(resource));
111
+ }
112
+ };
113
+ exports.MonacoTextModelService = MonacoTextModelService;
114
+ tslib_1.__decorate([
115
+ (0, inversify_1.inject)(core_1.ResourceProvider),
116
+ tslib_1.__metadata("design:type", Function)
117
+ ], MonacoTextModelService.prototype, "resourceProvider", void 0);
118
+ tslib_1.__decorate([
119
+ (0, inversify_1.inject)(editor_preferences_1.EditorPreferences),
120
+ tslib_1.__metadata("design:type", Object)
121
+ ], MonacoTextModelService.prototype, "editorPreferences", void 0);
122
+ tslib_1.__decorate([
123
+ (0, inversify_1.inject)(monaco_to_protocol_converter_1.MonacoToProtocolConverter),
124
+ tslib_1.__metadata("design:type", monaco_to_protocol_converter_1.MonacoToProtocolConverter)
125
+ ], MonacoTextModelService.prototype, "m2p", void 0);
126
+ tslib_1.__decorate([
127
+ (0, inversify_1.inject)(protocol_to_monaco_converter_1.ProtocolToMonacoConverter),
128
+ tslib_1.__metadata("design:type", protocol_to_monaco_converter_1.ProtocolToMonacoConverter)
129
+ ], MonacoTextModelService.prototype, "p2m", void 0);
130
+ tslib_1.__decorate([
131
+ (0, inversify_1.inject)(core_1.ContributionProvider),
132
+ (0, inversify_1.named)(exports.MonacoEditorModelFactory),
133
+ tslib_1.__metadata("design:type", Object)
134
+ ], MonacoTextModelService.prototype, "factories", void 0);
135
+ tslib_1.__decorate([
136
+ (0, inversify_1.inject)(core_1.ContributionProvider),
137
+ (0, inversify_1.named)(exports.MonacoEditorModelFilter),
138
+ tslib_1.__metadata("design:type", Object)
139
+ ], MonacoTextModelService.prototype, "filters", void 0);
140
+ tslib_1.__decorate([
141
+ (0, inversify_1.inject)(logger_1.ILogger),
142
+ tslib_1.__metadata("design:type", Object)
143
+ ], MonacoTextModelService.prototype, "logger", void 0);
144
+ tslib_1.__decorate([
145
+ (0, inversify_1.inject)(file_service_1.FileService),
146
+ tslib_1.__metadata("design:type", file_service_1.FileService)
147
+ ], MonacoTextModelService.prototype, "fileService", void 0);
148
+ tslib_1.__decorate([
149
+ (0, inversify_1.postConstruct)(),
150
+ tslib_1.__metadata("design:type", Function),
151
+ tslib_1.__metadata("design:paramtypes", []),
152
+ tslib_1.__metadata("design:returntype", void 0)
153
+ ], MonacoTextModelService.prototype, "init", null);
154
+ exports.MonacoTextModelService = MonacoTextModelService = tslib_1.__decorate([
155
+ (0, inversify_1.injectable)()
156
+ ], MonacoTextModelService);
157
+ //# sourceMappingURL=monaco-text-model-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-text-model-service.js","sourceRoot":"","sources":["../../src/browser/monaco-text-model-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import URI from '@theia/core/lib/common/uri';
2
+ import { Disposable, DisposableCollection } from '@theia/core/lib/common/disposable';
3
+ import { MonacoThemeRegistry } from './textmate/monaco-theme-registry';
4
+ import { MonacoThemeState, ThemeServiceWithDB } from './monaco-indexed-db';
5
+ import { FileService } from '@theia/filesystem/lib/browser/file-service';
6
+ import * as monaco from '@theia/monaco-editor-core';
7
+ export interface MonacoTheme {
8
+ id?: string;
9
+ label?: string;
10
+ uiTheme?: monaco.editor.BuiltinTheme;
11
+ description?: string;
12
+ uri: string;
13
+ }
14
+ export interface MonacoThemeJson {
15
+ /**
16
+ * theme id (optional), label is used if not provided
17
+ */
18
+ id?: string;
19
+ label: string;
20
+ /**
21
+ * theme type, `vs-dark` if not provided
22
+ */
23
+ uiTheme?: monaco.editor.BuiltinTheme;
24
+ description?: string;
25
+ /**
26
+ * Follow https://code.visualstudio.com/api/extension-guides/color-theme#create-a-new-color-theme to create a custom theme.
27
+ */
28
+ json: any;
29
+ /**
30
+ * Themes can include each other. It specifies how inclusions should be resolved.
31
+ */
32
+ includes?: {
33
+ [includePath: string]: any;
34
+ };
35
+ }
36
+ export declare class MonacoThemingService {
37
+ protected readonly fileService: FileService;
38
+ protected readonly monacoThemeRegistry: MonacoThemeRegistry;
39
+ protected readonly themeService: ThemeServiceWithDB;
40
+ /** Register themes whose configuration needs to be loaded */
41
+ register(theme: MonacoTheme, pending?: {
42
+ [uri: string]: Promise<any>;
43
+ }): Disposable;
44
+ protected doRegister(theme: MonacoTheme, pending: {
45
+ [uri: string]: Promise<any>;
46
+ }, toDispose: DisposableCollection): Promise<void>;
47
+ protected loadTheme(uri: string, includes: {
48
+ [include: string]: any;
49
+ }, pending: {
50
+ [uri: string]: Promise<any>;
51
+ }, toDispose: DisposableCollection): Promise<any>;
52
+ protected doLoadTheme(themeUri: URI, referencedPath: string, includes: {
53
+ [include: string]: any;
54
+ }, pending: {
55
+ [uri: string]: Promise<any>;
56
+ }, toDispose: DisposableCollection): Promise<any>;
57
+ initialize(): void;
58
+ /** register a theme whose configuration has already been loaded */
59
+ registerParsedTheme(theme: MonacoThemeJson): Disposable;
60
+ protected toUpdateUiTheme: DisposableCollection;
61
+ protected updateBodyUiTheme(): void;
62
+ protected doRegisterParsedTheme(state: MonacoThemeState): Disposable;
63
+ protected restore(): Promise<void>;
64
+ protected static toCssSelector(str: string): string;
65
+ /** removes all invalid theming values */
66
+ private clean;
67
+ }
68
+ //# sourceMappingURL=monaco-theming-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-theming-service.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-theming-service.ts"],"names":[],"mappings":"AAqBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAuB,gBAAgB,EAAgB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAEpD,MAAM,WAAW,WAAW;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,IAAI,EAAE,GAAG,CAAA;IACT;;OAEG;IACH,QAAQ,CAAC,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CAC5C;AAED,qBACa,oBAAoB;IAER,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAC7D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAEhF,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;KAAO,GAAG,UAAU;cAMvE,UAAU,CAAC,KAAK,EAAE,WAAW,EACzC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE,EACxC,SAAS,EAAE,oBAAoB,GAChC,OAAO,CAAC,IAAI,CAAC;cAeA,SAAS,CACrB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EACpC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE,EACxC,SAAS,EAAE,oBAAoB,GAChC,OAAO,CAAC,GAAG,CAAC;IAgCf,SAAS,CAAC,WAAW,CACjB,QAAQ,EAAE,GAAG,EACb,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EACpC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE,EACxC,SAAS,EAAE,oBAAoB,GAChC,OAAO,CAAC,GAAG,CAAC;IAQf,UAAU,IAAI,IAAI;IAQlB,mEAAmE;IACnE,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU;IASvD,SAAS,CAAC,eAAe,uBAA8B;IACvD,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAQnC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU;cAOpD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQnD,yCAAyC;IACzC,OAAO,CAAC,KAAK;CAOhB"}
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2019 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 MonacoThemingService_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.MonacoThemingService = void 0;
20
+ const tslib_1 = require("tslib");
21
+ /* eslint-disable @typescript-eslint/no-explicit-any */
22
+ const inversify_1 = require("@theia/core/shared/inversify");
23
+ const jsoncparser = require("jsonc-parser");
24
+ const plistparser = require("fast-plist");
25
+ const uri_1 = require("@theia/core/lib/common/uri");
26
+ const disposable_1 = require("@theia/core/lib/common/disposable");
27
+ const monaco_theme_registry_1 = require("./textmate/monaco-theme-registry");
28
+ const monaco_indexed_db_1 = require("./monaco-indexed-db");
29
+ const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
30
+ let MonacoThemingService = MonacoThemingService_1 = class MonacoThemingService {
31
+ constructor() {
32
+ this.toUpdateUiTheme = new disposable_1.DisposableCollection();
33
+ }
34
+ /** Register themes whose configuration needs to be loaded */
35
+ register(theme, pending = {}) {
36
+ const toDispose = new disposable_1.DisposableCollection(disposable_1.Disposable.create(() => { }));
37
+ this.doRegister(theme, pending, toDispose);
38
+ return toDispose;
39
+ }
40
+ async doRegister(theme, pending, toDispose) {
41
+ try {
42
+ const includes = {};
43
+ const json = await this.loadTheme(theme.uri, includes, pending, toDispose);
44
+ if (toDispose.disposed) {
45
+ return;
46
+ }
47
+ const label = theme.label || new uri_1.default(theme.uri).path.base;
48
+ const { id, description, uiTheme } = theme;
49
+ toDispose.push(this.registerParsedTheme({ id, label, description, uiTheme: uiTheme, json, includes }));
50
+ }
51
+ catch (e) {
52
+ console.error('Failed to load theme from ' + theme.uri, e);
53
+ }
54
+ }
55
+ async loadTheme(uri, includes, pending, toDispose) {
56
+ const result = await this.fileService.read(new uri_1.default(uri));
57
+ const content = result.value;
58
+ if (toDispose.disposed) {
59
+ return;
60
+ }
61
+ const themeUri = new uri_1.default(uri);
62
+ if (themeUri.path.ext !== '.json') {
63
+ const value = plistparser.parse(content);
64
+ if (value && 'settings' in value && Array.isArray(value.settings)) {
65
+ return { tokenColors: value.settings };
66
+ }
67
+ throw new Error(`Problem parsing tmTheme file: ${uri}. 'settings' is not array.`);
68
+ }
69
+ const json = jsoncparser.parse(content, undefined, { disallowComments: false });
70
+ if ('tokenColors' in json && typeof json.tokenColors === 'string') {
71
+ const value = await this.doLoadTheme(themeUri, json.tokenColors, includes, pending, toDispose);
72
+ if (toDispose.disposed) {
73
+ return;
74
+ }
75
+ json.tokenColors = value.tokenColors;
76
+ }
77
+ if (json.include) {
78
+ includes[json.include] = await this.doLoadTheme(themeUri, json.include, includes, pending, toDispose);
79
+ if (toDispose.disposed) {
80
+ return;
81
+ }
82
+ }
83
+ this.clean(json.colors);
84
+ return json;
85
+ }
86
+ doLoadTheme(themeUri, referencedPath, includes, pending, toDispose) {
87
+ const referencedUri = themeUri.parent.resolve(referencedPath).toString();
88
+ if (!pending[referencedUri]) {
89
+ pending[referencedUri] = this.loadTheme(referencedUri, includes, pending, toDispose);
90
+ }
91
+ return pending[referencedUri];
92
+ }
93
+ initialize() {
94
+ this.monacoThemeRegistry.initializeDefaultThemes();
95
+ this.updateBodyUiTheme();
96
+ this.themeService.onDidColorThemeChange(() => this.updateBodyUiTheme());
97
+ this.themeService.onDidRetrieveTheme(theme => this.monacoThemeRegistry.setTheme(MonacoThemingService_1.toCssSelector(theme.id), theme.data));
98
+ this.restore();
99
+ }
100
+ /** register a theme whose configuration has already been loaded */
101
+ registerParsedTheme(theme) {
102
+ const uiTheme = theme.uiTheme || 'vs-dark';
103
+ const { label, description, json, includes } = theme;
104
+ const id = theme.id || label;
105
+ const cssSelector = MonacoThemingService_1.toCssSelector(id);
106
+ const data = this.monacoThemeRegistry.register(json, includes, cssSelector, uiTheme);
107
+ return this.doRegisterParsedTheme({ id, label, description, uiTheme, data });
108
+ }
109
+ updateBodyUiTheme() {
110
+ this.toUpdateUiTheme.dispose();
111
+ const type = this.themeService.getCurrentTheme().type;
112
+ const uiTheme = type === 'hc' ? 'hc-black' : type === 'light' ? 'vs' : 'vs-dark';
113
+ document.body.classList.add(uiTheme);
114
+ this.toUpdateUiTheme.push(disposable_1.Disposable.create(() => document.body.classList.remove(uiTheme)));
115
+ }
116
+ doRegisterParsedTheme(state) {
117
+ return new disposable_1.DisposableCollection(this.themeService.register((0, monaco_indexed_db_1.stateToTheme)(state)), (0, monaco_indexed_db_1.putTheme)(state));
118
+ }
119
+ async restore() {
120
+ try {
121
+ const themes = await (0, monaco_indexed_db_1.getThemes)();
122
+ for (const state of themes) {
123
+ this.monacoThemeRegistry.setTheme(state.data.name, state.data);
124
+ this.doRegisterParsedTheme(state);
125
+ }
126
+ }
127
+ catch (e) {
128
+ console.error('Failed to restore monaco themes', e);
129
+ }
130
+ }
131
+ /* remove all characters that are not allowed in css */
132
+ static toCssSelector(str) {
133
+ str = str.replace(/[^\-a-zA-Z0-9]/g, '-');
134
+ if (str.charAt(0).match(/[0-9\-]/)) {
135
+ str = '-' + str;
136
+ }
137
+ return str;
138
+ }
139
+ /** removes all invalid theming values */
140
+ clean(obj) {
141
+ for (const key in obj) {
142
+ if (typeof obj[key] !== 'string') {
143
+ delete obj[key];
144
+ }
145
+ }
146
+ }
147
+ };
148
+ exports.MonacoThemingService = MonacoThemingService;
149
+ tslib_1.__decorate([
150
+ (0, inversify_1.inject)(file_service_1.FileService),
151
+ tslib_1.__metadata("design:type", file_service_1.FileService)
152
+ ], MonacoThemingService.prototype, "fileService", void 0);
153
+ tslib_1.__decorate([
154
+ (0, inversify_1.inject)(monaco_theme_registry_1.MonacoThemeRegistry),
155
+ tslib_1.__metadata("design:type", monaco_theme_registry_1.MonacoThemeRegistry)
156
+ ], MonacoThemingService.prototype, "monacoThemeRegistry", void 0);
157
+ tslib_1.__decorate([
158
+ (0, inversify_1.inject)(monaco_indexed_db_1.ThemeServiceWithDB),
159
+ tslib_1.__metadata("design:type", monaco_indexed_db_1.ThemeServiceWithDB)
160
+ ], MonacoThemingService.prototype, "themeService", void 0);
161
+ exports.MonacoThemingService = MonacoThemingService = MonacoThemingService_1 = tslib_1.__decorate([
162
+ (0, inversify_1.injectable)()
163
+ ], MonacoThemingService);
164
+ //# sourceMappingURL=monaco-theming-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-theming-service.js","sourceRoot":"","sources":["../../src/browser/monaco-theming-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { Position, Range } from '@theia/core/shared/vscode-languageserver-protocol';
2
+ import { RecursivePartial } from '@theia/core/lib/common/types';
3
+ import * as monaco from '@theia/monaco-editor-core';
4
+ import { Selection } from '@theia/editor/lib/browser';
5
+ export interface MonacoRangeReplace {
6
+ insert: monaco.IRange;
7
+ replace: monaco.IRange;
8
+ }
9
+ export declare namespace MonacoRangeReplace {
10
+ function is(v: Partial<monaco.IRange> | MonacoRangeReplace): v is MonacoRangeReplace;
11
+ }
12
+ export declare class MonacoToProtocolConverter {
13
+ asPosition(lineNumber: undefined | null, column: undefined | null): {};
14
+ asPosition(lineNumber: number, column: undefined | null): Pick<Position, 'line'>;
15
+ asPosition(lineNumber: undefined | null, column: number): Pick<Position, 'character'>;
16
+ asPosition(lineNumber: number, column: number): Position;
17
+ asPosition(lineNumber: number | undefined | null, column: number | undefined | null): Partial<Position>;
18
+ asRange(range: undefined): undefined;
19
+ asRange(range: monaco.IRange): Range;
20
+ asRange(range: monaco.IRange | undefined): Range | undefined;
21
+ asRange(range: monaco.IRange | {
22
+ insert: monaco.IRange;
23
+ replace: monaco.IRange;
24
+ }): Range;
25
+ asRange(range: Partial<monaco.IRange>): RecursivePartial<Range>;
26
+ asRange(range: Partial<monaco.IRange> | undefined): RecursivePartial<Range> | undefined;
27
+ asSelection(selection: monaco.Selection | null): Selection;
28
+ }
29
+ //# sourceMappingURL=monaco-to-protocol-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-to-protocol-converter.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-to-protocol-converter.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAA;CACzB;AACD,yBAAiB,kBAAkB,CAAC;IAChC,SAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,kBAAkB,GAAG,CAAC,IAAI,kBAAkB,CAE1F;CACJ;AAED,qBACa,yBAAyB;IAElC,UAAU,CAAC,UAAU,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,EAAE;IACtE,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;IAChF,UAAU,CAAC,UAAU,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;IACrF,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ;IACxD,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IASvG,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IACpC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK;IACpC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS;IAC5D,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAA;KAAE,GAAG,KAAK;IACxF,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC;IAC/D,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS;IAkBvF,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,IAAI,GAAG,SAAS;CAiB7D"}