@codingame/monaco-vscode-api 1.76.8 → 1.78.0-next.0

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 (332) hide show
  1. package/README.md +87 -49
  2. package/dist/Bibtex.tmLanguage.js +2 -0
  3. package/dist/Handlebars.tmLanguage.js +2 -0
  4. package/dist/JSON.tmLanguage.js +2 -0
  5. package/dist/JSONC.tmLanguage.js +2 -0
  6. package/dist/JavaScript.tmLanguage.js +2 -0
  7. package/dist/JavaScriptReact.tmLanguage.js +2 -0
  8. package/dist/LaTeX.tmLanguage.js +2 -0
  9. package/dist/MagicPython.tmLanguage.js +2 -0
  10. package/dist/MagicRegExp.tmLanguage.js +2 -0
  11. package/dist/Red-color-theme.js +2 -0
  12. package/dist/Regular Expressions (JavaScript).js +2 -0
  13. package/dist/TeX.tmLanguage.js +2 -0
  14. package/dist/TypeScript.tmLanguage.js +2 -0
  15. package/dist/TypeScriptReact.tmLanguage.js +2 -0
  16. package/dist/_.contribution.js +1 -1
  17. package/dist/abyss-color-theme.js +2 -0
  18. package/dist/api.js +1 -3
  19. package/dist/api2.js +421 -18091
  20. package/dist/asp-vb-net.tmlanguage.js +2 -0
  21. package/dist/assets/diffLineDeleted.mp3 +0 -0
  22. package/dist/assets/diffLineInserted.mp3 +0 -0
  23. package/dist/assets/diffLineModified.mp3 +0 -0
  24. package/dist/audioCue.js +108 -478
  25. package/dist/bat.js +9 -0
  26. package/dist/batchfile.js +2 -0
  27. package/dist/batchfile.tmLanguage.js +2 -0
  28. package/dist/button.js +35 -8
  29. package/dist/c.js +2 -0
  30. package/dist/c.tmLanguage.js +2 -0
  31. package/dist/clojure.js +8 -0
  32. package/dist/clojure.tmLanguage.js +2 -0
  33. package/dist/coffeescript.js +9 -0
  34. package/dist/coffeescript.tmLanguage.js +2 -0
  35. package/dist/coffeescript2.js +2 -0
  36. package/dist/configuration.d.ts +269 -4
  37. package/dist/configuration.js +4326 -328
  38. package/dist/configuration2.js +14 -324
  39. package/dist/cpp-grammar-bailout.tmLanguage.js +2 -0
  40. package/dist/cpp.embedded.macro.tmLanguage.js +2 -0
  41. package/dist/cpp.js +16 -0
  42. package/dist/cpp.tmLanguage.js +2 -0
  43. package/dist/cpp2.js +2 -0
  44. package/dist/csharp.js +9 -0
  45. package/dist/csharp.tmLanguage.js +2 -0
  46. package/dist/csharp2.js +2 -0
  47. package/dist/cshtml.tmLanguage.js +2 -0
  48. package/dist/css.js +8 -0
  49. package/dist/css.tmLanguage.js +2 -0
  50. package/dist/cuda-cpp.tmLanguage.js +2 -0
  51. package/dist/dark_plus.js +2 -0
  52. package/dist/dark_plus_experimental.js +2 -0
  53. package/dist/dark_vs.js +2 -0
  54. package/dist/dart.js +8 -0
  55. package/dist/dart.tmLanguage.js +2 -0
  56. package/dist/debug.js +12115 -12209
  57. package/dist/default-extensions/bat.js +12 -0
  58. package/dist/default-extensions/clojure.js +11 -0
  59. package/dist/default-extensions/coffeescript.js +12 -0
  60. package/dist/default-extensions/cpp.js +19 -0
  61. package/dist/default-extensions/csharp.js +12 -0
  62. package/dist/default-extensions/css.js +11 -0
  63. package/dist/default-extensions/dart.js +11 -0
  64. package/dist/default-extensions/diff.js +11 -0
  65. package/dist/default-extensions/docker.js +11 -0
  66. package/dist/default-extensions/fsharp.js +12 -0
  67. package/dist/default-extensions/go.js +11 -0
  68. package/dist/default-extensions/groovy.js +12 -0
  69. package/dist/default-extensions/handlebars.js +11 -0
  70. package/dist/default-extensions/hlsl.js +11 -0
  71. package/dist/default-extensions/html.js +13 -0
  72. package/dist/default-extensions/ini.js +13 -0
  73. package/dist/default-extensions/java.js +12 -0
  74. package/dist/default-extensions/javascript.js +17 -0
  75. package/dist/default-extensions/json.js +13 -0
  76. package/dist/default-extensions/julia.js +11 -0
  77. package/dist/default-extensions/latex.js +14 -0
  78. package/dist/default-extensions/less.js +11 -0
  79. package/dist/default-extensions/log.js +10 -0
  80. package/dist/default-extensions/lua.js +11 -0
  81. package/dist/default-extensions/make.js +11 -0
  82. package/dist/default-extensions/markdown-basics.js +12 -0
  83. package/dist/default-extensions/objective-c.js +13 -0
  84. package/dist/default-extensions/perl.js +13 -0
  85. package/dist/default-extensions/php.js +13 -0
  86. package/dist/default-extensions/powershell.js +11 -0
  87. package/dist/default-extensions/pug.js +11 -0
  88. package/dist/default-extensions/python.js +12 -0
  89. package/dist/default-extensions/r.js +11 -0
  90. package/dist/default-extensions/razor.js +11 -0
  91. package/dist/default-extensions/ruby.js +11 -0
  92. package/dist/default-extensions/rust.js +11 -0
  93. package/dist/default-extensions/scss.js +12 -0
  94. package/dist/default-extensions/shaderlab.js +11 -0
  95. package/dist/default-extensions/shellscript.js +11 -0
  96. package/dist/default-extensions/sql.js +11 -0
  97. package/dist/default-extensions/swift.js +12 -0
  98. package/dist/default-extensions/theme-abyss.js +10 -0
  99. package/dist/default-extensions/theme-defaults.js +18 -0
  100. package/dist/default-extensions/theme-kimbie-dark.js +10 -0
  101. package/dist/default-extensions/theme-monokai-dimmed.js +10 -0
  102. package/dist/default-extensions/theme-monokai.js +10 -0
  103. package/dist/default-extensions/theme-quietlight.js +10 -0
  104. package/dist/default-extensions/theme-red.js +10 -0
  105. package/dist/default-extensions/theme-seti.js +10 -0
  106. package/dist/default-extensions/theme-solarized-dark.js +10 -0
  107. package/dist/default-extensions/theme-solarized-light.js +10 -0
  108. package/dist/default-extensions/theme-tomorrow-night-blue.js +10 -0
  109. package/dist/default-extensions/typescript-basics.js +17 -0
  110. package/dist/default-extensions/vb.js +12 -0
  111. package/dist/default-extensions/xml.js +13 -0
  112. package/dist/default-extensions/yaml.js +13 -0
  113. package/dist/dialogs.js +12 -216
  114. package/dist/diff.js +8 -0
  115. package/dist/diff.tmLanguage.js +2 -0
  116. package/dist/dimmed-monokai-color-theme.js +2 -0
  117. package/dist/docker.js +8 -0
  118. package/dist/docker.tmLanguage.js +2 -0
  119. package/dist/dom.js +101 -0
  120. package/dist/extensionManagement.js +4 -0
  121. package/dist/extensions.d.ts +368 -23
  122. package/dist/extensions.js +4 -85
  123. package/dist/extensionsRegistry.js +63 -64
  124. package/dist/files.d.ts +845 -0
  125. package/dist/files.js +1805 -1151
  126. package/dist/files2.js +32 -0
  127. package/dist/fsharp.js +9 -0
  128. package/dist/fsharp.tmLanguage.js +2 -0
  129. package/dist/fsharp2.js +2 -0
  130. package/dist/go.js +8 -0
  131. package/dist/go.tmLanguage.js +2 -0
  132. package/dist/groovy.js +9 -0
  133. package/dist/groovy.tmLanguage.js +2 -0
  134. package/dist/groovy2.js +2 -0
  135. package/dist/handlebars.js +8 -0
  136. package/dist/hc_black.js +2 -0
  137. package/dist/hc_light.js +2 -0
  138. package/dist/hlsl.js +8 -0
  139. package/dist/hlsl.tmLanguage.js +2 -0
  140. package/dist/html-derivative.tmLanguage.js +2 -0
  141. package/dist/html.js +10 -0
  142. package/dist/html.tmLanguage.js +2 -0
  143. package/dist/html.tmLanguage2.js +2 -0
  144. package/dist/html2.js +2 -0
  145. package/dist/ini.js +10 -0
  146. package/dist/ini.language-configuration.js +2 -0
  147. package/dist/ini.tmLanguage.js +2 -0
  148. package/dist/injection.js +1 -1
  149. package/dist/java.js +9 -0
  150. package/dist/java.tmLanguage.js +2 -0
  151. package/dist/java2.js +2 -0
  152. package/dist/javascript-language-configuration.js +2 -0
  153. package/dist/javascript.js +14 -0
  154. package/dist/javascript2.js +2 -0
  155. package/dist/jsdoc.js.injection.tmLanguage.js +2 -0
  156. package/dist/jsdoc.ts.injection.tmLanguage.js +2 -0
  157. package/dist/json.js +10 -0
  158. package/dist/jsonErrorMessages.js +1 -1
  159. package/dist/julia.js +8 -0
  160. package/dist/julia.tmLanguage.js +2 -0
  161. package/dist/keybindings.d.ts +1 -10
  162. package/dist/keybindings.js +291 -353
  163. package/dist/kimbie-dark-color-theme.js +2 -0
  164. package/dist/language-configuration.js +2 -0
  165. package/dist/language-configuration10.js +2 -0
  166. package/dist/language-configuration11.js +2 -0
  167. package/dist/language-configuration12.js +2 -0
  168. package/dist/language-configuration13.js +2 -0
  169. package/dist/language-configuration14.js +2 -0
  170. package/dist/language-configuration15.js +2 -0
  171. package/dist/language-configuration16.js +2 -0
  172. package/dist/language-configuration17.js +2 -0
  173. package/dist/language-configuration18.js +2 -0
  174. package/dist/language-configuration19.js +2 -0
  175. package/dist/language-configuration2.js +2 -0
  176. package/dist/language-configuration20.js +2 -0
  177. package/dist/language-configuration21.js +2 -0
  178. package/dist/language-configuration22.js +2 -0
  179. package/dist/language-configuration23.js +2 -0
  180. package/dist/language-configuration24.js +2 -0
  181. package/dist/language-configuration25.js +2 -0
  182. package/dist/language-configuration26.js +2 -0
  183. package/dist/language-configuration27.js +2 -0
  184. package/dist/language-configuration28.js +2 -0
  185. package/dist/language-configuration29.js +2 -0
  186. package/dist/language-configuration3.js +2 -0
  187. package/dist/language-configuration30.js +2 -0
  188. package/dist/language-configuration31.js +2 -0
  189. package/dist/language-configuration32.js +2 -0
  190. package/dist/language-configuration33.js +2 -0
  191. package/dist/language-configuration34.js +2 -0
  192. package/dist/language-configuration35.js +2 -0
  193. package/dist/language-configuration36.js +2 -0
  194. package/dist/language-configuration37.js +2 -0
  195. package/dist/language-configuration38.js +2 -0
  196. package/dist/language-configuration39.js +2 -0
  197. package/dist/language-configuration4.js +2 -0
  198. package/dist/language-configuration5.js +2 -0
  199. package/dist/language-configuration6.js +2 -0
  200. package/dist/language-configuration7.js +2 -0
  201. package/dist/language-configuration8.js +2 -0
  202. package/dist/language-configuration9.js +2 -0
  203. package/dist/languageService.js +5 -6
  204. package/dist/languages.d.ts +66 -1
  205. package/dist/languages.js +924 -5
  206. package/dist/latex.js +11 -0
  207. package/dist/layout.contribution.darwin.js +1 -1
  208. package/dist/layout.contribution.linux.js +1 -1
  209. package/dist/layout.contribution.win.js +1 -1
  210. package/dist/layout.js +4 -10
  211. package/dist/layoutService.js +10 -2
  212. package/dist/less.js +8 -0
  213. package/dist/less.tmLanguage.js +2 -0
  214. package/dist/light_plus.js +2 -0
  215. package/dist/light_plus_experimental.js +2 -0
  216. package/dist/light_vs.js +2 -0
  217. package/dist/log.js +7 -0
  218. package/dist/log.tmLanguage.js +2 -0
  219. package/dist/lua.js +8 -0
  220. package/dist/lua.tmLanguage.js +2 -0
  221. package/dist/make.js +8 -0
  222. package/dist/make.tmLanguage.js +2 -0
  223. package/dist/markdown-basics.js +9 -0
  224. package/dist/markdown-latex-combined.tmLanguage.js +2 -0
  225. package/dist/markdown.js +2 -0
  226. package/dist/markdown.tmLanguage.js +2 -0
  227. package/dist/memento.js +91 -0
  228. package/dist/modelEditor.d.ts +1480 -138
  229. package/dist/modelEditor.js +8700 -326
  230. package/dist/monaco.d.ts +987 -15
  231. package/dist/monaco.js +40 -10
  232. package/dist/monokai-color-theme.js +2 -0
  233. package/dist/notifications.js +86 -64
  234. package/dist/objective-c.js +10 -0
  235. package/dist/objective-c.tmLanguage.js +2 -0
  236. package/dist/objective-c__.tmLanguage.js +2 -0
  237. package/dist/perl.js +10 -0
  238. package/dist/perl.language-configuration.js +2 -0
  239. package/dist/perl.tmLanguage.js +2 -0
  240. package/dist/perl6.language-configuration.js +2 -0
  241. package/dist/perl6.tmLanguage.js +2 -0
  242. package/dist/php.js +10 -0
  243. package/dist/php.tmLanguage.js +2 -0
  244. package/dist/php2.js +2 -0
  245. package/dist/platform.js +105 -0
  246. package/dist/platform.tmLanguage.js +2 -0
  247. package/dist/polyfill.js +51922 -11067
  248. package/dist/powershell.js +8 -0
  249. package/dist/powershell.tmLanguage.js +2 -0
  250. package/dist/preferences.js +2532 -0
  251. package/dist/properties.language-configuration.js +2 -0
  252. package/dist/pug.js +8 -0
  253. package/dist/pug.tmLanguage.js +2 -0
  254. package/dist/python.js +9 -0
  255. package/dist/quietlight-color-theme.js +2 -0
  256. package/dist/r.js +8 -0
  257. package/dist/r.tmLanguage.js +2 -0
  258. package/dist/razor.js +8 -0
  259. package/dist/rollup-vsix-plugin.d.ts +8 -0
  260. package/dist/rollup-vsix-plugin.js +104 -0
  261. package/dist/ruby.js +8 -0
  262. package/dist/ruby.tmLanguage.js +2 -0
  263. package/dist/rust.js +8 -0
  264. package/dist/rust.tmLanguage.js +2 -0
  265. package/dist/sassdoc.tmLanguage.js +2 -0
  266. package/dist/scss.js +9 -0
  267. package/dist/scss.tmLanguage.js +2 -0
  268. package/dist/services.d.ts +12988 -12840
  269. package/dist/services.js +1 -1
  270. package/dist/shaderlab.js +8 -0
  271. package/dist/shaderlab.tmLanguage.js +2 -0
  272. package/dist/shell-unix-bash.tmLanguage.js +2 -0
  273. package/dist/shellscript.js +8 -0
  274. package/dist/snippets.js +6 -11
  275. package/dist/snippetsService.js +7 -10
  276. package/dist/solarized-dark-color-theme.js +2 -0
  277. package/dist/solarized-light-color-theme.js +2 -0
  278. package/dist/sql.js +8 -0
  279. package/dist/sql.tmLanguage.js +2 -0
  280. package/dist/swift.js +9 -0
  281. package/dist/swift.tmLanguage.js +2 -0
  282. package/dist/swift2.js +2 -0
  283. package/dist/tags-language-configuration.js +2 -0
  284. package/dist/textmate.d.ts +0 -264
  285. package/dist/textmate.js +402 -66
  286. package/dist/theme-abyss.js +7 -0
  287. package/dist/theme-defaults.js +15 -0
  288. package/dist/theme-kimbie-dark.js +7 -0
  289. package/dist/theme-monokai-dimmed.js +7 -0
  290. package/dist/theme-monokai.js +7 -0
  291. package/dist/theme-quietlight.js +7 -0
  292. package/dist/theme-red.js +7 -0
  293. package/dist/theme-seti.js +7 -0
  294. package/dist/theme-solarized-dark.js +7 -0
  295. package/dist/theme-solarized-light.js +7 -0
  296. package/dist/theme-tomorrow-night-blue.js +7 -0
  297. package/dist/theme.js +6 -11
  298. package/dist/{contextkeys.js → theme2.js} +165 -143
  299. package/dist/tokenClassificationRegistry.js +46 -2
  300. package/dist/tomorrow-night-blue-color-theme.js +2 -0
  301. package/dist/typescript-basics.js +14 -0
  302. package/dist/typescript.js +2 -0
  303. package/dist/unboundCommands.js +41 -0
  304. package/dist/utils.js +345 -0
  305. package/dist/vb.js +9 -0
  306. package/dist/vb2.js +2 -0
  307. package/dist/vs-seti-icon-theme.js +2 -0
  308. package/dist/vs_minimal-icon-theme.js +2 -0
  309. package/dist/xml.js +10 -0
  310. package/dist/xml.language-configuration.js +2 -0
  311. package/dist/xml.tmLanguage.js +2 -0
  312. package/dist/xsl.language-configuration.js +2 -0
  313. package/dist/xsl.tmLanguage.js +2 -0
  314. package/dist/yaml.js +10 -0
  315. package/dist/yaml.tmLanguage.js +2 -0
  316. package/package.json +50 -33
  317. package/dist/async.js +0 -301
  318. package/dist/cancellation.js +0 -3
  319. package/dist/configurationRegistry.js +0 -441
  320. package/dist/extensionResourceLoader.js +0 -96
  321. package/dist/labels.js +0 -14
  322. package/dist/languageConfiguration.js +0 -919
  323. package/dist/missing-services.js +0 -5554
  324. package/dist/resources.js +0 -197
  325. package/dist/services2.js +0 -3467
  326. package/dist/textFileEditorModel.js +0 -2985
  327. package/dist/tokenClassification.d.ts +0 -7
  328. package/dist/tokenClassification.js +0 -277
  329. package/dist/variableResolver.js +0 -1711
  330. package/dist/workbenchThemeService.js +0 -46
  331. package/dist/workspaceContext.js +0 -50
  332. /package/dist/{languageConfiguration.d.ts → preferences.d.ts} +0 -0
