package main import ( "context" "github.com/mattn/go-mastodon" "github.com/urfave/cli" ) func cmdTimeline(c *cli.Context) error { client := c.App.Metadata["client"].(*mastodon.Client) config := c.App.Metadata["config"].(*mastodon.Config) timeline, err := client.GetTimelineHome(context.Background(), nil) if err != nil { return err } s := newScreen(config) for i := len(timeline) - 1; i >= 0; i-- { s.displayStatus(c.App.Writer, timeline[i]) } return nil } func cmdTimelineHome(c *cli.Context) error { return cmdTimeline(c) } func cmdTimelinePublic(c *cli.Context) error { client := c.App.Metadata["client"].(*mastodon.Client) config := c.App.Metadata["config"].(*mastodon.Config) timeline, err := client.GetTimelinePublic(context.Background(), false, nil) if err != nil { return err } s := newScreen(config) for i := len(timeline) - 1; i >= 0; i-- { s.displayStatus(c.App.Writer, timeline[i]) } return nil } func cmdTimelineLocal(c *cli.Context) error { client := c.App.Metadata["client"].(*mastodon.Client) config := c.App.Metadata["config"].(*mastodon.Config) timeline, err := client.GetTimelinePublic(context.Background(), true, nil) if err != nil { return err } s := newScreen(config) for i := len(timeline) - 1; i >= 0; i-- { s.displayStatus(c.App.Writer, timeline[i]) } return nil } func cmdTimelineDirect(c *cli.Context) error { client := c.App.Metadata["client"].(*mastodon.Client) config := c.App.Metadata["config"].(*mastodon.Config) timeline, err := client.GetTimelineDirect(context.Background(), nil) if err != nil { return err } s := newScreen(config) for i := len(timeline) - 1; i >= 0; i-- { s.displayStatus(c.App.Writer, timeline[i]) } return nil }