shithub: hell

Download patch

ref: 5f003d0c8c4be2dbbac6358d22f99f1d6c24ef2b
parent: 6f0f31a4efc83576aa1188f6efba6cb55a974dcf
author: penny <penny@limitedideas.org>
date: Mon Nov 3 16:00:45 EST 2025

port /home /local /public

--- a/commands.go
+++ b/commands.go
@@ -637,13 +637,68 @@
 				return fmt.Sprintln(err)
 			}
 		}
-		//If we got here either this was already true or we deleted it?
-		hc.recentpost = nil
+		if !data.found_index {
+			hc.recentpost = nil
+		}
 		return ""
 	}
 	return cmd
 }
 
+func (hc *Hellclient) homecmd() cmder {
+	cmd := &basiccmd{}
+	cmd.hc = hc
+	cmd.bname = "home"
+	cmd.bflags = free
+	cmd.doer = func(data *cmddata) string {
+		hc.page = &Page{}
+		getter := &BasicStatusGetter{getter: hc.client.GetTimelineHome}
+		hc.page.loader = &StatusPages{hc: hc, getter: getter}
+		hc.pause(true)
+		return hc.page.String()
+
+	}
+	return cmd
+}
+
+func (hc *Hellclient) localcmd() cmder {
+	cmd := &basiccmd{}
+	cmd.hc = hc
+	cmd.bname = "local"
+	cmd.bflags = free
+	cmd.doer = func(data *cmddata) string {
+		hc.page = &Page{}
+		localAPI := func(ctx context.Context, pg *mastodon.Pagination) ([]*mastodon.Status, error) {
+					return hc.client.GetTimelinePublic(ctx, true, pg)
+		}
+		getter := &BasicStatusGetter{getter: localAPI}
+		hc.page.loader = &StatusPages{hc: hc, getter: getter}
+		hc.pause(true)
+		return hc.page.String()
+
+	}
+	return cmd
+}
+
+func (hc *Hellclient) publiccmd() cmder {
+	cmd := &basiccmd{}
+	cmd.hc = hc
+	cmd.bname = "public"
+	cmd.bflags = free
+	cmd.doer = func(data *cmddata) string {
+		hc.page = &Page{}
+		localAPI := func(ctx context.Context, pg *mastodon.Pagination) ([]*mastodon.Status, error) {
+					return hc.client.GetTimelinePublic(ctx, false, pg)
+		}
+		getter := &BasicStatusGetter{getter: localAPI}
+		hc.page.loader = &StatusPages{hc: hc, getter: getter}
+		hc.pause(true)
+		return hc.page.String()
+
+	}
+	return cmd
+}
+
 func (hc *Hellclient) newCmdArray() []cmder {
 	cmdarray := []cmder{
 		hc.replycmd(),
@@ -664,6 +719,9 @@
 		hc.noticecmd(),
 		hc.pausecmd(),
 		hc.resumecmd(),
+		hc.homecmd(),
+		hc.localcmd(),
+		hc.publiccmd(),
 	}
 	return cmdarray
 }
--- a/main.go
+++ b/main.go
@@ -124,23 +124,6 @@
 
 			//Contextual commands that need to handle their own requirements
 			switch command {
-			case "home":
-				hc.page = &Page{}
-				getter := &BasicStatusGetter{getter: hc.client.GetTimelineHome}
-				hc.page.loader = &StatusPages{hc: hc, getter: getter}
-				fmt.Print(hc.page.String())
-				hc.pause(true)
-				return
-			case "local":
-				hc.page = &Page{}
-				localAPI := func(ctx context.Context, pg *mastodon.Pagination) ([]*mastodon.Status, error) {
-					return hc.client.GetTimelinePublic(ctx, true, pg)
-				}
-				getter := &BasicStatusGetter{getter: localAPI}
-				hc.page.loader = &StatusPages{hc: hc, getter: getter}
-				fmt.Print(hc.page.String())
-				hc.pause(true)
-				return
 			case "public":
 				hc.page = &Page{}
 				localAPI := func(ctx context.Context, pg *mastodon.Pagination) ([]*mastodon.Status, error) {
--