Skip to main content

edgecrab_plugins/skill/
platform.rs

1pub fn skill_matches_platform(platforms: &[String]) -> bool {
2    if platforms.is_empty() {
3        return true;
4    }
5    let os = std::env::consts::OS;
6    let hermes_os = match os {
7        "macos" => "darwin",
8        "linux" => "linux",
9        "windows" => "win32",
10        other => other,
11    };
12    platforms.iter().any(|platform| {
13        let normalized_platform = platform.to_ascii_lowercase();
14        let normalized = match normalized_platform.as_str() {
15            "macos" => "darwin",
16            "linux" => "linux",
17            "windows" => "win32",
18            other => other,
19        };
20        normalized == hermes_os
21    })
22}