File size: 713 Bytes
68d7816
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import { createDecorator, type ServiceIdentifier } from '#/_base/di/instantiation';

import type {
  HostEnvironmentInfo,
  OsKind,
  PathClass,
  ShellName,
} from '#/_base/execEnv/environmentProbe';

export type { HostEnvironmentInfo, OsKind, PathClass, ShellName };

export interface IHostEnvironment {
  readonly _serviceBrand: undefined;

  readonly osKind: OsKind;
  readonly osArch: string;
  readonly osVersion: string;
  readonly shellName: ShellName;
  readonly shellPath: string;
  readonly pathClass: PathClass;
  readonly homeDir: string;
  readonly ready: Promise<void>;
}

export const IHostEnvironment: ServiceIdentifier<IHostEnvironment> =
  createDecorator<IHostEnvironment>('hostEnvironment');