gwen: Rebrand to Gwen 1.0.0 with independent identity and environment
This commit is contained in:
1 parent
e39622d51c
commit
3e046788b5
24 files changed
+192
-140
No files matched your search
Generated
+1
-1
@@ -22934,7 +22934,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zed"
|
name = "zed"
|
||||||
version = "1.22.0-Y1"
|
version = "1.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"acp_thread",
|
"acp_thread",
|
||||||
"acp_tools",
|
"acp_tools",
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> Remove this line to confirm you've reviewed this PR before submitting.
|
> Remove this line to confirm you've reviewed this PR before submitting.
|
||||||
|
|
||||||
|
# Gwen
|
||||||
|
|
||||||
|
**Gwen 1.0.0** — based on zed 1.22.0.
|
||||||
|
|
||||||
# Zed
|
# Zed
|
||||||
|
|
||||||
[](https://zed.dev)
|
[](https://zed.dev)
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<svg width="96" height="96" viewBox="0 0 96 96" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M50 52 C54 40 62 26 70 12 C72 8 68 5 65 8 C56 18 50 32 45 48 Z" fill="black"/>
|
||||||
|
<path d="M46 52 C42 40 34 26 26 12 C24 8 28 5 31 8 C40 18 46 32 51 48 Z" fill="black"/>
|
||||||
|
<path d="M44 60 C40 66 36 70 33 74" stroke="black" stroke-width="6" stroke-linecap="round"/>
|
||||||
|
<path d="M52 60 C56 66 60 70 63 74" stroke="black" stroke-width="6" stroke-linecap="round"/>
|
||||||
|
<circle cx="30" cy="81" r="9" stroke="black" stroke-width="6"/>
|
||||||
|
<circle cx="66" cy="81" r="9" stroke="black" stroke-width="6"/>
|
||||||
|
<circle cx="48" cy="56" r="4.5" fill="black"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 640 B |
@@ -1,10 +0,0 @@
|
|||||||
<svg width="96" height="96" viewBox="0 0 96 96" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<g clip-path="url(#clip0_1957_1318)">
|
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 6C7.34315 6 6 7.34315 6 9V75H0V9C0 4.02944 4.02944 0 9 0H89.3787C93.3878 0 95.3955 4.84715 92.5607 7.68198L43.0551 57.1875H57V51H63V58.6875C63 61.1728 60.9853 63.1875 58.5 63.1875H37.0551L26.7426 73.5H73.5V36H79.5V73.5C79.5 76.8137 76.8137 79.5 73.5 79.5H20.7426L10.2426 90H87C88.6569 90 90 88.6569 90 87V21H96V87C96 91.9706 91.9706 96 87 96H6.62132C2.61224 96 0.604504 91.1529 3.43934 88.318L52.7574 39H39V45H33V37.5C33 35.0147 35.0147 33 37.5 33H58.7574L69.2574 22.5H22.5V60H16.5V22.5C16.5 19.1863 19.1863 16.5 22.5 16.5H75.2574L85.7574 6H9Z" fill="black"/>
|
|
||||||
</g>
|
|
||||||
<defs>
|
|
||||||
<clipPath id="clip0_1957_1318">
|
|
||||||
<rect width="96" height="96" fill="white"/>
|
|
||||||
</clipPath>
|
|
||||||
</defs>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 861 B |
@@ -165,7 +165,7 @@ impl ZedAiOnboarding {
|
|||||||
.w_full()
|
.w_full()
|
||||||
.relative()
|
.relative()
|
||||||
.gap_1()
|
.gap_1()
|
||||||
.child(Headline::new("Welcome to Zed AI"))
|
.child(Headline::new("Welcome to Gwen AI"))
|
||||||
.child(
|
.child(
|
||||||
Label::new("Sign in to try GPT Luna. Your 14 days begin when you start the trial.")
|
Label::new("Sign in to try GPT Luna. Your 14 days begin when you start the trial.")
|
||||||
.color(Color::Muted)
|
.color(Color::Muted)
|
||||||
@@ -195,7 +195,7 @@ impl ZedAiOnboarding {
|
|||||||
.relative()
|
.relative()
|
||||||
.min_w_0()
|
.min_w_0()
|
||||||
.gap_1()
|
.gap_1()
|
||||||
.child(Headline::new("Welcome to Zed AI"))
|
.child(Headline::new("Welcome to Gwen AI"))
|
||||||
.child(YoungAccountBanner)
|
.child(YoungAccountBanner)
|
||||||
.child(
|
.child(
|
||||||
v_flex()
|
v_flex()
|
||||||
@@ -232,7 +232,7 @@ impl ZedAiOnboarding {
|
|||||||
.w_full()
|
.w_full()
|
||||||
.relative()
|
.relative()
|
||||||
.gap_1()
|
.gap_1()
|
||||||
.child(Headline::new("Welcome to Zed AI"))
|
.child(Headline::new("Welcome to Gwen AI"))
|
||||||
.child(
|
.child(
|
||||||
v_flex()
|
v_flex()
|
||||||
.mt_2()
|
.mt_2()
|
||||||
|
|||||||
+19
-19
@@ -48,21 +48,21 @@ trait InstalledApp {
|
|||||||
|
|
||||||
#[derive(Parser, Debug)]
|
#[derive(Parser, Debug)]
|
||||||
#[command(
|
#[command(
|
||||||
name = "zed",
|
name = "gwen",
|
||||||
disable_version_flag = true,
|
disable_version_flag = true,
|
||||||
before_help = "The Zed CLI binary.
|
before_help = "The Gwen CLI binary.
|
||||||
This CLI is a separate binary that invokes Zed.
|
This CLI is a separate binary that invokes Gwen.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
`zed`
|
`gwen`
|
||||||
Simply opens Zed
|
Simply opens Gwen
|
||||||
`zed --foreground`
|
`gwen --foreground`
|
||||||
Runs in foreground (shows all logs)
|
Runs in foreground (shows all logs)
|
||||||
`zed path-to-your-project`
|
`gwen path-to-your-project`
|
||||||
Open your project in Zed
|
Open your project in Gwen
|
||||||
`zed -n path-to-file `
|
`gwen -n path-to-file `
|
||||||
Open file/folder in a new window",
|
Open file/folder in a new window",
|
||||||
after_help = "To read from stdin, append '-', e.g. 'ps axf | zed -'"
|
after_help = "To read from stdin, append '-', e.g. 'ps axf | gwen -'"
|
||||||
)]
|
)]
|
||||||
struct Args {
|
struct Args {
|
||||||
/// Wait for all of the given paths to be opened/closed before exiting.
|
/// Wait for all of the given paths to be opened/closed before exiting.
|
||||||
@@ -79,7 +79,7 @@ struct Args {
|
|||||||
/// Reuse an existing window, replacing its workspace
|
/// Reuse an existing window, replacing its workspace
|
||||||
#[arg(short, long, overrides_with_all = ["add", "new", "existing", "classic"], hide = true)]
|
#[arg(short, long, overrides_with_all = ["add", "new", "existing", "classic"], hide = true)]
|
||||||
reuse: bool,
|
reuse: bool,
|
||||||
/// Open in existing Zed window
|
/// Open in existing Gwen window
|
||||||
#[arg(short = 'e', long = "existing", overrides_with_all = ["add", "new", "reuse", "classic"])]
|
#[arg(short = 'e', long = "existing", overrides_with_all = ["add", "new", "reuse", "classic"])]
|
||||||
existing: bool,
|
existing: bool,
|
||||||
/// Use the classic open behavior: new window for directories, reuse for files
|
/// Use the classic open behavior: new window for directories, reuse for files
|
||||||
@@ -100,7 +100,7 @@ struct Args {
|
|||||||
/// Use `path:line:column` syntax to open a file at the given line and column.
|
/// Use `path:line:column` syntax to open a file at the given line and column.
|
||||||
#[arg(trailing_var_arg = true, value_hint = clap::ValueHint::AnyPath)]
|
#[arg(trailing_var_arg = true, value_hint = clap::ValueHint::AnyPath)]
|
||||||
paths_with_position: Vec<String>,
|
paths_with_position: Vec<String>,
|
||||||
/// Print Zed's version and the app path.
|
/// Print Gwen's version and the app path.
|
||||||
#[arg(short, long)]
|
#[arg(short, long)]
|
||||||
version: bool,
|
version: bool,
|
||||||
/// Run zed in the foreground (useful for debugging)
|
/// Run zed in the foreground (useful for debugging)
|
||||||
@@ -113,7 +113,7 @@ struct Args {
|
|||||||
#[arg(long)]
|
#[arg(long)]
|
||||||
dev_server_token: Option<String>,
|
dev_server_token: Option<String>,
|
||||||
/// The username and WSL distribution to use when opening paths. If not specified,
|
/// The username and WSL distribution to use when opening paths. If not specified,
|
||||||
/// Zed will attempt to open the paths directly.
|
/// Gwen will attempt to open the paths directly.
|
||||||
///
|
///
|
||||||
/// The username is optional, and if not specified, the default user for the distribution
|
/// The username is optional, and if not specified, the default user for the distribution
|
||||||
/// will be used.
|
/// will be used.
|
||||||
@@ -124,7 +124,7 @@ struct Args {
|
|||||||
#[cfg(target_os = "windows")]
|
#[cfg(target_os = "windows")]
|
||||||
#[arg(long, value_name = "USER@DISTRO")]
|
#[arg(long, value_name = "USER@DISTRO")]
|
||||||
wsl: Option<String>,
|
wsl: Option<String>,
|
||||||
/// Not supported in Zed CLI, only supported on Zed binary
|
/// Not supported in Gwen CLI, only supported on Gwen binary
|
||||||
/// Will attempt to give the correct command to run
|
/// Will attempt to give the correct command to run
|
||||||
#[arg(long)]
|
#[arg(long)]
|
||||||
system_specs: bool,
|
system_specs: bool,
|
||||||
@@ -141,7 +141,7 @@ struct Args {
|
|||||||
/// Generate shell completions for Zed
|
/// Generate shell completions for Zed
|
||||||
#[arg(long, value_names = ["SHELL"])]
|
#[arg(long, value_names = ["SHELL"])]
|
||||||
completions: Option<Shell>,
|
completions: Option<Shell>,
|
||||||
/// Uninstall Zed from user system
|
/// Uninstall Gwen from user system
|
||||||
#[cfg(all(
|
#[cfg(all(
|
||||||
any(target_os = "linux", target_os = "macos"),
|
any(target_os = "linux", target_os = "macos"),
|
||||||
not(feature = "no-bundled-uninstall")
|
not(feature = "no-bundled-uninstall")
|
||||||
@@ -551,7 +551,7 @@ fn run() -> Result<()> {
|
|||||||
if args.system_specs {
|
if args.system_specs {
|
||||||
let path = app.path();
|
let path = app.path();
|
||||||
let msg = [
|
let msg = [
|
||||||
"The `--system-specs` argument is not supported in the Zed CLI, only on Zed binary.",
|
"The `--system-specs` argument is not supported in the Gwen CLI, only on Gwen binary.",
|
||||||
"To retrieve the system specs on the command line, run the following command:",
|
"To retrieve the system specs on the command line, run the following command:",
|
||||||
&format!("{} --system-specs", path.display()),
|
&format!("{} --system-specs", path.display()),
|
||||||
];
|
];
|
||||||
@@ -925,7 +925,7 @@ mod linux {
|
|||||||
impl InstalledApp for App {
|
impl InstalledApp for App {
|
||||||
fn zed_version_string(&self) -> String {
|
fn zed_version_string(&self) -> String {
|
||||||
format!(
|
format!(
|
||||||
"Zed {}{}{} – {}",
|
"Gwen {}{}{} (based on zed 1.22.0) – {}",
|
||||||
if *release_channel::RELEASE_CHANNEL_NAME == "stable" {
|
if *release_channel::RELEASE_CHANNEL_NAME == "stable" {
|
||||||
"".to_string()
|
"".to_string()
|
||||||
} else {
|
} else {
|
||||||
@@ -1202,7 +1202,7 @@ mod windows {
|
|||||||
impl InstalledApp for App {
|
impl InstalledApp for App {
|
||||||
fn zed_version_string(&self) -> String {
|
fn zed_version_string(&self) -> String {
|
||||||
format!(
|
format!(
|
||||||
"Zed {}{}{} – {}",
|
"Gwen {}{}{} (based on zed 1.22.0) – {}",
|
||||||
if *release_channel::RELEASE_CHANNEL_NAME == "stable" {
|
if *release_channel::RELEASE_CHANNEL_NAME == "stable" {
|
||||||
"".to_string()
|
"".to_string()
|
||||||
} else {
|
} else {
|
||||||
@@ -1375,7 +1375,7 @@ mod mac_os {
|
|||||||
|
|
||||||
impl InstalledApp for Bundle {
|
impl InstalledApp for Bundle {
|
||||||
fn zed_version_string(&self) -> String {
|
fn zed_version_string(&self) -> String {
|
||||||
format!("Zed {} – {}", self.version(), self.path().display(),)
|
format!("Gwen {} – {}", self.version(), self.path().display(),)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn launch(&self, url: String, user_data_dir: Option<&str>) -> anyhow::Result<()> {
|
fn launch(&self, url: String, user_data_dir: Option<&str>) -> anyhow::Result<()> {
|
||||||
|
|||||||
@@ -347,11 +347,11 @@ impl Render for Onboarding {
|
|||||||
.child(
|
.child(
|
||||||
h_flex()
|
h_flex()
|
||||||
.gap_4()
|
.gap_4()
|
||||||
.child(Vector::square(VectorName::ZedLogo, rems(2.5)))
|
.child(Vector::square(VectorName::GwenLogo, rems(2.5)))
|
||||||
.child(
|
.child(
|
||||||
v_flex()
|
v_flex()
|
||||||
.child(
|
.child(
|
||||||
Headline::new("Welcome to Zed")
|
Headline::new("Welcome to Gwen")
|
||||||
.size(HeadlineSize::Small),
|
.size(HeadlineSize::Small),
|
||||||
)
|
)
|
||||||
.child(
|
.child(
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ pub const EDITORCONFIG_NAME: &str = ".editorconfig";
|
|||||||
/// and state directory paths.
|
/// and state directory paths.
|
||||||
///
|
///
|
||||||
/// Forks should change this to avoid colliding with Zed's user data.
|
/// Forks should change this to avoid colliding with Zed's user data.
|
||||||
pub const APP_NAME: &str = "Zed";
|
pub const APP_NAME: &str = "Gwen";
|
||||||
|
|
||||||
/// Lowercased form of [`APP_NAME`], for use in XDG-style paths on
|
/// Lowercased form of [`APP_NAME`], for use in XDG-style paths on
|
||||||
/// Linux/FreeBSD and the macOS `~/.config` fallback.
|
/// Linux/FreeBSD and the macOS `~/.config` fallback.
|
||||||
@@ -68,7 +68,7 @@ static CONFIG_DIR: OnceLock<PathBuf> = OnceLock::new();
|
|||||||
/// Returns the relative path to the zed_server directory on the ssh host.
|
/// Returns the relative path to the zed_server directory on the ssh host.
|
||||||
pub fn remote_server_dir_relative() -> &'static RelPath {
|
pub fn remote_server_dir_relative() -> &'static RelPath {
|
||||||
static CACHED: LazyLock<&'static RelPath> =
|
static CACHED: LazyLock<&'static RelPath> =
|
||||||
LazyLock::new(|| RelPath::from_unix_str(".zed_server").unwrap());
|
LazyLock::new(|| RelPath::from_unix_str(".gwen_server").unwrap());
|
||||||
*CACHED
|
*CACHED
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ pub fn remote_server_dir_relative() -> &'static RelPath {
|
|||||||
/// Returns the relative path to the zed_wsl_server directory on the wsl host.
|
/// Returns the relative path to the zed_wsl_server directory on the wsl host.
|
||||||
pub fn remote_wsl_server_dir_relative() -> &'static RelPath {
|
pub fn remote_wsl_server_dir_relative() -> &'static RelPath {
|
||||||
static CACHED: LazyLock<&'static RelPath> =
|
static CACHED: LazyLock<&'static RelPath> =
|
||||||
LazyLock::new(|| RelPath::from_unix_str(".zed_wsl_server").unwrap());
|
LazyLock::new(|| RelPath::from_unix_str(".gwen_wsl_server").unwrap());
|
||||||
*CACHED
|
*CACHED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -205,10 +205,10 @@ impl ReleaseChannel {
|
|||||||
/// Returns the display name for this [`ReleaseChannel`].
|
/// Returns the display name for this [`ReleaseChannel`].
|
||||||
pub fn display_name(&self) -> &'static str {
|
pub fn display_name(&self) -> &'static str {
|
||||||
match self {
|
match self {
|
||||||
ReleaseChannel::Dev => "Zed Dev",
|
ReleaseChannel::Dev => "Gwen",
|
||||||
ReleaseChannel::Nightly => "Zed Nightly",
|
ReleaseChannel::Nightly => "Gwen Nightly",
|
||||||
ReleaseChannel::Preview => "Zed Preview",
|
ReleaseChannel::Preview => "Gwen Preview",
|
||||||
ReleaseChannel::Stable => "Zed",
|
ReleaseChannel::Stable => "Gwen",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -279,7 +279,7 @@ async fn build_remote_server_from_source(
|
|||||||
// extract step gunzip it.
|
// extract step gunzip it.
|
||||||
let bundled_remote_server = std::env::current_exe()
|
let bundled_remote_server = std::env::current_exe()
|
||||||
.ok()
|
.ok()
|
||||||
.and_then(|exe| exe.parent().map(|dir| dir.join("zed-remote-server.gz")))
|
.and_then(|exe| exe.parent().map(|dir| dir.join("gwen-remote-server.gz")))
|
||||||
.filter(|path| path.is_file());
|
.filter(|path| path.is_file());
|
||||||
if let Some(bundled_remote_server) = bundled_remote_server {
|
if let Some(bundled_remote_server) = bundled_remote_server {
|
||||||
if binary_exists_on_server {
|
if binary_exists_on_server {
|
||||||
|
|||||||
@@ -842,7 +842,7 @@ impl SshRemoteConnection {
|
|||||||
_ => version.to_string(),
|
_ => version.to_string(),
|
||||||
};
|
};
|
||||||
let binary_name = format!(
|
let binary_name = format!(
|
||||||
"zed-remote-server-{}-{}{}",
|
"gwen-remote-server-{}-{}{}",
|
||||||
release_channel.dev_name(),
|
release_channel.dev_name(),
|
||||||
version_str,
|
version_str,
|
||||||
if self.ssh_platform.os.is_windows() {
|
if self.ssh_platform.os.is_windows() {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ pub enum VectorName {
|
|||||||
ProTrialStamp,
|
ProTrialStamp,
|
||||||
ProUserStamp,
|
ProUserStamp,
|
||||||
StudentStamp,
|
StudentStamp,
|
||||||
ZedLogo,
|
GwenLogo,
|
||||||
ZedXCopilot,
|
ZedXCopilot,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,7 +122,7 @@ impl Component for Vector {
|
|||||||
vec![
|
vec![
|
||||||
single_example(
|
single_example(
|
||||||
"Default",
|
"Default",
|
||||||
Vector::square(VectorName::ZedLogo, size).into_any_element(),
|
Vector::square(VectorName::GwenLogo, size).into_any_element(),
|
||||||
),
|
),
|
||||||
single_example(
|
single_example(
|
||||||
"Custom Size",
|
"Custom Size",
|
||||||
@@ -130,7 +130,7 @@ impl Component for Vector {
|
|||||||
.h(rems_from_px(120_f32))
|
.h(rems_from_px(120_f32))
|
||||||
.justify_center()
|
.justify_center()
|
||||||
.child(Vector::new(
|
.child(Vector::new(
|
||||||
VectorName::ZedLogo,
|
VectorName::GwenLogo,
|
||||||
rems_from_px(120_f32),
|
rems_from_px(120_f32),
|
||||||
rems_from_px(200_f32),
|
rems_from_px(200_f32),
|
||||||
))
|
))
|
||||||
@@ -143,13 +143,13 @@ impl Component for Vector {
|
|||||||
vec![
|
vec![
|
||||||
single_example(
|
single_example(
|
||||||
"Accent Color",
|
"Accent Color",
|
||||||
Vector::square(VectorName::ZedLogo, size)
|
Vector::square(VectorName::GwenLogo, size)
|
||||||
.color(Color::Accent)
|
.color(Color::Accent)
|
||||||
.into_any_element(),
|
.into_any_element(),
|
||||||
),
|
),
|
||||||
single_example(
|
single_example(
|
||||||
"Error Color",
|
"Error Color",
|
||||||
Vector::square(VectorName::ZedLogo, size)
|
Vector::square(VectorName::GwenLogo, size)
|
||||||
.color(Color::Error)
|
.color(Color::Error)
|
||||||
.into_any_element(),
|
.into_any_element(),
|
||||||
),
|
),
|
||||||
@@ -174,6 +174,6 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn vector_path() {
|
fn vector_path() {
|
||||||
assert_eq!(VectorName::ZedLogo.path().as_ref(), "images/zed_logo.svg");
|
assert_eq!(VectorName::GwenLogo.path().as_ref(), "images/gwen_logo.svg");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -477,7 +477,7 @@ impl Render for WelcomePage {
|
|||||||
.justify_center()
|
.justify_center()
|
||||||
.mb_4()
|
.mb_4()
|
||||||
.gap_4()
|
.gap_4()
|
||||||
.child(Vector::square(VectorName::ZedLogo, rems_from_px(45_f32)))
|
.child(Vector::square(VectorName::GwenLogo, rems_from_px(45_f32)))
|
||||||
.child(
|
.child(
|
||||||
v_flex().child(Headline::new(welcome_label)).child(
|
v_flex().child(Headline::new(welcome_label)).child(
|
||||||
Label::new("The editor for what's next")
|
Label::new("The editor for what's next")
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
[package]
|
[package]
|
||||||
description = "The fast, collaborative code editor."
|
description = "Gwen: The fast, collaborative code editor. Based on Zed."
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
name = "zed"
|
name = "zed"
|
||||||
version = "1.22.0-Y1"
|
version = "1.0.0"
|
||||||
publish.workspace = true
|
publish.workspace = true
|
||||||
license = "GPL-3.0-or-later"
|
license = "GPL-3.0-or-later"
|
||||||
authors = ["Zed Team <hi@zed.dev>"]
|
authors = ["Zed Team <hi@zed.dev>"]
|
||||||
default-run = "zed"
|
default-run = "gwen"
|
||||||
|
|
||||||
[lints]
|
[lints]
|
||||||
workspace = true
|
workspace = true
|
||||||
@@ -54,7 +54,7 @@ visual-tests = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[[bin]]
|
[[bin]]
|
||||||
name = "zed"
|
name = "gwen"
|
||||||
path = "src/main.rs"
|
path = "src/main.rs"
|
||||||
|
|
||||||
[[bin]]
|
[[bin]]
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 89 KiB |
@@ -0,0 +1,51 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
|
||||||
|
<stop offset="0" stop-color="#232437"/>
|
||||||
|
<stop offset="1" stop-color="#15151f"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="blade" x1="0" y1="1" x2="1" y2="0">
|
||||||
|
<stop offset="0" stop-color="#c9973a"/>
|
||||||
|
<stop offset="0.55" stop-color="#e8b851"/>
|
||||||
|
<stop offset="1" stop-color="#f4d489"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- rounded square background -->
|
||||||
|
<rect x="0" y="0" width="1024" height="1024" rx="228" fill="url(#bg)"/>
|
||||||
|
|
||||||
|
<!-- thread accents behind the scissors -->
|
||||||
|
<path d="M 208 700 C 330 620, 420 700, 512 640 C 604 580, 700 660, 816 576"
|
||||||
|
fill="none" stroke="#f7768e" stroke-width="14" stroke-linecap="round" opacity="0.85"/>
|
||||||
|
<path d="M 208 752 C 330 672, 420 752, 512 692 C 604 632, 700 712, 816 628"
|
||||||
|
fill="none" stroke="#7aa2f7" stroke-width="14" stroke-linecap="round" opacity="0.85"/>
|
||||||
|
|
||||||
|
<!-- scissors (Gwen's giant shears) -->
|
||||||
|
<g>
|
||||||
|
<!-- right blade -->
|
||||||
|
<path d="M 536 520
|
||||||
|
C 600 430, 668 320, 716 208
|
||||||
|
C 728 180, 712 158, 688 174
|
||||||
|
C 610 226, 540 320, 496 452 Z"
|
||||||
|
fill="url(#blade)"/>
|
||||||
|
<!-- left blade (mirrored) -->
|
||||||
|
<path d="M 488 520
|
||||||
|
C 424 430, 356 320, 308 208
|
||||||
|
C 296 180, 312 158, 336 174
|
||||||
|
C 414 226, 484 320, 528 452 Z"
|
||||||
|
fill="url(#blade)" opacity="0.94"/>
|
||||||
|
|
||||||
|
<!-- right handle: connector + ring -->
|
||||||
|
<path d="M 534 548 C 580 620, 640 700, 674 762"
|
||||||
|
fill="none" stroke="url(#blade)" stroke-width="42" stroke-linecap="round"/>
|
||||||
|
<circle cx="706" cy="812" r="76" fill="none" stroke="url(#blade)" stroke-width="42"/>
|
||||||
|
<!-- left handle: connector + ring -->
|
||||||
|
<path d="M 490 548 C 444 620, 384 700, 350 762"
|
||||||
|
fill="none" stroke="url(#blade)" stroke-width="42" stroke-linecap="round" opacity="0.94"/>
|
||||||
|
<circle cx="318" cy="812" r="76" fill="none" stroke="url(#blade)" stroke-width="42" opacity="0.94"/>
|
||||||
|
|
||||||
|
<!-- pivot -->
|
||||||
|
<circle cx="512" cy="536" r="40" fill="#f4d489"/>
|
||||||
|
<circle cx="512" cy="536" r="16" fill="#15151f"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,19 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Type=Application
|
||||||
|
Name=$APP_NAME
|
||||||
|
GenericName=Text Editor
|
||||||
|
Comment=A fast code editor based on Zed.
|
||||||
|
TryExec=$APP_CLI
|
||||||
|
StartupNotify=$DO_STARTUP_NOTIFY
|
||||||
|
Exec=$APP_CLI $APP_ARGS
|
||||||
|
Icon=$APP_ICON
|
||||||
|
Categories=Utility;TextEditor;Development;IDE;
|
||||||
|
Keywords=gwen;
|
||||||
|
# To add Gwen to "Open Folder With..." context menu, add `inode/directory` to the MimeType field (semicolon separated)
|
||||||
|
MimeType=text/plain;application/x-zerosize;x-scheme-handler/zed;
|
||||||
|
Actions=NewWorkspace;
|
||||||
|
|
||||||
|
[Desktop Action NewWorkspace]
|
||||||
|
Exec=$APP_CLI --new $APP_ARGS
|
||||||
|
Name=Open a new workspace
|
||||||
@@ -1,48 +1,48 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
# Installs the Zed bundle this script ships with into ~/.local.
|
# Installs the Gwen bundle this script ships with into ~/.local.
|
||||||
# Run from inside the extracted bundle directory: ./install.sh
|
# Run from inside the extracted bundle directory: ./install.sh
|
||||||
|
|
||||||
script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
||||||
|
|
||||||
app_dir=""
|
app_dir=""
|
||||||
for dir in "$script_dir"/zed-*.app; do
|
for dir in "$script_dir"/gwen-*.app; do
|
||||||
if [ -d "$dir" ]; then
|
if [ -d "$dir" ]; then
|
||||||
app_dir=$dir
|
app_dir=$dir
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [ -z "$app_dir" ]; then
|
if [ -z "$app_dir" ]; then
|
||||||
echo "Error: no zed-*.app bundle found in $script_dir" >&2
|
echo "Error: no gwen-*.app bundle found in $script_dir" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
app_name=${app_dir##*/}
|
app_name=${app_dir##*/}
|
||||||
suffix=${app_name#zed}
|
suffix=${app_name#gwen}
|
||||||
suffix=${suffix%.app}
|
suffix=${suffix%.app}
|
||||||
target="$HOME/.local/zed$suffix.app"
|
target="$HOME/.local/gwen$suffix.app"
|
||||||
|
|
||||||
rm -rf "$target"
|
rm -rf "$target"
|
||||||
mkdir -p "$HOME/.local"
|
mkdir -p "$HOME/.local"
|
||||||
cp -R "$app_dir" "$target"
|
cp -R "$app_dir" "$target"
|
||||||
|
|
||||||
# Ship the uninstaller inside the installation so the archive isn't needed to remove Zed
|
# Ship the uninstaller inside the installation so the archive isn't needed to remove Gwen
|
||||||
cp "$script_dir/uninstall.sh" "$target/uninstall.sh"
|
cp "$script_dir/uninstall.sh" "$target/uninstall.sh"
|
||||||
|
|
||||||
mkdir -p "$HOME/.local/bin" "$HOME/.local/share/applications"
|
mkdir -p "$HOME/.local/bin" "$HOME/.local/share/applications"
|
||||||
ln -sf "$target/bin/zed" "$HOME/.local/bin/zed"
|
ln -sf "$target/bin/gwen" "$HOME/.local/bin/gwen"
|
||||||
|
|
||||||
for desktop_file in "$target"/share/applications/*.desktop; do
|
for desktop_file in "$target"/share/applications/*.desktop; do
|
||||||
installed_desktop="$HOME/.local/share/applications/${desktop_file##*/}"
|
installed_desktop="$HOME/.local/share/applications/${desktop_file##*/}"
|
||||||
cp "$desktop_file" "$installed_desktop"
|
cp "$desktop_file" "$installed_desktop"
|
||||||
# sed anchors on Exec to avoid rewriting TryExec
|
# sed anchors on Exec to avoid rewriting TryExec
|
||||||
sed -i "s|^Exec=zed |Exec=$HOME/.local/bin/zed |g" "$installed_desktop"
|
sed -i "s|^Exec=gwen |Exec=$HOME/.local/bin/gwen |g" "$installed_desktop"
|
||||||
sed -i "s|^Icon=zed|Icon=$target/share/icons/hicolor/512x512/apps/zed.png|g" "$installed_desktop"
|
sed -i "s|^Icon=gwen|Icon=$target/share/icons/hicolor/512x512/apps/gwen.png|g" "$installed_desktop"
|
||||||
done
|
done
|
||||||
|
|
||||||
case ":$PATH:" in
|
case ":$PATH:" in
|
||||||
*":$HOME/.local/bin:"*) ;;
|
*":$HOME/.local/bin:"*) ;;
|
||||||
*) echo "Note: add $HOME/.local/bin to your PATH to run zed from the command line." ;;
|
*) echo "Note: add $HOME/.local/bin to your PATH to run gwen from the command line." ;;
|
||||||
esac
|
esac
|
||||||
echo "Zed installed to $target"
|
echo "Gwen installed to $target"
|
||||||
@@ -1,25 +1,25 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
# Uninstalls a Zed installation created by the accompanying install.sh.
|
# Uninstalls a Gwen installation created by the accompanying install.sh.
|
||||||
# Detects the installed channel automatically; override with ZED_CHANNEL.
|
# Detects the installed channel automatically; override with GWEN_CHANNEL.
|
||||||
|
|
||||||
self_dir=$(CDPATH= cd -- "$(dirname -- "$0")" 2>/dev/null && pwd) || self_dir=""
|
self_dir=$(CDPATH= cd -- "$(dirname -- "$0")" 2>/dev/null && pwd) || self_dir=""
|
||||||
|
|
||||||
channel="${ZED_CHANNEL:-}"
|
channel="${GWEN_CHANNEL:-}"
|
||||||
suffix=""
|
suffix=""
|
||||||
if [ -n "$channel" ] && [ "$channel" != stable ]; then
|
if [ -n "$channel" ] && [ "$channel" != stable ]; then
|
||||||
suffix="-$channel"
|
suffix="-$channel"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
app_dir="$HOME/.local/zed$suffix.app"
|
app_dir="$HOME/.local/gwen$suffix.app"
|
||||||
if [ -z "$channel" ]; then
|
if [ -z "$channel" ]; then
|
||||||
app_dir=""
|
app_dir=""
|
||||||
case "$self_dir" in
|
case "$self_dir" in
|
||||||
"$HOME"/.local/zed*.app) app_dir=$self_dir ;;
|
"$HOME"/.local/gwen*.app) app_dir=$self_dir ;;
|
||||||
esac
|
esac
|
||||||
if [ -z "$app_dir" ]; then
|
if [ -z "$app_dir" ]; then
|
||||||
for dir in "$HOME"/.local/zed*.app; do
|
for dir in "$HOME"/.local/gwen*.app; do
|
||||||
if [ -d "$dir" ]; then
|
if [ -d "$dir" ]; then
|
||||||
app_dir=$dir
|
app_dir=$dir
|
||||||
break
|
break
|
||||||
@@ -27,11 +27,11 @@ if [ -z "$channel" ]; then
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
if [ -z "$app_dir" ]; then
|
if [ -z "$app_dir" ]; then
|
||||||
echo "Zed is not installed in $HOME/.local"
|
echo "Gwen is not installed in $HOME/.local"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
app_name=${app_dir##*/}
|
app_name=${app_dir##*/}
|
||||||
suffix=${app_name#zed}
|
suffix=${app_name#gwen}
|
||||||
suffix=${suffix%.app}
|
suffix=${suffix%.app}
|
||||||
channel=${suffix#-}
|
channel=${suffix#-}
|
||||||
if [ -z "$channel" ]; then
|
if [ -z "$channel" ]; then
|
||||||
@@ -43,49 +43,49 @@ appid=""
|
|||||||
db_suffix="stable"
|
db_suffix="stable"
|
||||||
case "$channel" in
|
case "$channel" in
|
||||||
stable)
|
stable)
|
||||||
appid="dev.zed.Zed"
|
appid="com.yrkaierx.Gwen"
|
||||||
;;
|
;;
|
||||||
nightly)
|
nightly)
|
||||||
appid="dev.zed.Zed-Nightly"
|
appid="com.yrkaierx.Gwen-Nightly"
|
||||||
db_suffix="nightly"
|
db_suffix="nightly"
|
||||||
;;
|
;;
|
||||||
preview)
|
preview)
|
||||||
appid="dev.zed.Zed-Preview"
|
appid="com.yrkaierx.Gwen-Preview"
|
||||||
db_suffix="preview"
|
db_suffix="preview"
|
||||||
;;
|
;;
|
||||||
dev)
|
dev)
|
||||||
appid="dev.zed.Zed-Dev"
|
appid="com.yrkaierx.Gwen"
|
||||||
db_suffix="dev"
|
db_suffix="dev"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown release channel: ${channel}. Using stable app ID."
|
echo "Unknown release channel: ${channel}. Using stable app ID."
|
||||||
appid="dev.zed.Zed"
|
appid="com.yrkaierx.Gwen"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
rm -rf "$app_dir"
|
rm -rf "$app_dir"
|
||||||
|
|
||||||
rm -f "$HOME/.local/bin/zed"
|
rm -f "$HOME/.local/bin/gwen"
|
||||||
|
|
||||||
rm -f "$HOME/.local/share/applications/${appid}.desktop"
|
rm -f "$HOME/.local/share/applications/${appid}.desktop"
|
||||||
|
|
||||||
rm -rf "$HOME/.local/share/zed/db/0-$db_suffix"
|
rm -rf "$HOME/.local/share/gwen/db/0-$db_suffix"
|
||||||
rm -f "$HOME/.local/share/zed/zed-$db_suffix.sock"
|
rm -f "$HOME/.local/share/gwen/gwen-$db_suffix.sock"
|
||||||
|
|
||||||
remaining=0
|
remaining=0
|
||||||
for dir in "$HOME"/.local/zed*.app; do
|
for dir in "$HOME"/.local/gwen*.app; do
|
||||||
if [ -d "$dir" ]; then
|
if [ -d "$dir" ]; then
|
||||||
remaining=1
|
remaining=1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [ "$remaining" -eq 0 ]; then
|
if [ "$remaining" -eq 0 ]; then
|
||||||
rm -rf "$HOME/.local/share/zed"
|
rm -rf "$HOME/.local/share/gwen"
|
||||||
if [ -t 0 ]; then
|
if [ -t 0 ]; then
|
||||||
printf "Do you want to keep your Zed preferences? [Y/n] "
|
printf "Do you want to keep your Gwen preferences? [Y/n] "
|
||||||
read -r response
|
read -r response
|
||||||
case "$response" in
|
case "$response" in
|
||||||
[nN] | [nN][oO])
|
[nN] | [nN][oO])
|
||||||
rm -rf "$HOME/.config/zed"
|
rm -rf "$HOME/.config/gwen"
|
||||||
echo "Preferences removed."
|
echo "Preferences removed."
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -93,7 +93,7 @@ if [ "$remaining" -eq 0 ]; then
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
rm -rf "$HOME/.zed_server"
|
rm -rf "$HOME/.gwen_server"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Zed ($channel) has been uninstalled"
|
echo "Gwen ($channel) has been uninstalled"
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Version=1.0
|
|
||||||
Type=Application
|
|
||||||
Name=$APP_NAME
|
|
||||||
GenericName=Text Editor
|
|
||||||
Comment=A high-performance, multiplayer code editor.
|
|
||||||
TryExec=$APP_CLI
|
|
||||||
StartupNotify=$DO_STARTUP_NOTIFY
|
|
||||||
Exec=$APP_CLI $APP_ARGS
|
|
||||||
Icon=$APP_ICON
|
|
||||||
Categories=Utility;TextEditor;Development;IDE;
|
|
||||||
Keywords=zed;
|
|
||||||
# To add Zed to "Open Folder With..." context menu, add `inode/directory` to the MimeType field (semicolon separated)
|
|
||||||
# Arch linux users have reported this setting Zed as default file browser. See https://github.com/zed-industries/zed/pull/39076 and related issues.
|
|
||||||
# If this happens to you, an unconfirmed fix may be to install Arch's `gnome-defaults-list` package.
|
|
||||||
MimeType=text/plain;application/x-zerosize;x-scheme-handler/zed;
|
|
||||||
Actions=NewWorkspace;
|
|
||||||
|
|
||||||
[Desktop Action NewWorkspace]
|
|
||||||
Exec=$APP_CLI --new $APP_ARGS
|
|
||||||
Name=Open a new workspace
|
|
||||||
@@ -94,7 +94,7 @@ fn build_application() -> Application {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn files_not_created_on_launch(errors: HashMap<io::ErrorKind, Vec<&Path>>) {
|
fn files_not_created_on_launch(errors: HashMap<io::ErrorKind, Vec<&Path>>) {
|
||||||
let message = "Zed failed to launch";
|
let message = "Gwen failed to launch";
|
||||||
let error_details = errors
|
let error_details = errors
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.flat_map(|(kind, paths)| {
|
.flat_map(|(kind, paths)| {
|
||||||
@@ -156,7 +156,7 @@ fn fail_to_open_window_async(e: anyhow::Error, cx: &mut AsyncApp) {
|
|||||||
|
|
||||||
fn fail_to_open_window(e: anyhow::Error, _cx: &mut App) {
|
fn fail_to_open_window(e: anyhow::Error, _cx: &mut App) {
|
||||||
eprintln!(
|
eprintln!(
|
||||||
"Zed failed to open a window: {e:?}. See https://zed.dev/docs/linux for troubleshooting steps."
|
"Gwen failed to open a window: {e:?}. See https://zed.dev/docs/linux for troubleshooting steps."
|
||||||
);
|
);
|
||||||
#[cfg(not(any(target_os = "linux", target_os = "freebsd")))]
|
#[cfg(not(any(target_os = "linux", target_os = "freebsd")))]
|
||||||
{
|
{
|
||||||
@@ -176,7 +176,7 @@ fn fail_to_open_window(e: anyhow::Error, _cx: &mut App) {
|
|||||||
proxy
|
proxy
|
||||||
.add_notification(
|
.add_notification(
|
||||||
notification_id,
|
notification_id,
|
||||||
Notification::new("Zed failed to launch")
|
Notification::new("Gwen failed to launch")
|
||||||
.body(Some(
|
.body(Some(
|
||||||
format!(
|
format!(
|
||||||
"{e:?}. See https://zed.dev/docs/linux for troubleshooting steps."
|
"{e:?}. See https://zed.dev/docs/linux for troubleshooting steps."
|
||||||
@@ -315,7 +315,7 @@ fn main() {
|
|||||||
client::telemetry::os_name(),
|
client::telemetry::os_name(),
|
||||||
client::telemetry::os_version(),
|
client::telemetry::os_version(),
|
||||||
);
|
);
|
||||||
println!("Zed System Specs (from CLI):\n{}", system_specs);
|
println!("Gwen System Specs (from CLI):\n{}", system_specs);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -500,7 +500,7 @@ fn main() {
|
|||||||
handle_keymap_file_changes(user_keymap_file_rx, user_keymap_watcher, cx);
|
handle_keymap_file_changes(user_keymap_file_rx, user_keymap_watcher, cx);
|
||||||
|
|
||||||
let user_agent = format!(
|
let user_agent = format!(
|
||||||
"Zed/{} ({}; {})",
|
"Gwen/{} ({}; {})",
|
||||||
AppVersion::global(cx),
|
AppVersion::global(cx),
|
||||||
std::env::consts::OS,
|
std::env::consts::OS,
|
||||||
std::env::consts::ARCH
|
std::env::consts::ARCH
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ pub fn app_menus(cx: &mut App) -> Vec<Menu> {
|
|||||||
|
|
||||||
vec![
|
vec![
|
||||||
Menu {
|
Menu {
|
||||||
name: "Zed".into(),
|
name: "Gwen".into(),
|
||||||
disabled: false,
|
disabled: false,
|
||||||
items: vec![
|
items: vec![
|
||||||
MenuItem::action("About Zed", zed_actions::About),
|
MenuItem::action("About Zed", zed_actions::About),
|
||||||
|
|||||||
+25
-25
@@ -100,7 +100,7 @@ else
|
|||||||
for attempt in 1 2 3; do
|
for attempt in 1 2 3; do
|
||||||
echo "Attempting sentry upload (attempt $attempt/3)..."
|
echo "Attempting sentry upload (attempt $attempt/3)..."
|
||||||
if sentry-cli debug-files upload --include-sources --wait -p zed -o zed-dev \
|
if sentry-cli debug-files upload --include-sources --wait -p zed -o zed-dev \
|
||||||
"${target_dir}/${target_triple}"/release/zed \
|
"${target_dir}/${target_triple}"/release/gwen \
|
||||||
"${target_dir}/${remote_server_triple}"/release/remote_server; then
|
"${target_dir}/${remote_server_triple}"/release/remote_server; then
|
||||||
echo "Sentry upload successful on attempt $attempt"
|
echo "Sentry upload successful on attempt $attempt"
|
||||||
break
|
break
|
||||||
@@ -122,9 +122,9 @@ fi
|
|||||||
# is skipped.
|
# is skipped.
|
||||||
# We use llvm-objcopy because GNU objcopy on older distros (e.g. Ubuntu 20.04)
|
# We use llvm-objcopy because GNU objcopy on older distros (e.g. Ubuntu 20.04)
|
||||||
# doesn't understand CREL sections produced by newer LLVM.
|
# doesn't understand CREL sections produced by newer LLVM.
|
||||||
llvm-objcopy --only-keep-debug "${target_dir}/${target_triple}/release/zed" "${target_dir}/${target_triple}/release/zed.dbg"
|
llvm-objcopy --only-keep-debug "${target_dir}/${target_triple}/release/gwen" "${target_dir}/${target_triple}/release/gwen.dbg"
|
||||||
llvm-objcopy --only-keep-debug "${target_dir}/${remote_server_triple}/release/remote_server" "${target_dir}/${remote_server_triple}/release/remote_server.dbg"
|
llvm-objcopy --only-keep-debug "${target_dir}/${remote_server_triple}/release/remote_server" "${target_dir}/${remote_server_triple}/release/remote_server.dbg"
|
||||||
llvm-objcopy --strip-debug --discard-all "${target_dir}/${target_triple}/release/zed"
|
llvm-objcopy --strip-debug --discard-all "${target_dir}/${target_triple}/release/gwen"
|
||||||
llvm-objcopy --strip-debug --discard-all "${target_dir}/${target_triple}/release/cli"
|
llvm-objcopy --strip-debug --discard-all "${target_dir}/${target_triple}/release/cli"
|
||||||
llvm-objcopy --strip-debug --discard-all "${target_dir}/${remote_server_triple}/release/remote_server"
|
llvm-objcopy --strip-debug --discard-all "${target_dir}/${remote_server_triple}/release/remote_server"
|
||||||
|
|
||||||
@@ -145,13 +145,13 @@ fi
|
|||||||
# Move everything that should end up in the final package
|
# Move everything that should end up in the final package
|
||||||
# into a temp directory.
|
# into a temp directory.
|
||||||
temp_dir=$(mktemp -d)
|
temp_dir=$(mktemp -d)
|
||||||
zed_dir="${temp_dir}/zed$suffix.app"
|
zed_dir="${temp_dir}/gwen$suffix.app"
|
||||||
|
|
||||||
# Binary
|
# Binary
|
||||||
mkdir -p "${zed_dir}/bin" "${zed_dir}/libexec"
|
mkdir -p "${zed_dir}/bin" "${zed_dir}/libexec"
|
||||||
cp "${target_dir}/${target_triple}/release/zed" "${zed_dir}/libexec/zed-editor"
|
cp "${target_dir}/${target_triple}/release/gwen" "${zed_dir}/libexec/gwen"
|
||||||
cp "${target_dir}/${target_triple}/release/cli" "${zed_dir}/bin/zed"
|
cp "${target_dir}/${target_triple}/release/cli" "${zed_dir}/bin/gwen"
|
||||||
gzip -c --best "${target_dir}/${remote_server_triple}/release/remote_server" > "${zed_dir}/libexec/zed-remote-server.gz"
|
gzip -c --best "${target_dir}/${remote_server_triple}/release/remote_server" > "${zed_dir}/libexec/gwen-remote-server.gz"
|
||||||
|
|
||||||
# Libs
|
# Libs
|
||||||
# Bundle libstdc++ so older supported systems can run binaries built with our
|
# Bundle libstdc++ so older supported systems can run binaries built with our
|
||||||
@@ -161,7 +161,7 @@ gzip -c --best "${target_dir}/${remote_server_triple}/release/remote_server" > "
|
|||||||
# get dlopen'd are built against the system GLib, and resolving them against an
|
# get dlopen'd are built against the system GLib, and resolving them against an
|
||||||
# older bundled copy fails with missing symbols.
|
# older bundled copy fails with missing symbols.
|
||||||
find_libs() {
|
find_libs() {
|
||||||
ldd ${target_dir}/${target_triple}/release/zed |\
|
ldd ${target_dir}/${target_triple}/release/gwen |\
|
||||||
cut -d' ' -f3 |\
|
cut -d' ' -f3 |\
|
||||||
grep -v '\<\(libc.so\|libgcc_s.so\|libm.so\|libpthread.so\|libdl.so\|libasound.so\)' |\
|
grep -v '\<\(libc.so\|libgcc_s.so\|libm.so\|libpthread.so\|libdl.so\|libasound.so\)' |\
|
||||||
grep -v '\<\(libglib-2.0.so\|libgobject-2.0.so\|libgio-2.0.so\|libgmodule-2.0.so\|libpcre.so\|libpcre2-8.so\|libmount.so\|libblkid.so\|libselinux.so\|libffi.so\|libresolv.so\|libz.so\)'
|
grep -v '\<\(libglib-2.0.so\|libgobject-2.0.so\|libgio-2.0.so\|libgmodule-2.0.so\|libpcre.so\|libpcre2-8.so\|libmount.so\|libblkid.so\|libselinux.so\|libffi.so\|libresolv.so\|libz.so\)'
|
||||||
@@ -195,31 +195,31 @@ rm -rf "${pdfium_tmp}"
|
|||||||
|
|
||||||
# Icons
|
# Icons
|
||||||
mkdir -p "${zed_dir}/share/icons/hicolor/512x512/apps"
|
mkdir -p "${zed_dir}/share/icons/hicolor/512x512/apps"
|
||||||
cp "crates/zed/resources/app-icon$suffix.png" "${zed_dir}/share/icons/hicolor/512x512/apps/zed.png"
|
cp "crates/zed/resources/app-icon-gwen.png" "${zed_dir}/share/icons/hicolor/512x512/apps/gwen.png"
|
||||||
mkdir -p "${zed_dir}/share/icons/hicolor/1024x1024/apps"
|
mkdir -p "${zed_dir}/share/icons/hicolor/1024x1024/apps"
|
||||||
cp "crates/zed/resources/app-icon$suffix@2x.png" "${zed_dir}/share/icons/hicolor/1024x1024/apps/zed.png"
|
cp "crates/zed/resources/app-icon-gwen@2x.png" "${zed_dir}/share/icons/hicolor/1024x1024/apps/gwen.png"
|
||||||
|
|
||||||
# .desktop
|
# .desktop
|
||||||
export DO_STARTUP_NOTIFY="true"
|
export DO_STARTUP_NOTIFY="true"
|
||||||
export APP_CLI="zed"
|
export APP_CLI="gwen"
|
||||||
export APP_ICON="zed"
|
export APP_ICON="gwen"
|
||||||
export APP_ARGS="%U"
|
export APP_ARGS="%U"
|
||||||
if [[ "$channel" == "preview" ]]; then
|
if [[ "$channel" == "preview" ]]; then
|
||||||
export APP_NAME="Zed Preview"
|
export APP_NAME="Gwen Preview"
|
||||||
APP_ID="dev.zed.Zed-Preview"
|
APP_ID="com.yrkaierx.Gwen-Preview"
|
||||||
elif [[ "$channel" == "nightly" ]]; then
|
elif [[ "$channel" == "nightly" ]]; then
|
||||||
export APP_NAME="Zed Nightly"
|
export APP_NAME="Gwen Nightly"
|
||||||
APP_ID="dev.zed.Zed-Nightly"
|
APP_ID="com.yrkaierx.Gwen-Nightly"
|
||||||
elif [[ "$channel" == "dev" ]]; then
|
elif [[ "$channel" == "dev" ]]; then
|
||||||
export APP_NAME="Zed Devel"
|
export APP_NAME="Gwen"
|
||||||
APP_ID="dev.zed.Zed-Dev"
|
APP_ID="com.yrkaierx.Gwen"
|
||||||
else
|
else
|
||||||
export APP_NAME="Zed"
|
export APP_NAME="Gwen"
|
||||||
APP_ID="dev.zed.Zed"
|
APP_ID="com.yrkaierx.Gwen"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p "${zed_dir}/share/applications"
|
mkdir -p "${zed_dir}/share/applications"
|
||||||
envsubst < "crates/zed/resources/zed.desktop.in" > "${zed_dir}/share/applications/$APP_ID.desktop"
|
envsubst < "crates/zed/resources/gwen.desktop.in" > "${zed_dir}/share/applications/$APP_ID.desktop"
|
||||||
chmod +x "${zed_dir}/share/applications/$APP_ID.desktop"
|
chmod +x "${zed_dir}/share/applications/$APP_ID.desktop"
|
||||||
|
|
||||||
# Install/uninstall scripts ship in the archive root so it is self-contained
|
# Install/uninstall scripts ship in the archive root so it is self-contained
|
||||||
@@ -231,11 +231,11 @@ cp "assets/licenses.md" "${zed_dir}/licenses.md"
|
|||||||
|
|
||||||
# Create archive out of everything that's in the temp directory
|
# Create archive out of everything that's in the temp directory
|
||||||
arch=$(uname -m)
|
arch=$(uname -m)
|
||||||
archive="zed-linux-${arch}.tar.gz"
|
archive="gwen-linux-${arch}.tar.gz"
|
||||||
|
|
||||||
rm -rf "${archive}"
|
rm -rf "${archive}"
|
||||||
remove_match="zed(-[a-zA-Z0-9]+)?-linux-$(uname -m)\.tar\.gz"
|
remove_match="gwen(-[a-zA-Z0-9]+)?-linux-$(uname -m)\.tar\.gz"
|
||||||
ls "${target_dir}/release" | grep -E ${remove_match} | xargs -d "\n" -I {} rm -f "${target_dir}/release/{}" || true
|
ls "${target_dir}/release" | grep -E ${remove_match} | xargs -d "\n" -I {} rm -f "${target_dir}/release/{}" || true
|
||||||
tar -czvf "${target_dir}/release/$archive" -C ${temp_dir} "zed$suffix.app" install.sh uninstall.sh
|
tar -czvf "${target_dir}/release/$archive" -C ${temp_dir} "gwen$suffix.app" install.sh uninstall.sh
|
||||||
|
|
||||||
gzip -f --stdout --best "${target_dir}/${remote_server_triple}/release/remote_server" > "${target_dir}/zed-remote-server-linux-${arch}.gz"
|
gzip -f --stdout --best "${target_dir}/${remote_server_triple}/release/remote_server" > "${target_dir}/gwen-remote-server-linux-${arch}.gz"
|
||||||
Reference in new issue
Block a user