Skip to content

Commit 94bde36

Browse files
Remove OperatingSystem enum in favor of PlatformInformation helpers
1 parent b202b76 commit 94bde36

File tree

5 files changed

+22
-25
lines changed

5 files changed

+22
-25
lines changed

src/main.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import * as OmniSharp from './omnisharp/extension';
1313
import * as util from './common';
1414
import { Logger } from './logger';
1515
import { PackageManager, Status } from './packages';
16-
import { PlatformInformation, OperatingSystem } from './platform';
16+
import { PlatformInformation } from './platform';
1717

1818
export function activate(context: vscode.ExtensionContext): any {
1919

@@ -110,7 +110,7 @@ function installRuntimeDependencies(extension: vscode.Extension<any>): Promise<v
110110

111111
function allowExecution(filePath: string, platformInfo: PlatformInformation, logger: Logger): Promise<void> {
112112
return new Promise<void>((resolve, reject) => {
113-
if (platformInfo.operatingSystem !== OperatingSystem.Windows) {
113+
if (!platformInfo.isWindows()) {
114114
util.fileExists(filePath)
115115
.then(exists => {
116116
if (exists) {

src/omnisharp/launcher.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
'use strict';
77

8-
import {spawn, ChildProcess} from 'child_process';
9-
import {satisfies} from 'semver';
10-
import {PlatformInformation, OperatingSystem} from '../platform';
8+
import { spawn, ChildProcess } from 'child_process';
9+
import { satisfies } from 'semver';
10+
import { PlatformInformation } from '../platform';
1111
import * as path from 'path';
1212
import * as vscode from 'vscode';
1313
import * as util from '../common';
@@ -165,7 +165,7 @@ function launch(cwd: string, args: string[], kind: LaunchTargetKind): Promise<La
165165

166166
const launchPath = options.path || getLaunchPath(platformInfo, kind);
167167

168-
if (platformInfo.operatingSystem === OperatingSystem.Windows) {
168+
if (platformInfo.isWindows()) {
169169
return launchWindows(launchPath, cwd, args);
170170
}
171171
else {
@@ -176,15 +176,15 @@ function launch(cwd: string, args: string[], kind: LaunchTargetKind): Promise<La
176176

177177
function getLaunchPath(platformInfo: PlatformInformation, kind: LaunchTargetKind): string {
178178
if (kind === LaunchTargetKind.Solution) {
179-
if (platformInfo.operatingSystem === OperatingSystem.Windows) {
179+
if (platformInfo.isWindows()) {
180180
return path.join(util.getExtensionPath(), '.omnisharp-desktop', 'OmniSharp.exe');
181181
}
182182

183183
return path.join(util.getExtensionPath(), '.omnisharp-mono', 'OmniSharp.exe');
184184
}
185185

186186
let basePath = path.join(util.getExtensionPath(), '.omnisharp-coreclr');
187-
if (platformInfo.operatingSystem === OperatingSystem.Windows) {
187+
if (platformInfo.isWindows()) {
188188
return path.join(basePath, 'OmniSharp.exe');
189189
}
190190
else {

src/omnisharp/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {Options} from './options';
1515
import {Logger} from '../logger';
1616
import {DelayTracker} from './delayTracker';
1717
import {LaunchTarget, findLaunchTargets} from './launcher';
18-
import {PlatformInformation, OperatingSystem} from '../platform';
18+
import {PlatformInformation} from '../platform';
1919
import TelemetryReporter from 'vscode-extension-telemetry';
2020
import * as vscode from 'vscode';
2121

src/platform.ts

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -87,28 +87,13 @@ export enum OperatingSystem {
8787
}
8888

8989
export class PlatformInformation {
90-
public operatingSystem: OperatingSystem;
9190
public runtimeId: string;
9291

9392
public constructor(
9493
public platform: string,
9594
public architecture: string,
9695
public distribution: LinuxDistribution = null)
9796
{
98-
switch (platform) {
99-
case 'win32':
100-
this.operatingSystem = OperatingSystem.Windows;
101-
break;
102-
103-
case 'darwin':
104-
this.operatingSystem = OperatingSystem.MacOS;
105-
break;
106-
107-
case 'linux':
108-
this.operatingSystem = OperatingSystem.Linux;
109-
break;
110-
}
111-
11297
try {
11398
this.runtimeId = PlatformInformation.getRuntimeId(platform, architecture, distribution);
11499
}
@@ -117,6 +102,18 @@ export class PlatformInformation {
117102
}
118103
}
119104

105+
public isWindows(): boolean {
106+
return this.platform === 'win32';
107+
}
108+
109+
public isMacOS(): boolean {
110+
return this.platform === 'darwin';
111+
}
112+
113+
public isLinux(): boolean {
114+
return this.platform === 'linux';
115+
}
116+
120117
public toString(): string {
121118
let result = this.platform;
122119

test/platform.tests.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import { should } from 'chai';
7-
import { LinuxDistribution, PlatformInformation, OperatingSystem } from '../src/platform';
7+
import { LinuxDistribution, PlatformInformation } from '../src/platform';
88

99
suite("Platform", () => {
1010
before(() => should());

0 commit comments

Comments
 (0)