@@ -1,5 +1,4 @@
1
1
  import * as monaco from 'monaco-editor';
2
- import * as vscode from 'vscode';
3
2
  import { IGrammar } from 'vscode-textmate';
4
3
 
5
4
  /**
@@ -10,274 +9,11 @@ interface ServiceIdentifier<T> {
10
9
  type: T;
11
10
  }
12
11
 
13
- /**
14
- * An object that performs a cleanup operation when `.dispose()` is called.
15
- *
16
- * Some examples of how disposables are used:
17
- *
18
- * - An event listener that removes itself when `.dispose()` is called.
19
- * - A resource such as a file system watcher that cleans up the resource when `.dispose()` is called.
20
- * - The return value from registering a provider. When `.dispose()` is called, the provider is unregistered.
21
- */
22
- interface IDisposable {
23
- dispose(): void;
24
- }
25
- /**
26
- * Manages a collection of disposable values.
27
- *
28
- * This is the preferred way to manage multiple disposables. A `DisposableStore` is safer to work with than an
29
- * `IDisposable[]` as it considers edge cases, such as registering the same value multiple times or adding an item to a
30
- * store that has already been disposed of.
31
- */
32
- declare class DisposableStore implements IDisposable {
33
- static DISABLE_DISPOSED_WARNING: boolean;
34
- private readonly _toDispose;
35
- private _isDisposed;
36
- constructor();
37
- /**
38
- * Dispose of all registered disposables and mark this object as disposed.
39
- *
40
- * Any future disposables added to this object will be disposed of on `add`.
41
- */
42
- dispose(): void;
43
- /**
44
- * @return `true` if this object has been disposed of.
45
- */
46
- get isDisposed(): boolean;
47
- /**
48
- * Dispose of all registered disposables but do not mark this object as disposed.
49
- */
50
- clear(): void;
51
- /**
52
- * Add a new {@link IDisposable disposable} to the collection.
53
- */
54
- add<T extends IDisposable>(o: T): T;
55
- }
56
-
57
- interface IObservable<T, TChange = void> {
58
- readonly TChange: TChange;
59
- /**
60
- * Reads the current value.
61
- *
62
- * Must not be called from {@link IObserver.handleChange}.
63
- */
64
- get(): T;
65
- /**
66
- * Adds an observer.
67
- */
68
- addObserver(observer: IObserver): void;
69
- removeObserver(observer: IObserver): void;
70
- /**
71
- * Subscribes the reader to this observable and returns the current value of this observable.
72
- */
73
- read(reader: IReader): T;
74
- map<TNew>(fn: (value: T) => TNew): IObservable<TNew>;
75
- readonly debugName: string;
76
- }
77
- interface IReader {
78
- /**
79
- * Reports an observable that was read.
80
- *
81
- * Is called by {@link IObservable.read}.
82
- */
83
- subscribeTo<T>(observable: IObservable<T, any>): void;
84
- }
85
- interface IObserver {
86
- /**
87
- * Indicates that an update operation is about to begin.
88
- *
89
- * During an update, invariants might not hold for subscribed observables and
90
- * change events might be delayed.
91
- * However, all changes must be reported before all update operations are over.
92
- */
93
- beginUpdate<T>(observable: IObservable<T>): void;
94
- /**
95
- * Is called by a subscribed observable immediately after it notices a change.
96
- *
97
- * When {@link IObservable.get} returns and no change has been reported,
98
- * there has been no change for that observable.
99
- *
100
- * Implementations must not call into other observables!
101
- * The change should be processed when {@link IObserver.endUpdate} is called.
102
- */
103
- handleChange<T, TChange>(observable: IObservable<T, TChange>, change: TChange): void;
104
- /**
105
- * Indicates that an update operation has completed.
106
- */
107
- endUpdate<T>(observable: IObservable<T>): void;
108
- }
109
-
110
- /**
111
- * Can be passed into the Delayed to defer using a microtask
112
- * */
113
- declare const MicrotaskDelay: unique symbol;
114
-
115
- /**
116
- * An event with zero or one parameters that can be subscribed to. The event is a function itself.
117
- */
118
- type Event<T> = vscode.Event<T>
119
- declare namespace Event {
120
- const None: Event<any>;
121
- /**
122
- * Given an event, returns another event which debounces calls and defers the listeners to a later task via a shared
123
- * `setTimeout`. The event is converted into a signal (`Event<void>`) to avoid additional object creation as a
124
- * result of merging events and to try prevent race conditions that could arise when using related deferred and
125
- * non-deferred events.
126
- *
127
- * This is useful for deferring non-critical work (eg. general UI updates) to ensure it does not block critical work
128
- * (eg. latency of keypress to text rendered).
129
- *
130
- * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
131
- * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
132
- * returned event causes this utility to leak a listener on the original event.
133
- *
134
- * @param event The event source for the new event.
135
- * @param disposable A disposable store to add the new EventEmitter to.
136
- */
137
- function defer(event: Event<unknown>, disposable?: DisposableStore): Event<void>;
138
- /**
139
- * Given an event, returns another event which only fires once.
140
- *
141
- * @param event The event source for the new event.
142
- */
143
- function once<T>(event: Event<T>): Event<T>;
144
- /**
145
- * Maps an event of one type into an event of another type using a mapping function, similar to how
146
- * `Array.prototype.map` works.
147
- *
148
- * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
149
- * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
150
- * returned event causes this utility to leak a listener on the original event.
151
- *
152
- * @param event The event source for the new event.
153
- * @param map The mapping function.
154
- * @param disposable A disposable store to add the new EventEmitter to.
155
- */
156
- function map<I, O>(event: Event<I>, map: (i: I) => O, disposable?: DisposableStore): Event<O>;
157
- /**
158
- * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
159
- * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
160
- * returned event causes this utility to leak a listener on the original event.
161
- */
162
- function forEach<I>(event: Event<I>, each: (i: I) => void, disposable?: DisposableStore): Event<I>;
163
- /**
164
- * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
165
- * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
166
- * returned event causes this utility to leak a listener on the original event.
167
- */
168
- function filter<T, U>(event: Event<T | U>, filter: (e: T | U) => e is T, disposable?: DisposableStore): Event<T>;
169
- function filter<T>(event: Event<T>, filter: (e: T) => boolean, disposable?: DisposableStore): Event<T>;
170
- function filter<T, R>(event: Event<T | R>, filter: (e: T | R) => e is R, disposable?: DisposableStore): Event<R>;
171
- /**
172
- * Given an event, returns the same event but typed as `Event<void>`.
173
- */
174
- function signal<T>(event: Event<T>): Event<void>;
175
- /**
176
- * Given a collection of events, returns a single event which emits
177
- * whenever any of the provided events emit.
178
- */
179
- function any<T>(...events: Event<T>[]): Event<T>;
180
- function any(...events: Event<any>[]): Event<void>;
181
- /**
182
- * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
183
- * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
184
- * returned event causes this utility to leak a listener on the original event.
185
- */
186
- function reduce<I, O>(event: Event<I>, merge: (last: O | undefined, event: I) => O, initial?: O, disposable?: DisposableStore): Event<O>;
187
- /**
188
- * Given an event, creates a new emitter that event that will debounce events based on {@link delay} and give an
189
- * array event object of all events that fired.
190
- *
191
- * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
192
- * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
193
- * returned event causes this utility to leak a listener on the original event.
194
- *
195
- * @param event The original event to debounce.
196
- * @param merge A function that reduces all events into a single event.
197
- * @param delay The number of milliseconds to debounce.
198
- * @param leading Whether to fire a leading event without debouncing.
199
- * @param flushOnListenerRemove Whether to fire all debounced events when a listener is removed. If this is not
200
- * specified, some events could go missing. Use this if it's important that all events are processed, even if the
201
- * listener gets disposed before the debounced event fires.
202
- * @param leakWarningThreshold See {@link EmitterOptions.leakWarningThreshold}.
203
- * @param disposable A disposable store to register the debounce emitter to.
204
- */
205
- function debounce<T>(event: Event<T>, merge: (last: T | undefined, event: T) => T, delay?: number | typeof MicrotaskDelay, leading?: boolean, flushOnListenerRemove?: boolean, leakWarningThreshold?: number, disposable?: DisposableStore): Event<T>;
206
- function debounce<I, O>(event: Event<I>, merge: (last: O | undefined, event: I) => O, delay?: number | typeof MicrotaskDelay, leading?: boolean, flushOnListenerRemove?: boolean, leakWarningThreshold?: number, disposable?: DisposableStore): Event<O>;
207
- /**
208
- * Debounces an event, firing after some delay (default=0) with an array of all event original objects.
209
- *
210
- * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
211
- * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
212
- * returned event causes this utility to leak a listener on the original event.
213
- */
214
- function accumulate<T>(event: Event<T>, delay?: number, disposable?: DisposableStore): Event<T[]>;
215
- /**
216
- * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
217
- * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
218
- * returned event causes this utility to leak a listener on the original event.
219
- */
220
- function latch<T>(event: Event<T>, equals?: (a: T, b: T) => boolean, disposable?: DisposableStore): Event<T>;
221
- /**
222
- * Splits an event whose parameter is a union type into 2 separate events for each type in the union.
223
- *
224
- * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
225
- * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
226
- * returned event causes this utility to leak a listener on the original event.
227
- *
228
- * @example
229
- * ```
230
- * const event = new EventEmitter<number | undefined>().event;
231
- * const [numberEvent, undefinedEvent] = Event.split(event, isUndefined);
232
- * ```
233
- *
234
- * @param event The event source for the new event.
235
- * @param isT A function that determines what event is of the first type.
236
- * @param disposable A disposable store to add the new EventEmitter to.
237
- */
238
- function split<T, U>(event: Event<T | U>, isT: (e: T | U) => e is T, disposable?: DisposableStore): [Event<T>, Event<U>];
239
- /**
240
- * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
241
- * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
242
- * returned event causes this utility to leak a listener on the original event.
243
- */
244
- function buffer<T>(event: Event<T>, flushAfterTimeout?: boolean, _buffer?: T[]): Event<T>;
245
- interface IChainableEvent<T> extends IDisposable {
246
- event: Event<T>;
247
- map<O>(fn: (i: T) => O): IChainableEvent<O>;
248
- forEach(fn: (i: T) => void): IChainableEvent<T>;
249
- filter(fn: (e: T) => boolean): IChainableEvent<T>;
250
- filter<R>(fn: (e: T | R) => e is R): IChainableEvent<R>;
251
- reduce<R>(merge: (last: R | undefined, event: T) => R, initial?: R): IChainableEvent<R>;
252
- latch(): IChainableEvent<T>;
253
- debounce(merge: (last: T | undefined, event: T) => T, delay?: number, leading?: boolean, flushOnListenerRemove?: boolean, leakWarningThreshold?: number): IChainableEvent<T>;
254
- debounce<R>(merge: (last: R | undefined, event: T) => R, delay?: number, leading?: boolean, flushOnListenerRemove?: boolean, leakWarningThreshold?: number): IChainableEvent<R>;
255
- on(listener: (e: T) => any, thisArgs?: any, disposables?: IDisposable[] | DisposableStore): IDisposable;
256
- once(listener: (e: T) => any, thisArgs?: any, disposables?: IDisposable[]): IDisposable;
257
- }
258
- function chain<T>(event: Event<T>): IChainableEvent<T>;
259
- interface NodeEventEmitter {
260
- on(event: string | symbol, listener: Function): unknown;
261
- removeListener(event: string | symbol, listener: Function): unknown;
262
- }
263
- function fromNodeEventEmitter<T>(emitter: NodeEventEmitter, eventName: string, map?: (...args: any[]) => T): Event<T>;
264
- interface DOMEventEmitter {
265
- addEventListener(event: string | symbol, listener: Function): void;
266
- removeEventListener(event: string | symbol, listener: Function): void;
267
- }
268
- function fromDOMEventEmitter<T>(emitter: DOMEventEmitter, eventName: string, map?: (...args: any[]) => T): Event<T>;
269
- function toPromise<T>(event: Event<T>): Promise<T>;
270
- function runAndSubscribe<T>(event: Event<T>, handler: (e: T | undefined) => any): IDisposable;
271
- function runAndSubscribeWithStore<T>(event: Event<T>, handler: (e: T | undefined, disposableStore: DisposableStore) => any): IDisposable;
272
- function fromObservable<T>(obs: IObservable<T, any>, store?: DisposableStore): Event<T>;
273
- }
274
-
275
12
  type IEditorOverrideServices = monaco.editor.IEditorOverrideServices
276
13
 
277
14
  declare const ITextMateTokenizationService: ServiceIdentifier<ITextMateTokenizationService>;
278
15
  interface ITextMateTokenizationService {
279
16
  readonly _serviceBrand: undefined;
280
- onDidEncounterLanguage: Event<string>;
281
17
  createGrammar(languageId: string): Promise<IGrammar | null>;
282
18
  startDebugMode(printFn: (str: string) => void, onStop: () => void): void;
283
19
  }