@theia/monaco 1.24.0-next.46 → 1.24.0-next.49

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 (220) hide show
  1. package/lib/browser/monaco-bulk-edit-service.d.ts +6 -4
  2. package/lib/browser/monaco-bulk-edit-service.d.ts.map +1 -1
  3. package/lib/browser/monaco-bulk-edit-service.js.map +1 -1
  4. package/lib/browser/monaco-color-registry.d.ts +6 -3
  5. package/lib/browser/monaco-color-registry.d.ts.map +1 -1
  6. package/lib/browser/monaco-color-registry.js +17 -13
  7. package/lib/browser/monaco-color-registry.js.map +1 -1
  8. package/lib/browser/monaco-command-service.d.ts +6 -5
  9. package/lib/browser/monaco-command-service.d.ts.map +1 -1
  10. package/lib/browser/monaco-command-service.js +2 -2
  11. package/lib/browser/monaco-command-service.js.map +1 -1
  12. package/lib/browser/monaco-command.d.ts +2 -1
  13. package/lib/browser/monaco-command.d.ts.map +1 -1
  14. package/lib/browser/monaco-command.js +17 -16
  15. package/lib/browser/monaco-command.js.map +1 -1
  16. package/lib/browser/monaco-context-key-service.d.ts +10 -8
  17. package/lib/browser/monaco-context-key-service.d.ts.map +1 -1
  18. package/lib/browser/monaco-context-key-service.js +18 -9
  19. package/lib/browser/monaco-context-key-service.js.map +1 -1
  20. package/lib/browser/monaco-context-menu.d.ts +8 -2
  21. package/lib/browser/monaco-context-menu.d.ts.map +1 -1
  22. package/lib/browser/monaco-context-menu.js +22 -4
  23. package/lib/browser/monaco-context-menu.js.map +1 -1
  24. package/lib/browser/monaco-diagnostic-collection.d.ts +4 -6
  25. package/lib/browser/monaco-diagnostic-collection.d.ts.map +1 -1
  26. package/lib/browser/monaco-diagnostic-collection.js +1 -0
  27. package/lib/browser/monaco-diagnostic-collection.js.map +1 -1
  28. package/lib/browser/monaco-diff-editor.d.ts +8 -10
  29. package/lib/browser/monaco-diff-editor.d.ts.map +1 -1
  30. package/lib/browser/monaco-diff-editor.js +4 -1
  31. package/lib/browser/monaco-diff-editor.js.map +1 -1
  32. package/lib/browser/monaco-diff-navigator-factory.d.ts +3 -4
  33. package/lib/browser/monaco-diff-navigator-factory.d.ts.map +1 -1
  34. package/lib/browser/monaco-diff-navigator-factory.js +14 -9
  35. package/lib/browser/monaco-diff-navigator-factory.js.map +1 -1
  36. package/lib/browser/monaco-editor-model.d.ts +20 -13
  37. package/lib/browser/monaco-editor-model.d.ts.map +1 -1
  38. package/lib/browser/monaco-editor-model.js +39 -14
  39. package/lib/browser/monaco-editor-model.js.map +1 -1
  40. package/lib/browser/monaco-editor-provider.d.ts +13 -19
  41. package/lib/browser/monaco-editor-provider.d.ts.map +1 -1
  42. package/lib/browser/monaco-editor-provider.js +39 -96
  43. package/lib/browser/monaco-editor-provider.js.map +1 -1
  44. package/lib/browser/monaco-editor-service.d.ts +9 -8
  45. package/lib/browser/monaco-editor-service.d.ts.map +1 -1
  46. package/lib/browser/monaco-editor-service.js +19 -8
  47. package/lib/browser/monaco-editor-service.js.map +1 -1
  48. package/lib/browser/monaco-editor-zone-widget.d.ts +3 -3
  49. package/lib/browser/monaco-editor-zone-widget.d.ts.map +1 -1
  50. package/lib/browser/monaco-editor-zone-widget.js +3 -2
  51. package/lib/browser/monaco-editor-zone-widget.js.map +1 -1
  52. package/lib/browser/monaco-editor.d.ts +20 -18
  53. package/lib/browser/monaco-editor.d.ts.map +1 -1
  54. package/lib/browser/monaco-editor.js +53 -19
  55. package/lib/browser/monaco-editor.js.map +1 -1
  56. package/lib/browser/monaco-formatting-conflicts.d.ts +1 -1
  57. package/lib/browser/monaco-formatting-conflicts.d.ts.map +1 -1
  58. package/lib/browser/monaco-formatting-conflicts.js +2 -1
  59. package/lib/browser/monaco-formatting-conflicts.js.map +1 -1
  60. package/lib/browser/monaco-frontend-application-contribution.d.ts +10 -1
  61. package/lib/browser/monaco-frontend-application-contribution.d.ts.map +1 -1
  62. package/lib/browser/monaco-frontend-application-contribution.js +42 -1
  63. package/lib/browser/monaco-frontend-application-contribution.js.map +1 -1
  64. package/lib/browser/monaco-frontend-module.d.ts +2 -1
  65. package/lib/browser/monaco-frontend-module.d.ts.map +1 -1
  66. package/lib/browser/monaco-frontend-module.js +8 -5
  67. package/lib/browser/monaco-frontend-module.js.map +1 -1
  68. package/lib/browser/monaco-gotoline-quick-access.d.ts +4 -2
  69. package/lib/browser/monaco-gotoline-quick-access.d.ts.map +1 -1
  70. package/lib/browser/monaco-gotoline-quick-access.js +9 -4
  71. package/lib/browser/monaco-gotoline-quick-access.js.map +1 -1
  72. package/lib/browser/monaco-gotosymbol-quick-access.d.ts +10 -3
  73. package/lib/browser/monaco-gotosymbol-quick-access.d.ts.map +1 -1
  74. package/lib/browser/monaco-gotosymbol-quick-access.js +19 -8
  75. package/lib/browser/monaco-gotosymbol-quick-access.js.map +1 -1
  76. package/lib/browser/monaco-indexed-db.d.ts +1 -1
  77. package/lib/browser/monaco-indexed-db.d.ts.map +1 -1
  78. package/lib/browser/monaco-indexed-db.js.map +1 -1
  79. package/lib/browser/monaco-keybinding.d.ts.map +1 -1
  80. package/lib/browser/monaco-keybinding.js +4 -2
  81. package/lib/browser/monaco-keybinding.js.map +1 -1
  82. package/lib/browser/monaco-keycode-map.d.ts +2 -2
  83. package/lib/browser/monaco-keycode-map.d.ts.map +1 -1
  84. package/lib/browser/monaco-keycode-map.js +122 -122
  85. package/lib/browser/monaco-keycode-map.js.map +1 -1
  86. package/lib/browser/monaco-languages.d.ts +1 -1
  87. package/lib/browser/monaco-languages.d.ts.map +1 -1
  88. package/lib/browser/monaco-languages.js +1 -0
  89. package/lib/browser/monaco-languages.js.map +1 -1
  90. package/lib/browser/monaco-menu.js +7 -7
  91. package/lib/browser/monaco-menu.js.map +1 -1
  92. package/lib/browser/monaco-mime-service.d.ts.map +1 -1
  93. package/lib/browser/monaco-mime-service.js +8 -4
  94. package/lib/browser/monaco-mime-service.js.map +1 -1
  95. package/lib/browser/monaco-outline-contribution.d.ts +15 -16
  96. package/lib/browser/monaco-outline-contribution.d.ts.map +1 -1
  97. package/lib/browser/monaco-outline-contribution.js +21 -19
  98. package/lib/browser/monaco-outline-contribution.js.map +1 -1
  99. package/lib/browser/monaco-quick-access-registry.d.ts.map +1 -1
  100. package/lib/browser/monaco-quick-access-registry.js +11 -13
  101. package/lib/browser/monaco-quick-access-registry.js.map +1 -1
  102. package/lib/browser/monaco-quick-input-service.d.ts +46 -25
  103. package/lib/browser/monaco-quick-input-service.d.ts.map +1 -1
  104. package/lib/browser/monaco-quick-input-service.js +40 -29
  105. package/lib/browser/monaco-quick-input-service.js.map +1 -1
  106. package/lib/browser/monaco-resolved-keybinding.d.ts +9 -7
  107. package/lib/browser/monaco-resolved-keybinding.d.ts.map +1 -1
  108. package/lib/browser/monaco-resolved-keybinding.js +35 -14
  109. package/lib/browser/monaco-resolved-keybinding.js.map +1 -1
  110. package/lib/browser/monaco-snippet-suggest-provider.d.ts +1 -1
  111. package/lib/browser/monaco-snippet-suggest-provider.d.ts.map +1 -1
  112. package/lib/browser/monaco-snippet-suggest-provider.js +5 -3
  113. package/lib/browser/monaco-snippet-suggest-provider.js.map +1 -1
  114. package/lib/browser/monaco-status-bar-contribution.d.ts +2 -2
  115. package/lib/browser/monaco-status-bar-contribution.d.ts.map +1 -1
  116. package/lib/browser/monaco-status-bar-contribution.js.map +1 -1
  117. package/lib/browser/monaco-text-model-service.d.ts +14 -8
  118. package/lib/browser/monaco-text-model-service.d.ts.map +1 -1
  119. package/lib/browser/monaco-text-model-service.js +35 -17
  120. package/lib/browser/monaco-text-model-service.js.map +1 -1
  121. package/lib/browser/monaco-theming-service.d.ts +1 -1
  122. package/lib/browser/monaco-theming-service.d.ts.map +1 -1
  123. package/lib/browser/monaco-theming-service.js.map +1 -1
  124. package/lib/browser/monaco-to-protocol-converter.d.ts +1 -1
  125. package/lib/browser/monaco-to-protocol-converter.d.ts.map +1 -1
  126. package/lib/browser/monaco-to-protocol-converter.js.map +1 -1
  127. package/lib/browser/monaco-workspace.d.ts +7 -6
  128. package/lib/browser/monaco-workspace.d.ts.map +1 -1
  129. package/lib/browser/monaco-workspace.js +13 -7
  130. package/lib/browser/monaco-workspace.js.map +1 -1
  131. package/lib/browser/protocol-to-monaco-converter.d.ts +1 -1
  132. package/lib/browser/protocol-to-monaco-converter.d.ts.map +1 -1
  133. package/lib/browser/protocol-to-monaco-converter.js +1 -0
  134. package/lib/browser/protocol-to-monaco-converter.js.map +1 -1
  135. package/lib/browser/textmate/monaco-textmate-service.d.ts.map +1 -1
  136. package/lib/browser/textmate/monaco-textmate-service.js +14 -11
  137. package/lib/browser/textmate/monaco-textmate-service.js.map +1 -1
  138. package/lib/browser/textmate/monaco-theme-registry.d.ts +5 -3
  139. package/lib/browser/textmate/monaco-theme-registry.d.ts.map +1 -1
  140. package/lib/browser/textmate/monaco-theme-registry.js +6 -3
  141. package/lib/browser/textmate/monaco-theme-registry.js.map +1 -1
  142. package/lib/browser/textmate/monaco-theme-types.d.ts +5 -4
  143. package/lib/browser/textmate/monaco-theme-types.d.ts.map +1 -1
  144. package/lib/browser/textmate/monaco-theme-types.js +1 -0
  145. package/lib/browser/textmate/monaco-theme-types.js.map +1 -1
  146. package/lib/browser/textmate/textmate-contribution.d.ts.map +1 -1
  147. package/lib/browser/textmate/textmate-contribution.js +1 -0
  148. package/lib/browser/textmate/textmate-contribution.js.map +1 -1
  149. package/lib/browser/textmate/textmate-snippet-completion-provider.d.ts +1 -1
  150. package/lib/browser/textmate/textmate-snippet-completion-provider.d.ts.map +1 -1
  151. package/lib/browser/textmate/textmate-snippet-completion-provider.js +3 -1
  152. package/lib/browser/textmate/textmate-snippet-completion-provider.js.map +1 -1
  153. package/lib/browser/textmate/textmate-tokenizer.d.ts +1 -1
  154. package/lib/browser/textmate/textmate-tokenizer.d.ts.map +1 -1
  155. package/lib/browser/textmate/textmate-tokenizer.js +2 -2
  156. package/lib/browser/textmate/textmate-tokenizer.js.map +1 -1
  157. package/package.json +9 -10
  158. package/src/browser/monaco-bulk-edit-service.ts +9 -4
  159. package/src/browser/monaco-color-registry.ts +17 -14
  160. package/src/browser/monaco-command-service.ts +8 -7
  161. package/src/browser/monaco-command.ts +18 -16
  162. package/src/browser/monaco-context-key-service.ts +25 -16
  163. package/src/browser/monaco-context-menu.ts +23 -6
  164. package/src/browser/monaco-diagnostic-collection.ts +4 -5
  165. package/src/browser/monaco-diff-editor.ts +12 -14
  166. package/src/browser/monaco-diff-navigator-factory.ts +18 -14
  167. package/src/browser/monaco-editor-model.ts +56 -24
  168. package/src/browser/monaco-editor-provider.ts +48 -114
  169. package/src/browser/monaco-editor-service.ts +27 -16
  170. package/src/browser/monaco-editor-zone-widget.ts +6 -2
  171. package/src/browser/monaco-editor.ts +85 -44
  172. package/src/browser/monaco-formatting-conflicts.ts +10 -5
  173. package/src/browser/monaco-frontend-application-contribution.ts +40 -2
  174. package/src/browser/monaco-frontend-module.ts +18 -14
  175. package/src/browser/monaco-gotoline-quick-access.ts +10 -5
  176. package/src/browser/monaco-gotosymbol-quick-access.ts +17 -6
  177. package/src/browser/monaco-indexed-db.ts +1 -0
  178. package/src/browser/monaco-keybinding.ts +3 -2
  179. package/src/browser/monaco-keycode-map.ts +72 -71
  180. package/src/browser/monaco-languages.ts +1 -0
  181. package/src/browser/monaco-menu.ts +7 -7
  182. package/src/browser/monaco-mime-service.ts +9 -5
  183. package/src/browser/monaco-outline-contribution.ts +36 -32
  184. package/src/browser/monaco-quick-access-registry.ts +29 -19
  185. package/src/browser/monaco-quick-input-service.ts +102 -59
  186. package/src/browser/monaco-resolved-keybinding.ts +52 -28
  187. package/src/browser/monaco-snippet-suggest-provider.ts +5 -3
  188. package/src/browser/monaco-status-bar-contribution.ts +2 -1
  189. package/src/browser/monaco-text-model-service.ts +49 -26
  190. package/src/browser/monaco-theming-service.ts +1 -0
  191. package/src/browser/monaco-to-protocol-converter.ts +1 -0
  192. package/src/browser/monaco-workspace.ts +28 -19
  193. package/src/browser/protocol-to-monaco-converter.ts +1 -0
  194. package/src/browser/textmate/monaco-textmate-service.ts +15 -12
  195. package/src/browser/textmate/monaco-theme-registry.ts +10 -5
  196. package/src/browser/textmate/monaco-theme-types.ts +5 -4
  197. package/src/browser/textmate/textmate-contribution.ts +1 -0
  198. package/src/browser/textmate/textmate-snippet-completion-provider.ts +4 -1
  199. package/src/browser/textmate/textmate-tokenizer.ts +3 -2
  200. package/lib/browser/monaco-browser-module.d.ts +0 -5
  201. package/lib/browser/monaco-browser-module.d.ts.map +0 -1
  202. package/lib/browser/monaco-browser-module.js +0 -27
  203. package/lib/browser/monaco-browser-module.js.map +0 -1
  204. package/lib/browser/monaco-comparers.d.ts +0 -10
  205. package/lib/browser/monaco-comparers.d.ts.map +0 -1
  206. package/lib/browser/monaco-comparers.js +0 -109
  207. package/lib/browser/monaco-comparers.js.map +0 -1
  208. package/lib/browser/monaco-loader.d.ts +0 -4
  209. package/lib/browser/monaco-loader.d.ts.map +0 -1
  210. package/lib/browser/monaco-loader.js +0 -177
  211. package/lib/browser/monaco-loader.js.map +0 -1
  212. package/lib/electron-browser/monaco-electron-module.d.ts +0 -5
  213. package/lib/electron-browser/monaco-electron-module.d.ts.map +0 -1
  214. package/lib/electron-browser/monaco-electron-module.js +0 -50
  215. package/lib/electron-browser/monaco-electron-module.js.map +0 -1
  216. package/src/browser/monaco-browser-module.ts +0 -26
  217. package/src/browser/monaco-comparers.ts +0 -125
  218. package/src/browser/monaco-loader.ts +0 -193
  219. package/src/electron-browser/monaco-electron-module.ts +0 -52
  220. package/src/typings/monaco/index.d.ts +0 -2471
