From f4af81947e6676a565842eb511e77d6c6e7fbd24 Mon Sep 17 00:00:00 2001 From: Dan Anglin Date: Sat, 24 Feb 2024 13:10:41 +0000 Subject: [PATCH] checkpoint: add more colour - Add a colour for fields - Add a colour for the account's display name --- internal/model/account.go | 28 ++++++++++++++-------------- internal/model/instance_v2.go | 19 +++++++++++-------- internal/model/status.go | 14 +++++++------- internal/model/timeline.go | 4 ++-- internal/utilities/utilities.go | 12 +++++++++++- 5 files changed, 45 insertions(+), 32 deletions(-) diff --git a/internal/model/account.go b/internal/model/account.go index 377e430..4313263 100644 --- a/internal/model/account.go +++ b/internal/model/account.go @@ -67,9 +67,9 @@ func (a Account) String() string { %s %s - Followers: %d - Following: %d - Statuses: %d + %s %d + %s %d + %s %d %s %s @@ -84,28 +84,28 @@ func (a Account) String() string { for _, field := range a.Fields { metadata += fmt.Sprintf( "\n %s: %s", - field.Name, + utilities.FieldFormat(field.Name), utilities.StripHTMLTags(field.Value), ) } return fmt.Sprintf( format, - a.DisplayName, + utilities.DisplayNameFormat(a.DisplayName), a.Username, - utilities.Header("ACCOUNT ID:"), + utilities.HeaderFormat("ACCOUNT ID:"), a.ID, - utilities.Header("JOINED ON:"), + utilities.HeaderFormat("JOINED ON:"), utilities.FormatDate(a.CreatedAt), - utilities.Header("STATS:"), - a.FollowersCount, - a.FollowingCount, - a.StatusCount, - utilities.Header("BIOGRAPHY:"), + utilities.HeaderFormat("STATS:"), + utilities.FieldFormat("Followers:"), a.FollowersCount, + utilities.FieldFormat("Followeing:"), a.FollowingCount, + utilities.FieldFormat("Statuses:"), a.StatusCount, + utilities.HeaderFormat("BIOGRAPHY:"), utilities.WrapLine(utilities.StripHTMLTags(a.Note), "\n ", 80), - utilities.Header("METADATA:"), + utilities.HeaderFormat("METADATA:"), metadata, - utilities.Header("ACCOUNT URL:"), + utilities.HeaderFormat("ACCOUNT URL:"), a.URL, ) } diff --git a/internal/model/instance_v2.go b/internal/model/instance_v2.go index a7dba28..78b35d5 100644 --- a/internal/model/instance_v2.go +++ b/internal/model/instance_v2.go @@ -123,23 +123,26 @@ func (i InstanceV2) String() string { Running GoToSocial %s %s - name: %s - username: %s - email: %s + %s %s + %s %s + %s %s ` return fmt.Sprintf( format, - utilities.Header("INSTANCE:"), + utilities.HeaderFormat("INSTANCE:"), i.Title, i.Description, - utilities.Header("DOMAIN:"), + utilities.HeaderFormat("DOMAIN:"), i.Domain, - utilities.Header("VERSION:"), + utilities.HeaderFormat("VERSION:"), i.Version, - utilities.Header("CONTACT:"), - i.Contact.Account.DisplayName, + utilities.HeaderFormat("CONTACT:"), + utilities.FieldFormat("Name:"), + utilities.DisplayNameFormat(i.Contact.Account.DisplayName), + utilities.FieldFormat("Username:"), i.Contact.Account.Username, + utilities.FieldFormat("Email:"), i.Contact.Email, ) } diff --git a/internal/model/status.go b/internal/model/status.go index 2c8be69..c47be68 100644 --- a/internal/model/status.go +++ b/internal/model/status.go @@ -179,21 +179,21 @@ func (s Status) String() string { return fmt.Sprintf( format, - s.Account.DisplayName, + utilities.DisplayNameFormat(s.Account.DisplayName), s.Account.Username, - utilities.Header("CONTENT:"), + utilities.HeaderFormat("CONTENT:"), utilities.StripHTMLTags(s.Content), - utilities.Header("STATUS ID:"), + utilities.HeaderFormat("STATUS ID:"), s.ID, - utilities.Header("CREATED AT:"), + utilities.HeaderFormat("CREATED AT:"), utilities.FormatTime(s.CreatedAt), - utilities.Header("STATS:"), + utilities.HeaderFormat("STATS:"), s.RebloggsCount, s.FavouritesCount, s.RepliesCount, - utilities.Header("VISIBILITY:"), + utilities.HeaderFormat("VISIBILITY:"), s.Visibility, - utilities.Header("URL:"), + utilities.HeaderFormat("URL:"), s.URL, ) } diff --git a/internal/model/timeline.go b/internal/model/timeline.go index 71e2314..ba8eb1b 100644 --- a/internal/model/timeline.go +++ b/internal/model/timeline.go @@ -19,9 +19,9 @@ func (t Timeline) String() string { builder.WriteString(t.Name + "\n" + separator + "\n") 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("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") } diff --git a/internal/utilities/utilities.go b/internal/utilities/utilities.go index cb5f2be..6a71c38 100644 --- a/internal/utilities/utilities.go +++ b/internal/utilities/utilities.go @@ -11,6 +11,8 @@ import ( const ( reset = "\033[0m" boldblue = "\033[34;1m" + boldmagenta = "\033[35;1m" + green = "\033[32m" ) func StripHTMLTags(text string) string { @@ -52,10 +54,18 @@ func WrapLine(line, separator string, charLimit int) string { return builder.String() } -func Header(text string) string { +func HeaderFormat(text string) string { 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 { return date.Local().Format("02 Jan 2006") }