Skip to main content

tandem_types/
runtime.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
4#[serde(rename_all = "snake_case")]
5pub enum HostOs {
6    Windows,
7    Linux,
8    Macos,
9}
10
11#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
12#[serde(rename_all = "snake_case")]
13pub enum ShellFamily {
14    Powershell,
15    Posix,
16}
17
18#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
19#[serde(rename_all = "snake_case")]
20pub enum PathStyle {
21    Windows,
22    Posix,
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
26pub struct HostRuntimeContext {
27    pub os: HostOs,
28    pub arch: String,
29    pub shell_family: ShellFamily,
30    pub path_style: PathStyle,
31}