Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/test/automation/src/workbench.ts
5237 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
import { Chat } from './chat';
26
27
export interface Commands {
28
runCommand(command: string, options?: { exactLabelMatch?: boolean }): Promise<any>;
29
}
30
31
export class Workbench {
32
33
readonly quickaccess: QuickAccess;
34
readonly quickinput: QuickInput;
35
readonly editors: Editors;
36
readonly explorer: Explorer;
37
readonly activitybar: ActivityBar;
38
readonly search: Search;
39
readonly extensions: Extensions;
40
readonly editor: Editor;
41
readonly scm: SCM;
42
readonly debug: Debug;
43
readonly statusbar: StatusBar;
44
readonly problems: Problems;
45
readonly settingsEditor: SettingsEditor;
46
readonly keybindingsEditor: KeybindingsEditor;
47
readonly terminal: Terminal;
48
readonly notebook: Notebook;
49
readonly localization: Localization;
50
readonly task: Task;
51
readonly chat: Chat;
52
53
constructor(code: Code) {
54
this.editors = new Editors(code);
55
this.quickinput = new QuickInput(code);
56
this.quickaccess = new QuickAccess(code, this.editors, this.quickinput);
57
this.explorer = new Explorer(code);
58
this.activitybar = new ActivityBar(code);
59
this.search = new Search(code);
60
this.extensions = new Extensions(code, this.quickaccess);
61
this.editor = new Editor(code, this.quickaccess);
62
this.scm = new SCM(code);
63
this.debug = new Debug(code, this.quickaccess, this.editors, this.editor);
64
this.statusbar = new StatusBar(code);
65
this.problems = new Problems(code, this.quickaccess);
66
this.settingsEditor = new SettingsEditor(code, this.editors, this.editor, this.quickaccess);
67
this.keybindingsEditor = new KeybindingsEditor(code);
68
this.terminal = new Terminal(code, this.quickaccess, this.quickinput);
69
this.notebook = new Notebook(this.quickaccess, this.quickinput, code);
70
this.localization = new Localization(code);
71
this.task = new Task(code, this.editor, this.editors, this.quickaccess, this.quickinput, this.terminal);
72
this.chat = new Chat(code);
73
}
74
}
75
76