func action()

in main.go [12:41]


func action(c *cli.Context) error {
	octclient := core.NewOctclient(c.String("username"), c.String("token"))
	query, err := octclient.GetRepositoriesContributedTo(
		c.Context,
		c.Bool("sort-by-size"),
		c.Bool("reverse-order"),
	)

	if err != nil {
		return err
	}

	var result string
	format := c.String("format")

	switch format {
	case "markdown":
		result = octclient.ConvertTableForMarkdown(query, &core.MarkdownOptions{IsEachExtension: c.Bool("each-extension")})
	case "json":
		result, err = octclient.ConvertJson(query)
		if err != nil {
			return err
		}
	default:
		return fmt.Errorf("format option is invalid: %s", format)
	}

	fmt.Printf("%s\n", result)
	return nil
}