@journeyapps-labs/reactor-mod-editor 1.0.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 (170) hide show
  1. package/README.md +10 -0
  2. package/dist/@types/EditorModule.d.ts +7 -0
  3. package/dist/@types/MonacoCommandPalletSearchEngine.d.ts +21 -0
  4. package/dist/@types/actions/ChangeEditorThemeAction.d.ts +9 -0
  5. package/dist/@types/index.d.ts +16 -0
  6. package/dist/@types/languages/languages.d.ts +39 -0
  7. package/dist/@types/languages/logs.d.ts +3 -0
  8. package/dist/@types/providers/EditorThemeProvider.d.ts +14 -0
  9. package/dist/@types/settings/StoredThemesSettings.d.ts +13 -0
  10. package/dist/@types/settings/VimSupportSetting.d.ts +7 -0
  11. package/dist/@types/shortcuts/MonacoShortcut.d.ts +9 -0
  12. package/dist/@types/shortcuts/MonacoShortcutHandler.d.ts +17 -0
  13. package/dist/@types/shortcuts/MonacoShortcutMap.d.ts +83 -0
  14. package/dist/@types/stores/MonacoStore.d.ts +38 -0
  15. package/dist/@types/stores/MonacoThemeStore.d.ts +34 -0
  16. package/dist/@types/stores/keybindings/KeybindingsRegistry.d.ts +46 -0
  17. package/dist/@types/stores/keybindings/MonacoKeybindingStore.d.ts +27 -0
  18. package/dist/@types/stores/keybindings/definitions.d.ts +21 -0
  19. package/dist/@types/stores/keybindings/utils.d.ts +2 -0
  20. package/dist/@types/theme/EditorThemePreferencesWidget.d.ts +26 -0
  21. package/dist/@types/theme/SmartEditorThemePreferencesWidget.d.ts +8 -0
  22. package/dist/@types/theme/UploadVSIXThemeBtnWidget.d.ts +12 -0
  23. package/dist/@types/theme/patchThemeService.d.ts +9 -0
  24. package/dist/@types/theme/theme-utils.d.ts +61 -0
  25. package/dist/@types/theme-reactor/editor-theme-fragment.d.ts +41 -0
  26. package/dist/@types/utils/paths.d.ts +23 -0
  27. package/dist/@types/utils/useEditorStickyHeader.d.ts +8 -0
  28. package/dist/@types/widgets/DualEditorWidget.d.ts +7 -0
  29. package/dist/@types/widgets/EditorWidget.d.ts +15 -0
  30. package/dist/@types/widgets/MonacoEditorWidget.d.ts +10 -0
  31. package/dist/@types/widgets/SimpleEditorWidget.d.ts +8 -0
  32. package/dist/EditorModule.js +73 -0
  33. package/dist/EditorModule.js.map +1 -0
  34. package/dist/MonacoCommandPalletSearchEngine.js +52 -0
  35. package/dist/MonacoCommandPalletSearchEngine.js.map +1 -0
  36. package/dist/actions/ChangeEditorThemeAction.js +43 -0
  37. package/dist/actions/ChangeEditorThemeAction.js.map +1 -0
  38. package/dist/index.js +33 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/languages/languages.js +155 -0
  41. package/dist/languages/languages.js.map +1 -0
  42. package/dist/languages/logs.js +110 -0
  43. package/dist/languages/logs.js.map +1 -0
  44. package/dist/providers/EditorThemeProvider.js +26 -0
  45. package/dist/providers/EditorThemeProvider.js.map +1 -0
  46. package/dist/settings/StoredThemesSettings.js +45 -0
  47. package/dist/settings/StoredThemesSettings.js.map +1 -0
  48. package/dist/settings/VimSupportSetting.js +19 -0
  49. package/dist/settings/VimSupportSetting.js.map +1 -0
  50. package/dist/shortcuts/MonacoShortcut.js +27 -0
  51. package/dist/shortcuts/MonacoShortcut.js.map +1 -0
  52. package/dist/shortcuts/MonacoShortcutHandler.js +119 -0
  53. package/dist/shortcuts/MonacoShortcutHandler.js.map +1 -0
  54. package/dist/shortcuts/MonacoShortcutMap.js +84 -0
  55. package/dist/shortcuts/MonacoShortcutMap.js.map +1 -0
  56. package/dist/stores/MonacoStore.js +119 -0
  57. package/dist/stores/MonacoStore.js.map +1 -0
  58. package/dist/stores/MonacoThemeStore.js +143 -0
  59. package/dist/stores/MonacoThemeStore.js.map +1 -0
  60. package/dist/stores/keybindings/KeybindingsRegistry.js +131 -0
  61. package/dist/stores/keybindings/KeybindingsRegistry.js.map +1 -0
  62. package/dist/stores/keybindings/MonacoKeybindingStore.js +105 -0
  63. package/dist/stores/keybindings/MonacoKeybindingStore.js.map +1 -0
  64. package/dist/stores/keybindings/definitions.js +5 -0
  65. package/dist/stores/keybindings/definitions.js.map +1 -0
  66. package/dist/stores/keybindings/utils.js +12 -0
  67. package/dist/stores/keybindings/utils.js.map +1 -0
  68. package/dist/theme/EditorThemePreferencesWidget.js +160 -0
  69. package/dist/theme/EditorThemePreferencesWidget.js.map +1 -0
  70. package/dist/theme/SmartEditorThemePreferencesWidget.js +62 -0
  71. package/dist/theme/SmartEditorThemePreferencesWidget.js.map +1 -0
  72. package/dist/theme/UploadVSIXThemeBtnWidget.js +93 -0
  73. package/dist/theme/UploadVSIXThemeBtnWidget.js.map +1 -0
  74. package/dist/theme/patchThemeService.js +146 -0
  75. package/dist/theme/patchThemeService.js.map +1 -0
  76. package/dist/theme/theme-utils.js +65 -0
  77. package/dist/theme/theme-utils.js.map +1 -0
  78. package/dist/theme-reactor/editor-theme-fragment.js +70 -0
  79. package/dist/theme-reactor/editor-theme-fragment.js.map +1 -0
  80. package/dist/tsconfig.tsbuildinfo +1 -0
  81. package/dist/utils/paths.js +110 -0
  82. package/dist/utils/paths.js.map +1 -0
  83. package/dist/utils/useEditorStickyHeader.js +45 -0
  84. package/dist/utils/useEditorStickyHeader.js.map +1 -0
  85. package/dist/widgets/DualEditorWidget.js +79 -0
  86. package/dist/widgets/DualEditorWidget.js.map +1 -0
  87. package/dist/widgets/EditorWidget.js +85 -0
  88. package/dist/widgets/EditorWidget.js.map +1 -0
  89. package/dist/widgets/MonacoEditorWidget.js +29 -0
  90. package/dist/widgets/MonacoEditorWidget.js.map +1 -0
  91. package/dist/widgets/SimpleEditorWidget.js +71 -0
  92. package/dist/widgets/SimpleEditorWidget.js.map +1 -0
  93. package/dist-module/00a5102416a37050fa62.tmLanguage +1282 -0
  94. package/dist-module/092ac75109eb363dd826.tmLanguage +424 -0
  95. package/dist-module/100.bundle.js +1 -0
  96. package/dist-module/116.bundle.js +1 -0
  97. package/dist-module/173.bundle.js +1 -0
  98. package/dist-module/179.bundle.js +1 -0
  99. package/dist-module/18358219dee0ad14cc0c.tmLanguage +765 -0
  100. package/dist-module/195.bundle.js +1 -0
  101. package/dist-module/277.bundle.js +1 -0
  102. package/dist-module/299.bundle.js +1 -0
  103. package/dist-module/306.bundle.js +1 -0
  104. package/dist-module/344.bundle.js +1 -0
  105. package/dist-module/399345f371a7cb9eb1ba.tmLanguage +629 -0
  106. package/dist-module/404.bundle.js +4 -0
  107. package/dist-module/404.bundle.js.LICENSE.txt +6 -0
  108. package/dist-module/404.bundle.js.map +1 -0
  109. package/dist-module/43.bundle.js +1 -0
  110. package/dist-module/438.bundle.js +3 -0
  111. package/dist-module/438.bundle.js.map +1 -0
  112. package/dist-module/479.bundle.js +1 -0
  113. package/dist-module/491.bundle.js +1 -0
  114. package/dist-module/513.bundle.js +1 -0
  115. package/dist-module/549.bundle.js +1 -0
  116. package/dist-module/5e221c90a0dcbd4af855.tmLanguage +237 -0
  117. package/dist-module/6486a2df9ca5896c2cb6.tmLanguage +5739 -0
  118. package/dist-module/65.bundle.js +1 -0
  119. package/dist-module/66.bundle.js +1 -0
  120. package/dist-module/685.bundle.js +1 -0
  121. package/dist-module/6e3d5ec6699a8d147d29.wasm +0 -0
  122. package/dist-module/7.bundle.js +1 -0
  123. package/dist-module/703774d50b4d4526a465.tmLanguage +386 -0
  124. package/dist-module/717.bundle.js +2 -0
  125. package/dist-module/728.bundle.js +1 -0
  126. package/dist-module/77a7afbe329083ed0f59.tmLanguage +1183 -0
  127. package/dist-module/78.bundle.js +1 -0
  128. package/dist-module/829.bundle.js +1 -0
  129. package/dist-module/831968f77a9412d07cc2.tmLanguage +506 -0
  130. package/dist-module/862.bundle.js +1 -0
  131. package/dist-module/87.bundle.js +1 -0
  132. package/dist-module/923.bundle.js +1 -0
  133. package/dist-module/931.bundle.js +1 -0
  134. package/dist-module/933.bundle.js +3 -0
  135. package/dist-module/933.bundle.js.map +1 -0
  136. package/dist-module/970.bundle.js +1 -0
  137. package/dist-module/984.bundle.js +1 -0
  138. package/dist-module/992.bundle.js +1 -0
  139. package/dist-module/996.bundle.js +1 -0
  140. package/dist-module/9c8494157d226e95da5e.tmLanguage +1377 -0
  141. package/dist-module/a3e215de85a86294de8a.tmLanguage +385 -0
  142. package/dist-module/ba5650c2a0269a236153.tmLanguage +9349 -0
  143. package/dist-module/bundle.js +97 -0
  144. package/dist-module/bundle.js.LICENSE.txt +27 -0
  145. package/dist-module/bundle.js.map +1 -0
  146. package/dist-module/editor.worker.bundle.js +1 -0
  147. package/dist-module/f6283f7ccaed1249d9eb.ttf +0 -0
  148. package/dist-module/json.worker.bundle.js +2 -0
  149. package/dist-module/json.worker.bundle.js.LICENSE.txt +6 -0
  150. package/dist-module/yaml.worker.bundle.js +1 -0
  151. package/media/css.tmLanguage +1183 -0
  152. package/media/handlebars.tmLanguage +1282 -0
  153. package/media/html.tmLanguage +506 -0
  154. package/media/javascript.tmLanguage +5739 -0
  155. package/media/json.tmLanguage +386 -0
  156. package/media/jxml.tmLanguage +424 -0
  157. package/media/markdown.tmLanguage +1377 -0
  158. package/media/regularExpressions.tmLanguage +237 -0
  159. package/media/sql.tmLanguage +765 -0
  160. package/media/themes/ayu-light.json5 +847 -0
  161. package/media/themes/ayu-mirage.json5 +846 -0
  162. package/media/themes/journey.json5 +1061 -0
  163. package/media/themes/oxide.json5 +579 -0
  164. package/media/themes/reactor.json5 +775 -0
  165. package/media/themes/scarlet.json5 +836 -0
  166. package/media/typescript.tmLanguage +9349 -0
  167. package/media/xml.tmLanguage +385 -0
  168. package/media/yaml.tmLanguage +629 -0
  169. package/package.json +45 -0
  170. package/reactor.config.json +4 -0
