microsoft/vscode-react-native

Public

mirrored fromhttps://github.com/microsoft/vscode-react-nativeAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
e45838cbf8bb84beab7d36042bcdbc57fe0319c8

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

src/extension/packagerStatusIndicator.ts

46lines · modecode

1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT license. See LICENSE file in the project root for details.
3
4import {window, Disposable, StatusBarItem, StatusBarAlignment} from "vscode";
5
6/**
7 * Updates the Status bar with the status of React Native Packager.
8 */
9
10export enum PackagerStatus {
11 PACKAGER_STARTED = 0,
12 EXPONENT_PACKAGER_STARTED,
13 PACKAGER_STOPPED
14}
15
16export class PackagerStatusIndicator implements Disposable {
17 private packagerStatusItem: StatusBarItem;
18 private static PACKAGER_STARTED_STATUS_STR: string = "React Native Packager: Started";
19 private static EXPONENT_PACKAGER_STARTED_STATUS_STR: string = "Exponent Packager: Started";
20 private static PACKAGER_STOPPED_STATUS_STR: string = "React Native Packager: Stopped";
21
22 public constructor() {
23 this.packagerStatusItem = window.createStatusBarItem(StatusBarAlignment.Left);
24 }
25
26 public dispose(): void {
27 this.packagerStatusItem.dispose();
28 }
29
30 public updatePackagerStatus(status: PackagerStatus): void {
31 switch (status) {
32 case PackagerStatus.PACKAGER_STARTED:
33 this.packagerStatusItem.text = `$(package) ${PackagerStatusIndicator.PACKAGER_STARTED_STATUS_STR}`;
34 break;
35 case PackagerStatus.EXPONENT_PACKAGER_STARTED:
36 this.packagerStatusItem.text = `$(package) ${PackagerStatusIndicator.EXPONENT_PACKAGER_STARTED_STATUS_STR}`;
37 break;
38 case PackagerStatus.PACKAGER_STOPPED:
39 this.packagerStatusItem.text = `$(package) ${PackagerStatusIndicator.PACKAGER_STOPPED_STATUS_STR}`;
40 break;
41 default:
42 break;
43 }
44 this.packagerStatusItem.show();
45 }
46}
47