Initial public release of Warp.

Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b
This commit is contained in:
David Stern
2026-04-28 08:43:33 -05:00
commit 0dbd3d567a
4982 changed files with 1431549 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
use std::convert::TryFrom;
use crate::terminal::{shell::ShellType, ShellLaunchData};
use crate::ui_components::icons::Icon;
#[derive(Clone, Copy)]
pub enum ShellIndicatorType {
Powershell,
GitBash,
Ubuntu,
Debian,
Kali,
Arch,
Linux,
}
impl ShellIndicatorType {
pub fn to_icon(self) -> Icon {
match self {
Self::Powershell => Icon::Powershell,
Self::GitBash => Icon::GitBash,
Self::Ubuntu => Icon::Ubuntu,
Self::Debian => Icon::Debian,
Self::Kali => Icon::Kali,
Self::Arch => Icon::Arch,
Self::Linux => Icon::Linux,
}
}
}
impl TryFrom<&ShellLaunchData> for ShellIndicatorType {
type Error = ();
fn try_from(shell_launch_data: &ShellLaunchData) -> Result<Self, Self::Error> {
match shell_launch_data {
ShellLaunchData::Executable { shell_type, .. } => match shell_type {
ShellType::PowerShell => Ok(Self::Powershell),
_ => Err(()),
},
ShellLaunchData::MSYS2 { .. } => Ok(Self::GitBash),
ShellLaunchData::WSL { distro } => match distro.as_str() {
s if s.contains("Ubuntu") => Ok(Self::Ubuntu),
s if s.contains("Debian") => Ok(Self::Debian),
s if s.contains("kali") => Ok(Self::Kali),
s if s.contains("arch") => Ok(Self::Arch),
_ => Ok(Self::Linux),
},
// Docker sandbox containers are Linux regardless of host.
ShellLaunchData::DockerSandbox { .. } => Ok(Self::Linux),
}
}
}