func (c *keyList) Run(context *cmd.Context, client *cmd.Client) error { url, err := cmd.GetURL("/users/keys") if err != nil { return err } request, err := http.NewRequest("GET", url, nil) if err != nil { return err } resp, err := client.Do(request) if err != nil { return err } defer resp.Body.Close() var keys map[string]string err = json.NewDecoder(resp.Body).Decode(&keys) if err != nil { return err } var table cmd.Table table.Headers = cmd.Row{"Name", "Content"} table.LineSeparator = c.notrunc for name, content := range keys { row := []string{name, content} if !c.notrunc && len(row[1]) > keyTruncate { row[1] = row[1][:keyTruncate] + "..." } table.AddRow(cmd.Row(row)) } table.SortByColumn(0) context.Stdout.Write(table.Bytes()) return nil }