@@ -19,10 +19,11 @@
19
19
  *--------------------------------------------------------------------------------------------*/
20
20
 
21
21
  import * as browser from '@theia/core/lib/browser';
22
+ // This is exported as part of the public API, but we use it with private API's so we need to refer to the private version.
23
+ import { KeyCode } from '@theia/monaco-editor-core/esm/vs/base/common/keyCodes';
24
+ import * as MonacoPlatform from '@theia/monaco-editor-core/esm/vs/base/common/platform';
22
25
 
23
- const KeyCode = monaco.KeyCode;
24
-
25
- export const KEY_CODE_MAP: monaco.KeyCode[] = [];
26
+ export const KEY_CODE_MAP: KeyCode[] = [];
26
27
  (function (): void {
27
28
  KEY_CODE_MAP[3] = KeyCode.PauseBreak; // VK_CANCEL 0x03 Control-break processing
28
29
  KEY_CODE_MAP[8] = KeyCode.Backspace;
@@ -46,62 +47,62 @@ export const KEY_CODE_MAP: monaco.KeyCode[] = [];
46
47
  KEY_CODE_MAP[45] = KeyCode.Insert;
47
48
  KEY_CODE_MAP[46] = KeyCode.Delete;
48
49
 
49
- KEY_CODE_MAP[48] = KeyCode.KEY_0;
50
- KEY_CODE_MAP[49] = KeyCode.KEY_1;
51
- KEY_CODE_MAP[50] = KeyCode.KEY_2;
52
- KEY_CODE_MAP[51] = KeyCode.KEY_3;
53
- KEY_CODE_MAP[52] = KeyCode.KEY_4;
54
- KEY_CODE_MAP[53] = KeyCode.KEY_5;
55
- KEY_CODE_MAP[54] = KeyCode.KEY_6;
56
- KEY_CODE_MAP[55] = KeyCode.KEY_7;
57
- KEY_CODE_MAP[56] = KeyCode.KEY_8;
58
- KEY_CODE_MAP[57] = KeyCode.KEY_9;
50
+ KEY_CODE_MAP[48] = KeyCode.Digit0;
51
+ KEY_CODE_MAP[49] = KeyCode.Digit1;
52
+ KEY_CODE_MAP[50] = KeyCode.Digit2;
53
+ KEY_CODE_MAP[51] = KeyCode.Digit3;
54
+ KEY_CODE_MAP[52] = KeyCode.Digit4;
55
+ KEY_CODE_MAP[53] = KeyCode.Digit5;
56
+ KEY_CODE_MAP[54] = KeyCode.Digit6;
57
+ KEY_CODE_MAP[55] = KeyCode.Digit7;
58
+ KEY_CODE_MAP[56] = KeyCode.Digit8;
59
+ KEY_CODE_MAP[57] = KeyCode.Digit9;
59
60
 
60
- KEY_CODE_MAP[65] = KeyCode.KEY_A;
61
- KEY_CODE_MAP[66] = KeyCode.KEY_B;
62
- KEY_CODE_MAP[67] = KeyCode.KEY_C;
63
- KEY_CODE_MAP[68] = KeyCode.KEY_D;
64
- KEY_CODE_MAP[69] = KeyCode.KEY_E;
65
- KEY_CODE_MAP[70] = KeyCode.KEY_F;
66
- KEY_CODE_MAP[71] = KeyCode.KEY_G;
67
- KEY_CODE_MAP[72] = KeyCode.KEY_H;
68
- KEY_CODE_MAP[73] = KeyCode.KEY_I;
69
- KEY_CODE_MAP[74] = KeyCode.KEY_J;
70
- KEY_CODE_MAP[75] = KeyCode.KEY_K;
71
- KEY_CODE_MAP[76] = KeyCode.KEY_L;
72
- KEY_CODE_MAP[77] = KeyCode.KEY_M;
73
- KEY_CODE_MAP[78] = KeyCode.KEY_N;
74
- KEY_CODE_MAP[79] = KeyCode.KEY_O;
75
- KEY_CODE_MAP[80] = KeyCode.KEY_P;
76
- KEY_CODE_MAP[81] = KeyCode.KEY_Q;
77
- KEY_CODE_MAP[82] = KeyCode.KEY_R;
78
- KEY_CODE_MAP[83] = KeyCode.KEY_S;
79
- KEY_CODE_MAP[84] = KeyCode.KEY_T;
80
- KEY_CODE_MAP[85] = KeyCode.KEY_U;
81
- KEY_CODE_MAP[86] = KeyCode.KEY_V;
82
- KEY_CODE_MAP[87] = KeyCode.KEY_W;
83
- KEY_CODE_MAP[88] = KeyCode.KEY_X;
84
- KEY_CODE_MAP[89] = KeyCode.KEY_Y;
85
- KEY_CODE_MAP[90] = KeyCode.KEY_Z;
61
+ KEY_CODE_MAP[65] = KeyCode.KeyA;
62
+ KEY_CODE_MAP[66] = KeyCode.KeyB;
63
+ KEY_CODE_MAP[67] = KeyCode.KeyC;
64
+ KEY_CODE_MAP[68] = KeyCode.KeyD;
65
+ KEY_CODE_MAP[69] = KeyCode.KeyE;
66
+ KEY_CODE_MAP[70] = KeyCode.KeyF;
67
+ KEY_CODE_MAP[71] = KeyCode.KeyG;
68
+ KEY_CODE_MAP[72] = KeyCode.KeyH;
69
+ KEY_CODE_MAP[73] = KeyCode.KeyI;
70
+ KEY_CODE_MAP[74] = KeyCode.KeyJ;
71
+ KEY_CODE_MAP[75] = KeyCode.KeyK;
72
+ KEY_CODE_MAP[76] = KeyCode.KeyL;
73
+ KEY_CODE_MAP[77] = KeyCode.KeyM;
74
+ KEY_CODE_MAP[78] = KeyCode.KeyN;
75
+ KEY_CODE_MAP[79] = KeyCode.KeyO;
76
+ KEY_CODE_MAP[80] = KeyCode.KeyP;
77
+ KEY_CODE_MAP[81] = KeyCode.KeyQ;
78
+ KEY_CODE_MAP[82] = KeyCode.KeyR;
79
+ KEY_CODE_MAP[83] = KeyCode.KeyS;
80
+ KEY_CODE_MAP[84] = KeyCode.KeyT;
81
+ KEY_CODE_MAP[85] = KeyCode.KeyU;
82
+ KEY_CODE_MAP[86] = KeyCode.KeyV;
83
+ KEY_CODE_MAP[87] = KeyCode.KeyW;
84
+ KEY_CODE_MAP[88] = KeyCode.KeyX;
85
+ KEY_CODE_MAP[89] = KeyCode.KeyY;
86
+ KEY_CODE_MAP[90] = KeyCode.KeyZ;
86
87
 
87
88
  KEY_CODE_MAP[93] = KeyCode.ContextMenu;
88
89
 
89
- KEY_CODE_MAP[96] = KeyCode.NUMPAD_0;
90
- KEY_CODE_MAP[97] = KeyCode.NUMPAD_1;
91
- KEY_CODE_MAP[98] = KeyCode.NUMPAD_2;
92
- KEY_CODE_MAP[99] = KeyCode.NUMPAD_3;
93
- KEY_CODE_MAP[100] = KeyCode.NUMPAD_4;
94
- KEY_CODE_MAP[101] = KeyCode.NUMPAD_5;
95
- KEY_CODE_MAP[102] = KeyCode.NUMPAD_6;
96
- KEY_CODE_MAP[103] = KeyCode.NUMPAD_7;
97
- KEY_CODE_MAP[104] = KeyCode.NUMPAD_8;
98
- KEY_CODE_MAP[105] = KeyCode.NUMPAD_9;
99
- KEY_CODE_MAP[106] = KeyCode.NUMPAD_MULTIPLY;
100
- KEY_CODE_MAP[107] = KeyCode.NUMPAD_ADD;
90
+ KEY_CODE_MAP[96] = KeyCode.Numpad0;
91
+ KEY_CODE_MAP[97] = KeyCode.Numpad1;
92
+ KEY_CODE_MAP[98] = KeyCode.Numpad2;
93
+ KEY_CODE_MAP[99] = KeyCode.Numpad3;
94
+ KEY_CODE_MAP[100] = KeyCode.Numpad4;
95
+ KEY_CODE_MAP[101] = KeyCode.Numpad5;
96
+ KEY_CODE_MAP[102] = KeyCode.Numpad6;
97
+ KEY_CODE_MAP[103] = KeyCode.Numpad7;
98
+ KEY_CODE_MAP[104] = KeyCode.Numpad8;
99
+ KEY_CODE_MAP[105] = KeyCode.Numpad9;
100
+ KEY_CODE_MAP[106] = KeyCode.NumpadMultiply;
101
+ KEY_CODE_MAP[107] = KeyCode.NumpadAdd;
101
102
  KEY_CODE_MAP[108] = KeyCode.NUMPAD_SEPARATOR;
102
- KEY_CODE_MAP[109] = KeyCode.NUMPAD_SUBTRACT;
103
- KEY_CODE_MAP[110] = KeyCode.NUMPAD_DECIMAL;
104
- KEY_CODE_MAP[111] = KeyCode.NUMPAD_DIVIDE;
103
+ KEY_CODE_MAP[109] = KeyCode.NumpadSubtract;
104
+ KEY_CODE_MAP[110] = KeyCode.NumpadDecimal;
105
+ KEY_CODE_MAP[111] = KeyCode.NumpadDivide;
105
106
 
106
107
  KEY_CODE_MAP[112] = KeyCode.F1;
107
108
  KEY_CODE_MAP[113] = KeyCode.F2;
@@ -126,22 +127,22 @@ export const KEY_CODE_MAP: monaco.KeyCode[] = [];
126
127
  KEY_CODE_MAP[144] = KeyCode.NumLock;
127
128
  KEY_CODE_MAP[145] = KeyCode.ScrollLock;
128
129
 
129
- KEY_CODE_MAP[186] = KeyCode.US_SEMICOLON;
130
- KEY_CODE_MAP[187] = KeyCode.US_EQUAL;
131
- KEY_CODE_MAP[188] = KeyCode.US_COMMA;
132
- KEY_CODE_MAP[189] = KeyCode.US_MINUS;
133
- KEY_CODE_MAP[190] = KeyCode.US_DOT;
134
- KEY_CODE_MAP[191] = KeyCode.US_SLASH;
135
- KEY_CODE_MAP[192] = KeyCode.US_BACKTICK;
130
+ KEY_CODE_MAP[186] = KeyCode.Semicolon;
131
+ KEY_CODE_MAP[187] = KeyCode.Equal;
132
+ KEY_CODE_MAP[188] = KeyCode.Comma;
133
+ KEY_CODE_MAP[189] = KeyCode.Minus;
134
+ KEY_CODE_MAP[190] = KeyCode.Period;
135
+ KEY_CODE_MAP[191] = KeyCode.Slash;
136
+ KEY_CODE_MAP[192] = KeyCode.Backquote;
136
137
  KEY_CODE_MAP[193] = KeyCode.ABNT_C1;
137
138
  KEY_CODE_MAP[194] = KeyCode.ABNT_C2;
138
- KEY_CODE_MAP[219] = KeyCode.US_OPEN_SQUARE_BRACKET;
139
- KEY_CODE_MAP[220] = KeyCode.US_BACKSLASH;
140
- KEY_CODE_MAP[221] = KeyCode.US_CLOSE_SQUARE_BRACKET;
141
- KEY_CODE_MAP[222] = KeyCode.US_QUOTE;
139
+ KEY_CODE_MAP[219] = KeyCode.BracketLeft;
140
+ KEY_CODE_MAP[220] = KeyCode.Backslash;
141
+ KEY_CODE_MAP[221] = KeyCode.BracketRight;
142
+ KEY_CODE_MAP[222] = KeyCode.Quote;
142
143
  KEY_CODE_MAP[223] = KeyCode.OEM_8;
143
144
 
144
- KEY_CODE_MAP[226] = KeyCode.OEM_102;
145
+ KEY_CODE_MAP[226] = KeyCode.IntlBackslash;
145
146
 
146
147
  /**
147
148
  * https://lists.w3.org/Archives/Public/www-dom/2010JulSep/att-0182/keyCode-spec.html
@@ -152,15 +153,15 @@ export const KEY_CODE_MAP: monaco.KeyCode[] = [];
152
153
  if (browser.isIE) {
153
154
  KEY_CODE_MAP[91] = KeyCode.Meta;
154
155
  } else if (browser.isFirefox) {
155
- KEY_CODE_MAP[59] = KeyCode.US_SEMICOLON;
156
- KEY_CODE_MAP[107] = KeyCode.US_EQUAL;
157
- KEY_CODE_MAP[109] = KeyCode.US_MINUS;
158
- if (monaco.platform.OS === monaco.platform.OperatingSystem.Macintosh) {
156
+ KEY_CODE_MAP[59] = KeyCode.Semicolon;
157
+ KEY_CODE_MAP[107] = KeyCode.Equal;
158
+ KEY_CODE_MAP[109] = KeyCode.Minus;
159
+ if (MonacoPlatform.OS === MonacoPlatform.OperatingSystem.Macintosh) {
159
160
  KEY_CODE_MAP[224] = KeyCode.Meta;
160
161
  }
161
162
  } else if (browser.isWebKit) {
162
163
  KEY_CODE_MAP[91] = KeyCode.Meta;
163
- if (monaco.platform.OS === monaco.platform.OperatingSystem.Macintosh) {
164
+ if (MonacoPlatform.OS === MonacoPlatform.OperatingSystem.Macintosh) {
164
165
  // the two meta keys in the Mac have different key codes (91 and 93)
165
166
  KEY_CODE_MAP[93] = KeyCode.Meta;
166
167
  } else {
@@ -24,6 +24,7 @@ import { CancellationToken } from '@theia/core/lib/common/cancellation';
24
24
  import { Language, LanguageService } from '@theia/core/lib/browser/language-service';
25
25
  import { MonacoDiagnosticCollection } from './monaco-diagnostic-collection';
26
26
  import { ProtocolToMonacoConverter } from './protocol-to-monaco-converter';
27
+ import * as monaco from '@theia/monaco-editor-core';
27
28
 
28
29
  export interface WorkspaceSymbolProvider {
29
30
  provideWorkspaceSymbols(params: WorkspaceSymbolParams, token: CancellationToken): MaybePromise<SymbolInformation[] | undefined>;
@@ -19,7 +19,7 @@ import { MenuContribution, MenuModelRegistry, MAIN_MENU_BAR, MenuPath } from '@t
19
19
  import { EditorMainMenu, EDITOR_CONTEXT_MENU } from '@theia/editor/lib/browser';
20
20
  import { MonacoCommandRegistry } from './monaco-command-registry';
21
21
  import { nls } from '@theia/core/lib/common/nls';
22
- import MenuRegistry = monaco.actions.MenuRegistry;
22
+ import { isIMenuItem, MenuId, MenuRegistry } from '@theia/monaco-editor-core/esm/vs/platform/actions/common/actions';
23
23
 
24
24
  export interface MonacoActionGroup {
25
25
  id: string;
@@ -39,8 +39,8 @@ export class MonacoEditorMenuContribution implements MenuContribution {
39
39
  ) { }
40
40
 
41
41
  registerMenus(registry: MenuModelRegistry): void {
42
- for (const item of MenuRegistry.getMenuItems(monaco.actions.MenuId.EditorContext)) {
43
- if (!monaco.actions.isIMenuItem(item)) {
42
+ for (const item of MenuRegistry.getMenuItems(MenuId.EditorContext)) {
43
+ if (!isIMenuItem(item)) {
44
44
  continue;
45
45
  }
46
46
  const commandId = this.commands.validate(item.command.id);
@@ -53,8 +53,8 @@ export class MonacoEditorMenuContribution implements MenuContribution {
53
53
  this.registerPeekSubmenu(registry);
54
54
 
55
55
  registry.registerSubmenu(MonacoMenus.SELECTION, nls.localizeByDefault('Selection'));
56
- for (const item of MenuRegistry.getMenuItems(monaco.actions.MenuId.MenubarSelectionMenu)) {
57
- if (!monaco.actions.isIMenuItem(item)) {
56
+ for (const item of MenuRegistry.getMenuItems(MenuId.MenubarSelectionMenu)) {
57
+ if (!isIMenuItem(item)) {
58
58
  continue;
59
59
  }
60
60
  const commandId = this.commands.validate(item.command.id);
@@ -115,8 +115,8 @@ export class MonacoEditorMenuContribution implements MenuContribution {
115
115
  protected registerPeekSubmenu(registry: MenuModelRegistry): void {
116
116
  registry.registerSubmenu(MonacoMenus.PEEK_CONTEXT_SUBMENU, nls.localizeByDefault('Peek'));
117
117
 
118
- for (const item of MenuRegistry.getMenuItems(monaco.actions.MenuId.EditorContextPeek)) {
119
- if (!monaco.actions.isIMenuItem(item)) {
118
+ for (const item of MenuRegistry.getMenuItems(MenuId.EditorContextPeek)) {
119
+ if (!isIMenuItem(item)) {
120
120
  continue;
121
121
  }
122
122
  const commandId = this.commands.validate(item.command.id);
@@ -17,6 +17,11 @@
17
17
  import debounce = require('@theia/core/shared/lodash.debounce');
18
18
  import { injectable } from '@theia/core/shared/inversify';
19
19
  import { MimeAssociation, MimeService } from '@theia/core/lib/browser/mime-service';
20
+ import { StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
21
+ import { ILanguageService } from '@theia/monaco-editor-core/esm/vs/editor/common/languages/language';
22
+ import * as monaco from '@theia/monaco-editor-core';
23
+ import { clearConfiguredLanguageAssociations, registerConfiguredLanguageAssociation } from '@theia/monaco-editor-core/esm/vs/editor/common/services/languagesAssociations';
24
+ import { LanguageService } from '@theia/monaco-editor-core/esm/vs/editor/common/services/languageService';
20
25
 
21
26
  @injectable()
22
27
  export class MonacoMimeService extends MimeService {
@@ -26,7 +31,7 @@ export class MonacoMimeService extends MimeService {
26
31
 
27
32
  constructor() {
28
33
  super();
29
- monaco.services.StaticServices.modeService.get()._onLanguagesMaybeChanged.event(() => {
34
+ StandaloneServices.get(ILanguageService).onDidChange(() => {
30
35
  if (this.updatingAssociations) {
31
36
  return;
32
37
  }
@@ -42,14 +47,13 @@ export class MonacoMimeService extends MimeService {
42
47
  protected updateAssociations = debounce(() => {
43
48
  this.updatingAssociations = true;
44
49
  try {
45
- monaco.mime.clearTextMimes(true);
50
+ clearConfiguredLanguageAssociations();
46
51
 
47
52
  for (const association of this.associations) {
48
53
  const mimetype = this.getMimeForMode(association.id) || `text/x-${association.id}`;
49
- monaco.mime.registerTextMime({ id: association.id, mime: mimetype, filepattern: association.filepattern, userConfigured: true }, false);
54
+ registerConfiguredLanguageAssociation({ id: association.id, mime: mimetype, filepattern: association.filepattern });
50
55
  }
51
-
52
- monaco.services.StaticServices.modeService.get()._onLanguagesMaybeChanged.fire(undefined);
56
+ (StandaloneServices.get(ILanguageService) as LanguageService)['_onDidChange'].fire(undefined);
53
57
  } finally {
54
58
  this.updatingAssociations = false;
55
59
  }
@@ -15,20 +15,19 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { injectable, inject } from '@theia/core/shared/inversify';
18
- import DocumentSymbol = monaco.languages.DocumentSymbol;
19
- import SymbolKind = monaco.languages.SymbolKind;
20
18
  import { FrontendApplicationContribution, FrontendApplication, TreeNode } from '@theia/core/lib/browser';
21
19
  import { Range, EditorManager, EditorOpenerOptions } from '@theia/editor/lib/browser';
22
- import DocumentSymbolProviderRegistry = monaco.modes.DocumentSymbolProviderRegistry;
23
- import CancellationTokenSource = monaco.CancellationTokenSource;
24
- import CancellationToken = monaco.CancellationToken;
25
20
  import { DisposableCollection, Disposable } from '@theia/core';
26
21
  import { OutlineViewService } from '@theia/outline-view/lib/browser/outline-view-service';
27
22
  import { OutlineSymbolInformationNode } from '@theia/outline-view/lib/browser/outline-view-widget';
28
23
  import URI from '@theia/core/lib/common/uri';
29
24
  import { MonacoEditor } from './monaco-editor';
30
-
31
25
  import debounce = require('@theia/core/shared/lodash.debounce');
26
+ import * as monaco from '@theia/monaco-editor-core';
27
+ import { ILanguageFeaturesService } from '@theia/monaco-editor-core/esm/vs/editor/common/services/languageFeatures';
28
+ import { StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
29
+ import { ITextModel } from '@theia/monaco-editor-core/esm/vs/editor/common/model';
30
+ import { DocumentSymbol } from '@theia/monaco-editor-core/esm/vs/editor/common/languages';
32
31
 
33
32
  @injectable()
34
33
  export class MonacoOutlineContribution implements FrontendApplicationContribution {
@@ -44,7 +43,7 @@ export class MonacoOutlineContribution implements FrontendApplicationContributio
44
43
 
45
44
  // updateOutline and handleCurrentEditorChanged need to be called even when the outline view widget is closed
46
45
  // in order to update breadcrumbs.
47
- DocumentSymbolProviderRegistry.onDidChange(
46
+ StandaloneServices.get(ILanguageFeaturesService).documentSymbolProvider.onDidChange(
48
47
  debounce(() => this.updateOutline())
49
48
  );
50
49
  this.editorManager.onCurrentEditorChanged(
@@ -100,13 +99,13 @@ export class MonacoOutlineContribution implements FrontendApplicationContributio
100
99
  this.updateOutline();
101
100
  }
102
101
 
103
- protected tokenSource = new CancellationTokenSource();
102
+ protected tokenSource = new monaco.CancellationTokenSource();
104
103
  protected async updateOutline(editorSelection?: Range): Promise<void> {
105
104
  if (!this.canUpdateOutline) {
106
105
  return;
107
106
  }
108
107
  this.tokenSource.cancel();
109
- this.tokenSource = new CancellationTokenSource();
108
+ this.tokenSource = new monaco.CancellationTokenSource();
110
109
  const token = this.tokenSource.token;
111
110
 
112
111
  const editor = MonacoEditor.get(this.editorManager.currentEditor);
@@ -118,7 +117,10 @@ export class MonacoOutlineContribution implements FrontendApplicationContributio
118
117
  this.outlineViewService.publish(roots || []);
119
118
  }
120
119
 
121
- protected async createRoots(model: monaco.editor.IModel, token: CancellationToken, editorSelection?: Range): Promise<MonacoOutlineSymbolInformationNode[]> {
120
+ protected async createRoots(
121
+ model: monaco.editor.ITextModel | ITextModel, token: monaco.CancellationToken, editorSelection?: Range
122
+ ): Promise<MonacoOutlineSymbolInformationNode[]> {
123
+ model = model as ITextModel;
122
124
  if (this.roots && this.roots.length > 0) {
123
125
  // Reset the selection on the tree nodes, so that we can apply the new ones based on the `editorSelection`.
124
126
  const resetSelection = (node: MonacoOutlineSymbolInformationNode) => {
@@ -128,23 +130,22 @@ export class MonacoOutlineContribution implements FrontendApplicationContributio
128
130
  this.roots.forEach(resetSelection);
129
131
  } else {
130
132
  this.roots = [];
131
- const providers = DocumentSymbolProviderRegistry.all(model);
133
+ const providers = StandaloneServices.get(ILanguageFeaturesService).documentSymbolProvider.all(model);
132
134
  if (token.isCancellationRequested) {
133
135
  return [];
134
136
  }
135
137
  const uri = new URI(model.uri.toString());
136
138
  for (const provider of providers) {
137
139
  try {
138
- const symbols = await provider.provideDocumentSymbols(model, token);
140
+ const symbols = await provider.provideDocumentSymbols(model, token) ?? [];
139
141
  if (token.isCancellationRequested) {
140
142
  return [];
141
143
  }
144
+ const nodes = this.createNodes(uri, symbols);
142
145
  if (providers.length > 1 && provider.displayName) {
143
- const nodes = this.createNodes(uri, symbols || []);
144
- const providerRootNode = this.createProviderRootNode(uri, provider.displayName, nodes);
145
- this.roots.push(providerRootNode);
146
+ const providerRoot = this.createProviderRootNode(uri, provider.displayName, nodes);
147
+ this.roots.push(providerRoot);
146
148
  } else {
147
- const nodes = this.createNodes(uri, symbols || []);
148
149
  this.roots.push(...nodes);
149
150
  }
150
151
  } catch {
@@ -172,7 +173,8 @@ export class MonacoOutlineContribution implements FrontendApplicationContributio
172
173
  return node;
173
174
  }
174
175
 
175
- protected createNodes(uri: URI, symbols: DocumentSymbol[]): MonacoOutlineSymbolInformationNode[] {
176
+ protected createNodes(uri: URI, symbols: monaco.languages.DocumentSymbol[] | DocumentSymbol[]): MonacoOutlineSymbolInformationNode[] {
177
+ symbols = symbols as monaco.languages.DocumentSymbol[];
176
178
  let rangeBased = false;
177
179
  const ids = new Map();
178
180
  const roots: MonacoOutlineSymbolInformationNode[] = [];
@@ -237,7 +239,7 @@ export class MonacoOutlineContribution implements FrontendApplicationContributio
237
239
  *
238
240
  * If the argument is a `DocumentSymbol`, then `getFullRange` will be used to retrieve the range of the underlying symbol.
239
241
  */
240
- protected parentContains(candidate: DocumentSymbol | Range, parent: DocumentSymbol | Range, rangeBased: boolean): boolean {
242
+ protected parentContains(candidate: monaco.languages.DocumentSymbol | Range, parent: monaco.languages.DocumentSymbol | Range, rangeBased: boolean): boolean {
241
243
  // TODO: move this code to the `monaco-languageclient`: https://github.com/eclipse-theia/theia/pull/2885#discussion_r217800446
242
244
  const candidateRange = Range.is(candidate) ? candidate : this.getFullRange(candidate);
243
245
  const parentRange = Range.is(parent) ? parent : this.getFullRange(parent);
@@ -275,7 +277,7 @@ export class MonacoOutlineContribution implements FrontendApplicationContributio
275
277
  *
276
278
  * See: [`DocumentSymbol#range`](https://microsoft.github.io/language-server-protocol/specification#textDocument_documentSymbol) for more details.
277
279
  */
278
- protected getFullRange(documentSymbol: DocumentSymbol): Range {
280
+ protected getFullRange(documentSymbol: monaco.languages.DocumentSymbol): Range {
279
281
  return this.asRange(documentSymbol.range);
280
282
  }
281
283
 
@@ -284,17 +286,19 @@ export class MonacoOutlineContribution implements FrontendApplicationContributio
284
286
  *
285
287
  * See: [`DocumentSymbol#selectionRange`](https://microsoft.github.io/language-server-protocol/specification#textDocument_documentSymbol) for more details.
286
288
  */
287
- protected getNameRange(documentSymbol: DocumentSymbol): Range {
289
+ protected getNameRange(documentSymbol: monaco.languages.DocumentSymbol): Range {
288
290
  return this.asRange(documentSymbol.selectionRange);
289
291
  }
290
292
 
291
- protected createNode(uri: URI, symbol: DocumentSymbol, ids: Map<string, number>, parent?: MonacoOutlineSymbolInformationNode): MonacoOutlineSymbolInformationNode {
293
+ protected createNode(
294
+ uri: URI, symbol: monaco.languages.DocumentSymbol, ids: Map<string, number>, parent?: MonacoOutlineSymbolInformationNode
295
+ ): MonacoOutlineSymbolInformationNode {
292
296
  const id = this.createId(symbol.name, ids);
293
297
  const children: MonacoOutlineSymbolInformationNode[] = [];
294
298
  const node: MonacoOutlineSymbolInformationNode = {
295
299
  children,
296
300
  id,
297
- iconClass: SymbolKind[symbol.kind].toString().toLowerCase(),
301
+ iconClass: monaco.languages.SymbolKind[symbol.kind].toString().toLowerCase(),
298
302
  name: this.getName(symbol),
299
303
  detail: this.getDetail(symbol),
300
304
  parent,
@@ -312,11 +316,11 @@ export class MonacoOutlineContribution implements FrontendApplicationContributio
312
316
  return node;
313
317
  }
314
318
 
315
- protected getName(symbol: DocumentSymbol): string {
319
+ protected getName(symbol: monaco.languages.DocumentSymbol): string {
316
320
  return symbol.name;
317
321
  }
318
322
 
319
- protected getDetail(symbol: DocumentSymbol): string {
323
+ protected getDetail(symbol: monaco.languages.DocumentSymbol): string {
320
324
  return symbol.detail;
321
325
  }
322
326
 
@@ -327,17 +331,17 @@ export class MonacoOutlineContribution implements FrontendApplicationContributio
327
331
  return name + '_' + index;
328
332
  }
329
333
 
330
- protected shouldExpand(symbol: DocumentSymbol): boolean {
334
+ protected shouldExpand(symbol: monaco.languages.DocumentSymbol): boolean {
331
335
  return [
332
- SymbolKind.Class,
333
- SymbolKind.Enum, SymbolKind.File,
334
- SymbolKind.Interface, SymbolKind.Module,
335
- SymbolKind.Namespace, SymbolKind.Object,
336
- SymbolKind.Package, SymbolKind.Struct
336
+ monaco.languages.SymbolKind.Class,
337
+ monaco.languages.SymbolKind.Enum, monaco.languages.SymbolKind.File,
338
+ monaco.languages.SymbolKind.Interface, monaco.languages.SymbolKind.Module,
339
+ monaco.languages.SymbolKind.Namespace, monaco.languages.SymbolKind.Object,
340
+ monaco.languages.SymbolKind.Package, monaco.languages.SymbolKind.Struct
337
341
  ].indexOf(symbol.kind) !== -1;
338
342
  }
339
343
 
340
- protected orderByPosition(symbol: DocumentSymbol, symbol2: DocumentSymbol): number {
344
+ protected orderByPosition(symbol: monaco.languages.DocumentSymbol, symbol2: monaco.languages.DocumentSymbol): number {
341
345
  const startLineComparison = symbol.range.startLineNumber - symbol2.range.startLineNumber;
342
346
  if (startLineComparison !== 0) {
343
347
  return startLineComparison;
@@ -357,7 +361,7 @@ export class MonacoOutlineContribution implements FrontendApplicationContributio
357
361
  export namespace MonacoOutlineContribution {
358
362
  export interface NodeAndSymbol {
359
363
  node: MonacoOutlineSymbolInformationNode;
360
- symbol: DocumentSymbol
364
+ symbol: monaco.languages.DocumentSymbol
361
365
  }
362
366
  }
363
367
 
@@ -19,22 +19,37 @@ import { QuickAccessProviderDescriptor, QuickAccessRegistry } from '@theia/core/
19
19
  import { CancellationToken, Disposable } from '@theia/core/lib/common';
20
20
  import { inject, injectable } from '@theia/core/shared/inversify';
21
21
  import { MonacoQuickPickItem } from './monaco-quick-input-service';
22
+ import {
23
+ IPickerQuickAccessProviderOptions, PickerQuickAccessProvider, Picks, Pick, IPickerQuickAccessItem
24
+ } from '@theia/monaco-editor-core/esm/vs/platform/quickinput/browser/pickerQuickAccess';
25
+ import {
26
+ Extensions,
27
+ IQuickAccessProvider,
28
+ IQuickAccessProviderDescriptor,
29
+ IQuickAccessProviderHelp,
30
+ IQuickAccessRegistry,
31
+ QuickAccessRegistry as VSCodeQuickAccessRegistry,
32
+ } from '@theia/monaco-editor-core/esm/vs/platform/quickinput/common/quickAccess';
33
+ import { IQuickPickItem, IQuickPickItemWithResource } from '@theia/monaco-editor-core/esm/vs/platform/quickinput/common/quickInput';
34
+ import { Registry } from '@theia/monaco-editor-core/esm/vs/platform/registry/common/platform';
22
35
 
23
- abstract class MonacoPickerAccessProvider extends monaco.quickInput.PickerQuickAccessProvider<QuickPickItem> {
24
- constructor(prefix: string, options?: monaco.quickInput.IPickerQuickAccessProviderOptions<QuickPickItem>) {
36
+ interface IAnythingQuickPickItem extends IPickerQuickAccessItem, IQuickPickItemWithResource { }
37
+
38
+ abstract class MonacoPickerAccessProvider extends PickerQuickAccessProvider<IQuickPickItem> {
39
+ constructor(prefix: string, options?: IPickerQuickAccessProviderOptions<IQuickPickItem>) {
25
40
  super(prefix, options);
26
41
  }
27
42
 
28
43
  abstract getDescriptor(): QuickAccessProviderDescriptor;
29
44
  }
30
45
 
31
- class TheiaQuickAccessDescriptor implements monaco.quickInput.IQuickAccessProviderDescriptor {
46
+ class TheiaQuickAccessDescriptor implements IQuickAccessProviderDescriptor {
32
47
  constructor(
33
48
  public readonly theiaDescriptor: QuickAccessProviderDescriptor,
34
49
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
- readonly ctor: { new(...services: any /* TS BrandedService but no clue how to type this properly */[]): monaco.quickInput.IQuickAccessProvider },
50
+ readonly ctor: { new(...services: any /* TS BrandedService but no clue how to type this properly */[]): IQuickAccessProvider },
36
51
  readonly prefix: string,
37
- readonly helpEntries: monaco.quickInput.IQuickAccessProviderHelp[],
52
+ readonly helpEntries: IQuickAccessProviderHelp[],
38
53
  readonly placeholder?: string) { }
39
54
  }
40
55
 
@@ -43,12 +58,12 @@ export class MonacoQuickAccessRegistry implements QuickAccessRegistry {
43
58
  @inject(KeybindingRegistry)
44
59
  protected readonly keybindingRegistry: KeybindingRegistry;
45
60
 
46
- private get monacoRegistry(): monaco.quickInput.IQuickAccessRegistry {
47
- return monaco.platform.Registry.as<monaco.quickInput.IQuickAccessRegistry>('workbench.contributions.quickaccess');
61
+ private get monacoRegistry(): IQuickAccessRegistry {
62
+ return Registry.as<IQuickAccessRegistry>(Extensions.Quickaccess);
48
63
  }
49
64
 
50
65
  registerQuickAccessProvider(descriptor: QuickAccessProviderDescriptor): Disposable {
51
- const toMonacoPick = (item: QuickPickItem): monaco.quickInput.Pick<monaco.quickInput.IAnythingQuickPickItem> => {
66
+ const toMonacoPick = (item: QuickPickItem): Pick<IAnythingQuickPickItem> => {
52
67
  if (QuickPickSeparator.is(item)) {
53
68
  return item;
54
69
  } else {
@@ -65,16 +80,9 @@ export class MonacoQuickAccessRegistry implements QuickAccessRegistry {
65
80
  super(descriptor.prefix);
66
81
  }
67
82
 
68
- override getPicks(
69
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
- filter: string, disposables: any, token: CancellationToken
71
- ): monaco.quickInput.Picks<QuickPickItem> | Promise<monaco.quickInput.Picks<QuickPickItem>> {
72
- const result = descriptor.getInstance().getPicks(filter, token);
73
- if (result instanceof Promise) {
74
- return result.then(picks => picks.map(toMonacoPick));
75
- } else {
76
- return result.map(toMonacoPick);
77
- }
83
+ protected override async _getPicks(filter: string, disposables: unknown, token: CancellationToken): Promise<Picks<IQuickPickItem>> {
84
+ const result = await Promise.resolve(descriptor.getInstance().getPicks(filter, token));
85
+ return result.map(toMonacoPick);
78
86
  }
79
87
  };
80
88
 
@@ -97,6 +105,8 @@ export class MonacoQuickAccessRegistry implements QuickAccessRegistry {
97
105
  return monacoDescriptor ? (monacoDescriptor as TheiaQuickAccessDescriptor).theiaDescriptor : undefined;
98
106
  }
99
107
  clear(): void {
100
- this.monacoRegistry.clear();
108
+ if (this.monacoRegistry instanceof VSCodeQuickAccessRegistry) {
109
+ this.monacoRegistry.clear();
110
+ }
101
111
  }
102
112
  }