diff options
| author | Naz <ndpm13@ch-naseem.com> | 2025-08-07 13:48:53 +0100 |
|---|---|---|
| committer | Naz <ndpm13@ch-naseem.com> | 2025-08-07 13:48:53 +0100 |
| commit | c5157ee81b64f20c12ac11b7eb79e07bd3af1469 (patch) | |
| tree | ce7e99354c2b3a33914f1ebe9da9bb77b8908888 | |
| parent | bf42f2e19d8bf710d149c6c6f7301fae2310ba41 (diff) | |
✨feat: add scaffolding for the github functionality
| -rw-r--r-- | src/args.rs | 4 | ||||
| -rw-r--r-- | src/main.rs | 6 | ||||
| -rw-r--r-- | 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<String>, + + /// 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?; |
