-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathindex.js
66 lines (65 loc) · 2.48 KB
/
index.js
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
const vscode = require("vscode");
class StatusBarUi {
static get statusBarItem() {
if (!StatusBarUi._statusBarItem) {
StatusBarUi._statusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 200);
this.statusBarItem.show();
}
return StatusBarUi._statusBarItem;
}
static init(enableCompileFilesOnDidSaveCode) {
StatusBarUi.working("Starting...");
setTimeout(function () {
enableCompileFilesOnDidSaveCode ? StatusBarUi.watching() : StatusBarUi.notWatching();
}, 1000);
}
static watching() {
StatusBarUi.statusBarItem.text = `$(eye) Auto Format Vue: On`;
StatusBarUi.statusBarItem.color = 'inherit';
StatusBarUi.statusBarItem.command = 'vue3snippets.compileOn';
StatusBarUi.statusBarItem.tooltip = 'Stop live compilation';
}
static notWatching() {
StatusBarUi.statusBarItem.text = `$(eye-closed) Auto Format Vue: Off`;
StatusBarUi.statusBarItem.color = 'inherit';
StatusBarUi.statusBarItem.command = 'vue3snippets.compileOff';
StatusBarUi.statusBarItem.tooltip = 'live compilation';
}
static working(workingMsg = "Working on it...") {
StatusBarUi.statusBarItem.text = `$(pulse) ${workingMsg}`;
StatusBarUi.statusBarItem.tooltip = 'In case if it takes long time, Show output window and report.';
StatusBarUi.statusBarItem.command = undefined;
}
static compilationSuccess(isWatching) {
StatusBarUi.statusBarItem.text = `$(check) Success`;
StatusBarUi.statusBarItem.color = '#33ff00';
StatusBarUi.statusBarItem.command = undefined;
if (isWatching) {
setTimeout(function () {
StatusBarUi.statusBarItem.color = 'inherit';
StatusBarUi.watching();
}, 4500);
}
else {
StatusBarUi.notWatching();
}
}
static compilationError(isWatching) {
StatusBarUi.statusBarItem.text = `$(x) Error`;
StatusBarUi.statusBarItem.color = '#ff0033';
StatusBarUi.statusBarItem.command = undefined;
if (isWatching) {
setTimeout(function () {
StatusBarUi.statusBarItem.color = 'inherit';
StatusBarUi.watching();
}, 4500);
}
else {
StatusBarUi.notWatching();
}
}
static dispose() {
StatusBarUi.statusBarItem.dispose();
}
}
exports.StatusBarUi = StatusBarUi;