summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaz <ndpm13@ch-naseem.com>2025-08-07 13:48:53 +0100
committerNaz <ndpm13@ch-naseem.com>2025-08-07 13:48:53 +0100
commitc5157ee81b64f20c12ac11b7eb79e07bd3af1469 (patch)
treece7e99354c2b3a33914f1ebe9da9bb77b8908888
parentbf42f2e19d8bf710d149c6c6f7301fae2310ba41 (diff)
✨feat: add scaffolding for the github functionality
-rw-r--r--src/args.rs4
-rw-r--r--src/main.rs6
-rw-r--r--src/manager.rs11
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?;