package/README.md ADDED
@@ -0,0 +1,10 @@
1
+ # Module editor
2
+
3
+ Make sure to put this in any modules that will need monaco (in the custom webpack.config.js):
4
+
5
+ ```js
6
+ webpack = patchImportedLibrary({
7
+ "w": webpack,
8
+ "module": 'monaco-editor'
9
+ })
10
+ ```
@@ -0,0 +1,7 @@
1
+ import { AbstractReactorModule } from '@journeyapps-labs/reactor-mod';
2
+ import { Container } from '@journeyapps-labs/lib-ioc';
3
+ export declare class EditorModule extends AbstractReactorModule {
4
+ constructor();
5
+ register(ioc: Container): void;
6
+ init(ioc: Container): Promise<any>;
7
+ }
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import { MonacoShortcut } from './shortcuts/MonacoShortcut';
3
+ import { CMDPalletSearchEngine, CMDPalletSearchEngineResult, CommandPalletSearchResultEntry, MousePosition } from '@journeyapps-labs/reactor-mod';
4
+ import * as monaco from 'monaco-editor';
5
+ import { MonacoShortcutHandler } from './shortcuts/MonacoShortcutHandler';
6
+ import { MonacoKeybindingStore } from './stores/keybindings/MonacoKeybindingStore';
7
+ import { SearchEvent } from '@journeyapps-labs/lib-reactor-search';
8
+ export interface CMDPalletMonacoActionSearchEntry extends CommandPalletSearchResultEntry {
9
+ action: monaco.editor.IEditorAction;
10
+ }
11
+ export interface MonacoCommandPalletSearchEngineOptions {
12
+ keybindingStore: MonacoKeybindingStore;
13
+ handler: MonacoShortcutHandler;
14
+ }
15
+ export declare class MonacoCommandPalletSearchEngine extends CMDPalletSearchEngine<CMDPalletMonacoActionSearchEntry> {
16
+ protected options2: MonacoCommandPalletSearchEngineOptions;
17
+ constructor(options2: MonacoCommandPalletSearchEngineOptions);
18
+ getShortcuts(action: MonacoShortcut): React.JSX.Element;
19
+ doSearch(event: SearchEvent): CMDPalletSearchEngineResult<CMDPalletMonacoActionSearchEntry>;
20
+ handleSelection(entry: CMDPalletMonacoActionSearchEntry, event: MousePosition): Promise<boolean>;
21
+ }
@@ -0,0 +1,9 @@
1
+ import { EntityAction, EntityActionEvent } from '@journeyapps-labs/reactor-mod';
2
+ import { EditorTheme, MonacoThemeStore } from '../stores/MonacoThemeStore';
3
+ export declare class ChangeEditorThemeAction extends EntityAction<EditorTheme> {
4
+ static NAME: string;
5
+ accessor reactorThemeStore: MonacoThemeStore;
6
+ constructor();
7
+ protected fireEvent(event: EntityActionEvent<EditorTheme>): Promise<any>;
8
+ static get(): ChangeEditorThemeAction;
9
+ }
@@ -0,0 +1,16 @@
1
+ import { EditorModule } from './EditorModule';
2
+ export * from './languages/logs';
3
+ export * from './languages/languages';
4
+ export * from './widgets/EditorWidget';
5
+ export * from './widgets/DualEditorWidget';
6
+ export * from './widgets/SimpleEditorWidget';
7
+ export * from './theme/theme-utils';
8
+ export * from './shortcuts/MonacoShortcutHandler';
9
+ export * from './shortcuts/MonacoShortcut';
10
+ export * from './stores/MonacoStore';
11
+ export * from './stores/MonacoThemeStore';
12
+ export * from './EditorModule';
13
+ export * from './theme-reactor/editor-theme-fragment';
14
+ export * from './utils/paths';
15
+ export * from './utils/useEditorStickyHeader';
16
+ export default EditorModule;
@@ -0,0 +1,39 @@
1
+ import * as monaco from 'monaco-editor';
2
+ export declare enum MonacoLanguages {
3
+ JSON = "json",
4
+ JAVASCRIPT = "javascript",
5
+ XML = "xml",
6
+ JXML = "jxml",
7
+ HTML = "html",
8
+ CSS = "css",
9
+ YAML = "yaml",
10
+ MARKDOWN = "markdown",
11
+ SQL = "sql",
12
+ TS = "typescript",
13
+ HANDLEBARS = "handlebars"
14
+ }
15
+ export declare enum MonacoLanguageScopes {
16
+ JAVASCRIPT = "source.js",
17
+ XML = "text.xml",
18
+ JXML = "text.jxml",
19
+ JSON = "source.json",
20
+ HTML = "text.html.basic",
21
+ CSS = "source.css",
22
+ YAML = "source.yaml",
23
+ MARKDOWN = "text.html.markdown",
24
+ SQL = "source.sql",
25
+ TS = "source.ts",
26
+ REGEX = "source.js.regexp",
27
+ HANDLEBARS = "handlebars.html"
28
+ }
29
+ export interface GrammerMappingEntry {
30
+ format: 'json' | 'plist';
31
+ url: string;
32
+ monaco?: MonacoLanguages;
33
+ language?: Partial<monaco.languages.ILanguageExtensionPoint>;
34
+ hook?: () => any;
35
+ }
36
+ export interface GrammerMappingType {
37
+ [key: string]: GrammerMappingEntry;
38
+ }
39
+ export declare const GrammerMapping: GrammerMappingType;
@@ -0,0 +1,3 @@
1
+ import * as monaco from 'monaco-editor';
2
+ import ILanguage = monaco.languages.IMonarchLanguage;
3
+ export declare const LOGS_LANGUAGE: ILanguage;
@@ -0,0 +1,14 @@
1
+ import { SimpleProvider, SerializedEntity } from '@journeyapps-labs/reactor-mod';
2
+ import { EditorTheme, MonacoThemeStore } from '../stores/MonacoThemeStore';
3
+ import { SearchEvent } from '@journeyapps-labs/lib-reactor-search';
4
+ export interface SerializedEditorTheme extends SerializedEntity {
5
+ themeID: string;
6
+ }
7
+ export declare class EditorThemeProvider extends SimpleProvider<EditorTheme, SerializedEditorTheme> {
8
+ static TYPE: string;
9
+ themeStore: MonacoThemeStore;
10
+ constructor(store: MonacoThemeStore);
11
+ serialize(entity: EditorTheme): SerializedEditorTheme;
12
+ deserialize(entity: SerializedEditorTheme): Promise<EditorTheme>;
13
+ getEntities(event: SearchEvent): Promise<EditorTheme[]>;
14
+ }
@@ -0,0 +1,13 @@
1
+ import { AbstractSetting } from '@journeyapps-labs/reactor-mod';
2
+ import { IObservableArray } from 'mobx';
3
+ import { EditorTheme } from '../stores/MonacoThemeStore';
4
+ export declare class StoredThemesSettings extends AbstractSetting {
5
+ static KEY: string;
6
+ accessor themes: IObservableArray<EditorTheme>;
7
+ constructor();
8
+ reset(): void;
9
+ protected serialize(): {
10
+ items: IObservableArray<EditorTheme>;
11
+ };
12
+ protected deserialize(data: any): void;
13
+ }
@@ -0,0 +1,7 @@
1
+ import { BooleanSetting } from '@journeyapps-labs/reactor-mod';
2
+ export declare class EnableVimSetting extends BooleanSetting {
3
+ static KEY: string;
4
+ constructor();
5
+ static enabled(): boolean;
6
+ static get(): EnableVimSetting;
7
+ }
@@ -0,0 +1,9 @@
1
+ import { Shortcut, ShortcutChord } from '@journeyapps-labs/reactor-mod';
2
+ import { MonacoShortcutHandler } from './MonacoShortcutHandler';
3
+ import { MonacoStoreAction } from '../stores/keybindings/definitions';
4
+ export declare class MonacoShortcut extends Shortcut<MonacoShortcutHandler> {
5
+ dispose(): void;
6
+ getMonacoStoreAction(): MonacoStoreAction;
7
+ getAsMonacoPrimitive(primary: boolean): any;
8
+ setChord(chord: ShortcutChord, fire?: boolean): void;
9
+ }
@@ -0,0 +1,17 @@
1
+ import { ShortcutHandler, ShortcutHandlerAction, ShortcutHandlerSerialized, ShortcutKey } from '@journeyapps-labs/reactor-mod';
2
+ import { MonacoShortcut } from './MonacoShortcut';
3
+ import { MonacoKeybindingStore } from '../stores/keybindings/MonacoKeybindingStore';
4
+ import { Keybinding } from '../stores/keybindings/definitions';
5
+ export interface MonacoShortcutHandlerOptions {
6
+ keybindingStore: MonacoKeybindingStore;
7
+ }
8
+ export declare class MonacoShortcutHandler extends ShortcutHandler<MonacoShortcut> {
9
+ protected options2: MonacoShortcutHandlerOptions;
10
+ constructor(options2: MonacoShortcutHandlerOptions);
11
+ get store(): MonacoKeybindingStore;
12
+ deserialize(data: ShortcutHandlerSerialized): Promise<void>;
13
+ getMetaForAction(id: string): ShortcutHandlerAction<MonacoShortcutHandler>;
14
+ getPossibleActions(): ShortcutHandlerAction<MonacoShortcutHandler>[];
15
+ getShortcutKeys(item: Keybinding, primary: boolean): ShortcutKey[];
16
+ generateShortcut(data: ShortcutHandlerAction<MonacoShortcutHandler>): MonacoShortcut;
17
+ }
@@ -0,0 +1,83 @@
1
+ import * as monaco from 'monaco-editor';
2
+ import * as _ from 'lodash';
3
+ export declare const MonacoMap: {
4
+ Backspace: monaco.KeyCode;
5
+ Tab: monaco.KeyCode;
6
+ Enter: monaco.KeyCode;
7
+ Shift: monaco.KeyCode;
8
+ ' ': monaco.KeyCode;
9
+ ArrowUp: monaco.KeyCode;
10
+ ArrowLeft: monaco.KeyCode;
11
+ ArrowRight: monaco.KeyCode;
12
+ ArrowDown: monaco.KeyCode;
13
+ Delete: monaco.KeyCode;
14
+ Escape: monaco.KeyCode;
15
+ '[': monaco.KeyCode;
16
+ ']': monaco.KeyCode;
17
+ '0': monaco.KeyCode;
18
+ '1': monaco.KeyCode;
19
+ '2': monaco.KeyCode;
20
+ '3': monaco.KeyCode;
21
+ '4': monaco.KeyCode;
22
+ '5': monaco.KeyCode;
23
+ '6': monaco.KeyCode;
24
+ '7': monaco.KeyCode;
25
+ '8': monaco.KeyCode;
26
+ '9': monaco.KeyCode;
27
+ a: monaco.KeyCode;
28
+ b: monaco.KeyCode;
29
+ c: monaco.KeyCode;
30
+ d: monaco.KeyCode;
31
+ e: monaco.KeyCode;
32
+ f: monaco.KeyCode;
33
+ g: monaco.KeyCode;
34
+ h: monaco.KeyCode;
35
+ i: monaco.KeyCode;
36
+ j: monaco.KeyCode;
37
+ k: monaco.KeyCode;
38
+ l: monaco.KeyCode;
39
+ m: monaco.KeyCode;
40
+ n: monaco.KeyCode;
41
+ o: monaco.KeyCode;
42
+ p: monaco.KeyCode;
43
+ q: monaco.KeyCode;
44
+ r: monaco.KeyCode;
45
+ s: monaco.KeyCode;
46
+ t: monaco.KeyCode;
47
+ u: monaco.KeyCode;
48
+ v: monaco.KeyCode;
49
+ w: monaco.KeyCode;
50
+ x: monaco.KeyCode;
51
+ y: monaco.KeyCode;
52
+ z: monaco.KeyCode;
53
+ F1: monaco.KeyCode;
54
+ F2: monaco.KeyCode;
55
+ F3: monaco.KeyCode;
56
+ F4: monaco.KeyCode;
57
+ F5: monaco.KeyCode;
58
+ F6: monaco.KeyCode;
59
+ F7: monaco.KeyCode;
60
+ F8: monaco.KeyCode;
61
+ F9: monaco.KeyCode;
62
+ F10: monaco.KeyCode;
63
+ F11: monaco.KeyCode;
64
+ F12: monaco.KeyCode;
65
+ F13: monaco.KeyCode;
66
+ F14: monaco.KeyCode;
67
+ F15: monaco.KeyCode;
68
+ F16: monaco.KeyCode;
69
+ F17: monaco.KeyCode;
70
+ F18: monaco.KeyCode;
71
+ F19: monaco.KeyCode;
72
+ '.': monaco.KeyCode;
73
+ ',': monaco.KeyCode;
74
+ '\\': monaco.KeyCode;
75
+ '/': monaco.KeyCode;
76
+ PageUp: monaco.KeyCode;
77
+ PageDown: monaco.KeyCode;
78
+ Home: monaco.KeyCode;
79
+ End: monaco.KeyCode;
80
+ '-': monaco.KeyCode;
81
+ '=': monaco.KeyCode;
82
+ };
83
+ export declare const MonacoMapInverted: _.Dictionary<string>;
@@ -0,0 +1,38 @@
1
+ import * as monaco from 'monaco-editor';
2
+ import { GrammerMappingEntry, GrammerMappingType, MonacoLanguages } from '../languages/languages';
3
+ import { AbstractStore, AbstractStoreListener } from '@journeyapps-labs/reactor-mod';
4
+ export interface MonacoEditorType extends monaco.editor.IStandaloneCodeEditor {
5
+ _standaloneKeybindingService: {
6
+ updateResolver(): any;
7
+ };
8
+ _actions: Map<string, {
9
+ id: string;
10
+ label: string;
11
+ }>;
12
+ _commandService: {
13
+ executeCommand(id: string, ...args: any[]): Promise<any>;
14
+ };
15
+ }
16
+ export interface MonacoStoreListener extends AbstractStoreListener {
17
+ gotEditor: (editor: MonacoEditorType) => any;
18
+ }
19
+ export declare class MonacoStore extends AbstractStore<void, MonacoStoreListener> {
20
+ editors: {
21
+ [id: string]: MonacoEditorType;
22
+ };
23
+ focusedEditor: MonacoEditorType;
24
+ languages: GrammerMappingType;
25
+ enabledLanguages: MonacoLanguages[];
26
+ constructor();
27
+ registerLanguage(key: string, language: GrammerMappingEntry): void;
28
+ enableLanguages(languages: MonacoLanguages[]): void;
29
+ getLanguage(languageID: MonacoLanguages): GrammerMappingEntry;
30
+ getLanguageScope(languageID: MonacoLanguages): string;
31
+ init(): Promise<boolean>;
32
+ createHeadlessEditorInstance(): Promise<{
33
+ editor: MonacoEditorType;
34
+ dispose: () => any;
35
+ }>;
36
+ registerEditor(editor: MonacoEditorType): void;
37
+ deregisterEditor(editor: monaco.editor.IEditor): void;
38
+ }
@@ -0,0 +1,34 @@
1
+ import { VSIXTheme } from '../theme/theme-utils';
2
+ import { AbstractStore, ProviderControl, ProviderControlOptions } from '@journeyapps-labs/reactor-mod';
3
+ import * as monaco from 'monaco-editor';
4
+ import { StoredThemesSettings } from '../settings/StoredThemesSettings';
5
+ export interface EditorTheme {
6
+ label: string;
7
+ theme: monaco.editor.IStandaloneThemeData;
8
+ key: string;
9
+ system: boolean;
10
+ compatibility: boolean;
11
+ }
12
+ export declare class EditorThemeControl extends ProviderControl<EditorTheme> {
13
+ store: MonacoThemeStore;
14
+ constructor(options: ProviderControlOptions<EditorTheme>, store: MonacoThemeStore);
15
+ reset(): Promise<void>;
16
+ }
17
+ export declare class MonacoThemeStore extends AbstractStore {
18
+ selectedTheme: ProviderControl<EditorTheme>;
19
+ storedThemes: StoredThemesSettings;
20
+ additionalThemes: Map<string, string>;
21
+ constructor();
22
+ clone(): EditorTheme;
23
+ patchTheme(editorTheme: EditorTheme): void;
24
+ deleteTheme(editorTheme: EditorTheme): void;
25
+ addTheme(theme: VSIXTheme): void;
26
+ getMonacoThemeForReactorTheme(theme: string): EditorTheme;
27
+ getSystemThemes(): {
28
+ [key: string]: EditorTheme;
29
+ };
30
+ getTheme(key: string): Promise<EditorTheme>;
31
+ getThemes(): {
32
+ [key: string]: EditorTheme;
33
+ };
34
+ }
@@ -0,0 +1,46 @@
1
+ import { ContextKey, Keybinding } from './definitions';
2
+ import * as _ from 'lodash';
3
+ import { BaseObserver } from '@journeyapps-labs/lib-reactor-utils';
4
+ export interface ResolvedKeybindingItem {
5
+ command: string;
6
+ keybinding: Keybinding;
7
+ when: ContextKey;
8
+ }
9
+ export interface CommandBindingsListener {
10
+ updated: () => any;
11
+ }
12
+ export declare abstract class CommandBindings extends BaseObserver<CommandBindingsListener> {
13
+ protected custom: Keybinding[];
14
+ constructor();
15
+ updated(): void;
16
+ abstract serialize(): ResolvedKeybindingItem[];
17
+ abstract getDefaults(): Keybinding[];
18
+ addKeybinding(binding: Keybinding): void;
19
+ deleteKeybinding(binding: Keybinding): void;
20
+ }
21
+ export declare class CustomCommandBindings extends CommandBindings {
22
+ protected command: string;
23
+ constructor(command: string);
24
+ serialize(): ResolvedKeybindingItem[];
25
+ getDefaults(): Keybinding[];
26
+ }
27
+ export declare class ExistingCommandBindings extends CommandBindings {
28
+ protected command: string;
29
+ defaults: ResolvedKeybindingItem[];
30
+ touched: boolean;
31
+ constructor(command: string, defaults: ResolvedKeybindingItem[]);
32
+ addKeybinding(binding: Keybinding): void;
33
+ deleteKeybinding(binding: Keybinding): void;
34
+ serialize(): ResolvedKeybindingItem[];
35
+ getDefaults(): Keybinding[];
36
+ }
37
+ export interface KeybindingsRegistryListener {
38
+ saved: () => any;
39
+ }
40
+ export declare class KeybindingsRegistry extends BaseObserver<KeybindingsRegistryListener> {
41
+ map: Map<string, CommandBindings>;
42
+ constructor();
43
+ getCommandKeybinding(id: string): CommandBindings;
44
+ load(): void;
45
+ save: _.DebouncedFunc<() => void>;
46
+ }
@@ -0,0 +1,27 @@
1
+ import * as _ from 'lodash';
2
+ import { KeyCodeChord, MonacoStoreAction } from './definitions';
3
+ import { MonacoEditorType, MonacoStore } from '../MonacoStore';
4
+ import { AbstractStore, CMDPalletStore } from '@journeyapps-labs/reactor-mod';
5
+ import { KeybindingsRegistry } from './KeybindingsRegistry';
6
+ export interface PatchActionOperation {
7
+ action: MonacoStoreAction;
8
+ binding: KeyCodeChord;
9
+ binding2: KeyCodeChord;
10
+ }
11
+ export interface MonacoKeybindingStoreOptions {
12
+ editorStore: MonacoStore;
13
+ cmdPaletteStore: CMDPalletStore;
14
+ }
15
+ export declare class MonacoKeybindingStore extends AbstractStore {
16
+ protected options2: MonacoKeybindingStoreOptions;
17
+ actions: MonacoStoreAction[];
18
+ focusedEditor: MonacoEditorType;
19
+ keybindingRegistry: KeybindingsRegistry;
20
+ constructor(options2: MonacoKeybindingStoreOptions);
21
+ protected _init(): Promise<void>;
22
+ getActionFromID(id: string): MonacoStoreAction;
23
+ getContextualActions(): import("monaco-editor").editor.IEditorAction[];
24
+ unbindAction(actionID: string, bindings: KeyCodeChord[]): void;
25
+ updateAction(operation: PatchActionOperation): void;
26
+ getDefaultActions: (() => Promise<MonacoStoreAction[]>) & _.MemoizedFunction;
27
+ }
@@ -0,0 +1,21 @@
1
+ export interface ContextKey {
2
+ key: string;
3
+ negated: null;
4
+ type: number;
5
+ }
6
+ export interface MonacoStoreAction {
7
+ id: string;
8
+ label: string;
9
+ bindings: Keybinding[];
10
+ }
11
+ export interface KeyCodeChord {
12
+ ctrlKey: boolean;
13
+ shiftKey: boolean;
14
+ altKey: boolean;
15
+ metaKey: boolean;
16
+ keyCode: number;
17
+ equals: (item: KeyCodeChord) => boolean;
18
+ }
19
+ export interface Keybinding {
20
+ chords: KeyCodeChord[];
21
+ }
@@ -0,0 +1,2 @@
1
+ import { Keybinding } from './definitions';
2
+ export declare const compareChords: (a: Keybinding, b: Keybinding) => boolean;
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ import { ComboBoxStore } from '@journeyapps-labs/reactor-mod';
3
+ import * as _ from 'lodash';
4
+ import { MonacoThemeStore, EditorTheme } from '../stores/MonacoThemeStore';
5
+ export interface EditorThemePreferencesWidgetProps {
6
+ save: (theme: EditorTheme) => any;
7
+ theme: EditorTheme;
8
+ }
9
+ export interface EditorThemePreferencesWidgetState {
10
+ theme: EditorTheme;
11
+ modified: boolean;
12
+ }
13
+ export declare const fromCamelCaseToSentence: ((word: any) => string) & _.MemoizedFunction;
14
+ export declare enum ThemeTableColumns {
15
+ COLOR = "color",
16
+ IDENT = "ident",
17
+ DESC = "desc"
18
+ }
19
+ export declare class EditorThemePreferencesWidget extends React.Component<EditorThemePreferencesWidgetProps, EditorThemePreferencesWidgetState> {
20
+ accessor comboBoxStore: ComboBoxStore;
21
+ accessor monacoThemeStore: MonacoThemeStore;
22
+ constructor(props: EditorThemePreferencesWidgetProps);
23
+ getRGBA(c: any): any;
24
+ deleteTheme: () => void;
25
+ render(): React.JSX.Element;
26
+ }
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import { ComboBoxStore } from '@journeyapps-labs/reactor-mod';
3
+ import { MonacoThemeStore } from '../stores/MonacoThemeStore';
4
+ export declare class SmartEditorThemePreferencesWidget extends React.Component {
5
+ accessor comboBoxStore: ComboBoxStore;
6
+ accessor monacoThemeStore: MonacoThemeStore;
7
+ render(): React.JSX.Element;
8
+ }
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { ComboBoxStore, MousePosition } from '@journeyapps-labs/reactor-mod';
3
+ import { VSIXTheme } from './theme-utils';
4
+ export interface EditorThemePreferencesWidgetProps {
5
+ gotTheme: (theme: VSIXTheme) => any;
6
+ }
7
+ export declare class UploadVSIXThemeBtnWidget extends React.Component<EditorThemePreferencesWidgetProps> {
8
+ accessor comboBoxStore: ComboBoxStore;
9
+ constructor(props: EditorThemePreferencesWidgetProps);
10
+ doUpload(event: MousePosition, file: File): Promise<void>;
11
+ render(): React.JSX.Element;
12
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Patch standaloneThemeService to implement semantic highlighting.
3
+ *
4
+ * This may eventually become redundant when Monaco implements proper support.
5
+ *
6
+ * Based on: https://github.com/TypeFox/monaco-languageclient/issues/209#issuecomment-619531624
7
+ * Tracking feature: https://github.com/microsoft/monaco-editor/issues/1833
8
+ */
9
+ export declare function patchThemeService(): void;
@@ -0,0 +1,61 @@
1
+ import * as monaco from 'monaco-editor';
2
+ export type ColorContribution = {
3
+ id: string;
4
+ description: string;
5
+ defaults: {
6
+ dark: string;
7
+ light: string;
8
+ hc: string;
9
+ };
10
+ needsTransparency: boolean;
11
+ deprecationMessage: string;
12
+ };
13
+ export type ColorSchema = {
14
+ description: string;
15
+ };
16
+ export type ColorRegistry = {
17
+ colorsById: {
18
+ [id: string]: ColorContribution;
19
+ };
20
+ colorSchema: {
21
+ properties: {
22
+ [id: string]: ColorSchema;
23
+ };
24
+ };
25
+ };
26
+ export type TokenColor = {
27
+ name: string;
28
+ scope: string;
29
+ settings: {
30
+ fontStyle: string;
31
+ foreground: string;
32
+ background: string;
33
+ };
34
+ };
35
+ export type VSIXTheme = {
36
+ name: string;
37
+ tokenColors: TokenColor[];
38
+ colors: {
39
+ [key: string]: string;
40
+ };
41
+ };
42
+ export type VSIXPackage = {
43
+ contributes: {
44
+ themes: {
45
+ label: string;
46
+ path: string;
47
+ uiTheme: string;
48
+ }[];
49
+ };
50
+ };
51
+ export declare const normalizeVSCodeTheme: (themeObject: VSIXTheme) => monaco.editor.IStandaloneThemeData;
52
+ export declare const colorRegistry: ColorRegistry;
53
+ export declare const DARK_THEME = "journey-dark";
54
+ export declare const COUPLED_IDE_THEMES: {
55
+ journey: monaco.editor.IStandaloneThemeData;
56
+ reactor: monaco.editor.IStandaloneThemeData;
57
+ oxide: monaco.editor.IStandaloneThemeData;
58
+ scarlet: monaco.editor.IStandaloneThemeData;
59
+ hexagon: monaco.editor.IStandaloneThemeData;
60
+ "reactor-light": monaco.editor.IStandaloneThemeData;
61
+ };
@@ -0,0 +1,41 @@
1
+ import { ThemeFragment } from '@journeyapps-labs/reactor-mod';
2
+ export declare const theme: ThemeFragment<{
3
+ editor: {
4
+ label: string;
5
+ colors: {
6
+ background: string;
7
+ backgroundSticky: string;
8
+ };
9
+ };
10
+ }>;
11
+ export declare const Scarlet: import("@journeyapps-labs/reactor-mod").ThemeColors<{
12
+ editor: {
13
+ label: string;
14
+ colors: {
15
+ background: string;
16
+ backgroundSticky: string;
17
+ };
18
+ };
19
+ }>;
20
+ export declare const styled: import("@journeyapps-labs/reactor-mod").CreateStyled<import("@journeyapps-labs/reactor-mod").ThemeColors<{
21
+ editor: {
22
+ label: string;
23
+ colors: {
24
+ background: string;
25
+ backgroundSticky: string;
26
+ };
27
+ };
28
+ }> & {
29
+ light: boolean;
30
+ }>;
31
+ export declare const themed: import("@journeyapps-labs/reactor-mod").CreateStyled<import("@journeyapps-labs/reactor-mod").ThemeColors<{
32
+ editor: {
33
+ label: string;
34
+ colors: {
35
+ background: string;
36
+ backgroundSticky: string;
37
+ };
38
+ };
39
+ }> & {
40
+ light: boolean;
41
+ }>;
@@ -0,0 +1,23 @@
1
+ import type * as monaco from 'monaco-editor';
2
+ export interface BranchFile {
3
+ appID: string;
4
+ branch: string;
5
+ path: string;
6
+ }
7
+ /**
8
+ * Take a Monaco model URI, and covert it to a path in the local repo.
9
+ * If the URI does not reference a valid local path, null is returned.
10
+ * No checks are performed on whether or not the referenced file exists.
11
+ */
12
+ export declare const uriToPath: (uri: monaco.Uri) => BranchFile | null;
13
+ /**
14
+ * Given a local filename, return a monaco Uri.
15
+ * @param path The local path, e.g. schema.xml or mobile/main.js
16
+ */
17
+ export declare function pathToUri(path: BranchFile, _monaco: typeof monaco): monaco.Uri;
18
+ /**
19
+ * Given a path or filename return a language based on the file extension. Optionally accepts a file_length
20
+ * parameter (1 char = 2 bytes) which, if too large, will result in 'text' being returned regardless of
21
+ * language
22
+ */
23
+ export declare function getLanguageFromFile(file: string, file_length?: number): "css" | "markdown" | "python" | "text" | "json" | "javascript" | "xml" | "jxml" | "html" | "yaml" | "typescript" | "handlebars";
@@ -0,0 +1,8 @@
1
+ import * as monaco from 'monaco-editor';
2
+ export interface UseEditorStickyHeaderOptions {
3
+ editor: monaco.editor.IStandaloneCodeEditor;
4
+ }
5
+ export declare const useEditorStickyHeader: (props: UseEditorStickyHeaderOptions) => {
6
+ zIndex: number;
7
+ lines: number;
8
+ };
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { MonacoDiffEditorProps } from 'react-monaco-editor';
3
+ export interface DualEditorWidgetProps extends MonacoDiffEditorProps {
4
+ getLeftHeaderContent: () => React.JSX.Element;
5
+ getRightHeaderContent: () => React.JSX.Element;
6
+ }
7
+ export declare const DualEditorWidget: React.FC<DualEditorWidgetProps>;