From c5157ee81b64f20c12ac11b7eb79e07bd3af1469 Mon Sep 17 00:00:00 2001 From: Naz Date: Thu, 7 Aug 2025 13:48:53 +0100 Subject: =?UTF-8?q?=E2=9C=A8feat:=20add=20scaffolding=20for=20the=20github?= =?UTF-8?q?=20functionality?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/args.rs | 4 ++++ src/main.rs | 6 +++++- src/manager.rs | 11 ++++++++--- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/args.rs b/src/args.rs index 39354f6..a7aa5c6 100644 --- a/src/args.rs +++ b/src/args.rs @@ -34,6 +34,10 @@ pub struct InstallArgs { /// Name of the executable #[arg(long)] pub executable: Option, + + /// Use --from as repository slug to fetch from GitHub + #[arg(long, default_value_t = false)] + pub github: bool, } #[derive(Debug, Args)] diff --git a/src/main.rs b/src/main.rs index 3eb7e95..e4bc296 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,7 +14,11 @@ async fn run() -> Result<()> { file_path: PathBuf::new(), executable: args.executable.unwrap_or(args.appname.clone()), source: Source { - identifier: "raw_url".to_string(), + identifier: if args.github { + "git.github".to_string() + } else { + "raw_url".to_string() + }, meta: SourceMetadata { url: args.from }, }, }; diff --git a/src/manager.rs b/src/manager.rs index 6f3cfac..e0fb7ac 100644 --- a/src/manager.rs +++ b/src/manager.rs @@ -26,9 +26,14 @@ impl PackageManager { appimage.file_path = self .downloader .prepare_path(&appimage.source.meta.url, &appimage.executable)?; - self.downloader - .download_with_progress(&appimage.source.meta.url, &appimage.file_path) - .await?; + + if appimage.source.identifier != "git.github" { + self.downloader + .download_with_progress(&appimage.source.meta.url, &appimage.file_path) + .await?; + } else { + todo!() + } self.index.add(appimage, appname).await?; self.symlink_manager.create(appimage).await?; -- cgit v1.2.3