checkpoint: add more colour

- Add a colour for fields
- Add a colour for the account's display name
This commit is contained in:
Dan Anglin 2024-02-24 13:10:41 +00:00
parent 72c2c4796a
commit f4af81947e
Signed by: dananglin
GPG key ID: 0C1D44CFBEE68638
5 changed files with 45 additions and 32 deletions

View file

@ -67,9 +67,9 @@ func (a Account) String() string {
%s %s
%s %s
Followers: %d %s %d
Following: %d %s %d
Statuses: %d %s %d
%s %s
%s %s
@ -84,28 +84,28 @@ func (a Account) String() string {
for _, field := range a.Fields { for _, field := range a.Fields {
metadata += fmt.Sprintf( metadata += fmt.Sprintf(
"\n %s: %s", "\n %s: %s",
field.Name, utilities.FieldFormat(field.Name),
utilities.StripHTMLTags(field.Value), utilities.StripHTMLTags(field.Value),
) )
} }
return fmt.Sprintf( return fmt.Sprintf(
format, format,
a.DisplayName, utilities.DisplayNameFormat(a.DisplayName),
a.Username, a.Username,
utilities.Header("ACCOUNT ID:"), utilities.HeaderFormat("ACCOUNT ID:"),
a.ID, a.ID,
utilities.Header("JOINED ON:"), utilities.HeaderFormat("JOINED ON:"),
utilities.FormatDate(a.CreatedAt), utilities.FormatDate(a.CreatedAt),
utilities.Header("STATS:"), utilities.HeaderFormat("STATS:"),
a.FollowersCount, utilities.FieldFormat("Followers:"), a.FollowersCount,
a.FollowingCount, utilities.FieldFormat("Followeing:"), a.FollowingCount,
a.StatusCount, utilities.FieldFormat("Statuses:"), a.StatusCount,
utilities.Header("BIOGRAPHY:"), utilities.HeaderFormat("BIOGRAPHY:"),
utilities.WrapLine(utilities.StripHTMLTags(a.Note), "\n ", 80), utilities.WrapLine(utilities.StripHTMLTags(a.Note), "\n ", 80),
utilities.Header("METADATA:"), utilities.HeaderFormat("METADATA:"),
metadata, metadata,
utilities.Header("ACCOUNT URL:"), utilities.HeaderFormat("ACCOUNT URL:"),
a.URL, a.URL,
) )
} }

View file

@ -123,23 +123,26 @@ func (i InstanceV2) String() string {
Running GoToSocial %s Running GoToSocial %s
%s %s
name: %s %s %s
username: %s %s %s
email: %s %s %s
` `
return fmt.Sprintf( return fmt.Sprintf(
format, format,
utilities.Header("INSTANCE:"), utilities.HeaderFormat("INSTANCE:"),
i.Title, i.Title,
i.Description, i.Description,
utilities.Header("DOMAIN:"), utilities.HeaderFormat("DOMAIN:"),
i.Domain, i.Domain,
utilities.Header("VERSION:"), utilities.HeaderFormat("VERSION:"),
i.Version, i.Version,
utilities.Header("CONTACT:"), utilities.HeaderFormat("CONTACT:"),
i.Contact.Account.DisplayName, utilities.FieldFormat("Name:"),
utilities.DisplayNameFormat(i.Contact.Account.DisplayName),
utilities.FieldFormat("Username:"),
i.Contact.Account.Username, i.Contact.Account.Username,
utilities.FieldFormat("Email:"),
i.Contact.Email, i.Contact.Email,
) )
} }

View file

@ -179,21 +179,21 @@ func (s Status) String() string {
return fmt.Sprintf( return fmt.Sprintf(
format, format,
s.Account.DisplayName, utilities.DisplayNameFormat(s.Account.DisplayName),
s.Account.Username, s.Account.Username,
utilities.Header("CONTENT:"), utilities.HeaderFormat("CONTENT:"),
utilities.StripHTMLTags(s.Content), utilities.StripHTMLTags(s.Content),
utilities.Header("STATUS ID:"), utilities.HeaderFormat("STATUS ID:"),
s.ID, s.ID,
utilities.Header("CREATED AT:"), utilities.HeaderFormat("CREATED AT:"),
utilities.FormatTime(s.CreatedAt), utilities.FormatTime(s.CreatedAt),
utilities.Header("STATS:"), utilities.HeaderFormat("STATS:"),
s.RebloggsCount, s.RebloggsCount,
s.FavouritesCount, s.FavouritesCount,
s.RepliesCount, s.RepliesCount,
utilities.Header("VISIBILITY:"), utilities.HeaderFormat("VISIBILITY:"),
s.Visibility, s.Visibility,
utilities.Header("URL:"), utilities.HeaderFormat("URL:"),
s.URL, s.URL,
) )
} }

View file

@ -19,9 +19,9 @@ func (t Timeline) String() string {
builder.WriteString(t.Name + "\n" + separator + "\n") builder.WriteString(t.Name + "\n" + separator + "\n")
for _, status := range t.Statuses { for _, status := range t.Statuses {
builder.WriteString(status.Account.DisplayName + " (@" + status.Account.Username + ")\n\n") builder.WriteString(utilities.DisplayNameFormat(status.Account.DisplayName) + " (@" + status.Account.Username + ")\n\n")
builder.WriteString(utilities.WrapLine(utilities.StripHTMLTags(status.Content), "\n", 80) + "\n\n") builder.WriteString(utilities.WrapLine(utilities.StripHTMLTags(status.Content), "\n", 80) + "\n\n")
builder.WriteString("ID: " + status.ID + "\tCreated at: " + utilities.FormatTime(status.CreatedAt) + "\n") builder.WriteString(utilities.FieldFormat("ID:") + " " + status.ID + "\t" + utilities.FieldFormat("Created at:") + " " + utilities.FormatTime(status.CreatedAt) + "\n")
builder.WriteString(separator + "\n") builder.WriteString(separator + "\n")
} }

View file

@ -11,6 +11,8 @@ import (
const ( const (
reset = "\033[0m" reset = "\033[0m"
boldblue = "\033[34;1m" boldblue = "\033[34;1m"
boldmagenta = "\033[35;1m"
green = "\033[32m"
) )
func StripHTMLTags(text string) string { func StripHTMLTags(text string) string {
@ -52,10 +54,18 @@ func WrapLine(line, separator string, charLimit int) string {
return builder.String() return builder.String()
} }
func Header(text string) string { func HeaderFormat(text string) string {
return boldblue + text + reset return boldblue + text + reset
} }
func FieldFormat(text string) string {
return green + text + reset
}
func DisplayNameFormat(text string) string {
return boldmagenta + text + reset
}
func FormatDate(date time.Time) string { func FormatDate(date time.Time) string {
return date.Local().Format("02 Jan 2006") return date.Local().Format("02 Jan 2006")
} }