Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/test/automation/src/workbench.ts
3520 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { Explorer } from './explorer';
7
import { ActivityBar } from './activityBar';
8
import { QuickAccess } from './quickaccess';
9
import { QuickInput } from './quickinput';
10
import { Extensions } from './extensions';
11
import { Search } from './search';
12
import { Editor } from './editor';
13
import { SCM } from './scm';
14
import { Debug } from './debug';
15
import { StatusBar } from './statusbar';
16
import { Problems } from './problems';
17
import { SettingsEditor } from './settings';
18
import { KeybindingsEditor } from './keybindings';
19
import { Editors } from './editors';
20
import { Code } from './code';
21
import { Terminal } from './terminal';
22
import { Notebook } from './notebook';
23
import { Localization } from './localization';
24
import { Task } from './task';
25
26
export interface Commands {
27
runCommand(command: string, options?: { exactLabelMatch?: boolean }): Promise<any>;
28
}
29
30
export class Workbench {
31
32
readonly quickaccess: QuickAccess;
33
readonly quickinput: QuickInput;
34
readonly editors: Editors;
35
readonly explorer: Explorer;
36
readonly activitybar: ActivityBar;
37
readonly search: Search;
38
readonly extensions: Extensions;
39
readonly editor: Editor;
40
readonly scm: SCM;
41
readonly debug: Debug;
42
readonly statusbar: StatusBar;
43
readonly problems: Problems;
44
readonly settingsEditor: SettingsEditor;
45
readonly keybindingsEditor: KeybindingsEditor;
46
readonly terminal: Terminal;
47
readonly notebook: Notebook;
48
readonly localization: Localization;
49
readonly task: Task;
50
51
constructor(code: Code) {
52
this.editors = new Editors(code);
53
this.quickinput = new QuickInput(code);
54
this.quickaccess = new QuickAccess(code, this.editors, this.quickinput);
55
this.explorer = new Explorer(code);
56
this.activitybar = new ActivityBar(code);
57
this.search = new Search(code);
58
this.extensions = new Extensions(code, this.quickaccess);
59
this.editor = new Editor(code, this.quickaccess);
60
this.scm = new SCM(code);
61
this.debug = new Debug(code, this.quickaccess, this.editors, this.editor);
62
this.statusbar = new StatusBar(code);
63
this.problems = new Problems(code, this.quickaccess);
64
this.settingsEditor = new SettingsEditor(code, this.editors, this.editor, this.quickaccess);
65
this.keybindingsEditor = new KeybindingsEditor(code);
66
this.terminal = new Terminal(code, this.quickaccess, this.quickinput);
67
this.notebook = new Notebook(this.quickaccess, this.quickinput, code);
68
this.localization = new Localization(code);
69
this.task = new Task(code, this.editor, this.editors, this.quickaccess, this.quickinput, this.terminal);
70
}
71
}
72
73