-
Notifications
You must be signed in to change notification settings - Fork 140
Expand file tree
/
Copy pathextension.ts
More file actions
72 lines (69 loc) · 2.86 KB
/
extension.ts
File metadata and controls
72 lines (69 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import 'reflect-metadata';
import { Controller } from 'mo/react/controller';
import { container, singleton } from 'tsyringe';
import {
BuiltinService,
IBuiltinService,
IExtensionService,
} from 'mo/services';
import { ExtensionService } from 'mo/services/extensionService';
import { CommandQuickAccessViewAction } from 'mo/monaco/quickAccessViewAction';
import { SelectColorThemeAction } from 'mo/monaco/selectColorThemeAction';
import { QuickAccessSettings } from 'mo/monaco/quickAccessSettingsAction';
import { SelectLocaleAction } from 'mo/i18n/selectLocaleAction';
import { CommandQuickSideBarViewAction } from 'mo/monaco/quickToggleSideBarAction';
import { QuickTogglePanelAction } from 'mo/monaco/quickTogglePanelAction';
import { QuickSelectAllAction } from 'mo/monaco/quickSelectAllAction';
import { QuickCopyLineUp } from 'mo/monaco/quickCopyLineUp';
import { QuickUndo } from 'mo/monaco/quickUndo';
import { QuickRedo } from 'mo/monaco/quickRedo';
import { QuickCreateFile } from 'mo/monaco/quickCreateFile';
import type { Action2 } from 'mo/monaco/action';
export interface IExtensionController extends Partial<Controller> {}
@singleton()
export class ExtensionController
extends Controller
implements IExtensionController
{
private readonly extensionService: IExtensionService;
private readonly builtinService: IBuiltinService;
constructor() {
super();
this.extensionService = container.resolve(ExtensionService);
this.builtinService = container.resolve(BuiltinService);
}
public initView() {
const {
quickAcessViewAction,
quickSelectColorThemeAction,
quickAccessSettingsAction,
quickSelectLocaleAction,
quickTogglePanelAction,
quickSelectAllAction,
quickCopyLineUpAction,
quickUndoAction,
quickRedoAction,
quickCreateFileAction,
quickToggleSideBarAction,
} = this.builtinService.getModules();
(
[
[quickAcessViewAction, CommandQuickAccessViewAction],
[quickSelectColorThemeAction, SelectColorThemeAction],
[quickAccessSettingsAction, QuickAccessSettings],
[quickSelectLocaleAction, SelectLocaleAction],
[quickToggleSideBarAction, CommandQuickSideBarViewAction],
[quickTogglePanelAction, QuickTogglePanelAction],
[quickSelectAllAction, QuickSelectAllAction],
[quickCopyLineUpAction, QuickCopyLineUp],
[quickUndoAction, QuickUndo],
[quickRedoAction, QuickRedo],
[quickCreateFileAction, QuickCreateFile],
] as [any, new () => Action2][]
).forEach(([key, action]) => {
if (key) {
this.extensionService.registerAction(action);
}
});
}
}