-
Notifications
You must be signed in to change notification settings - Fork 92
fix: consistent tab spacing in describe commands #1216
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I like that its way less manual work to align the fields. Just playing around with the output, I find it easier to understand if each "sub-object" would have its own indent level, and there are new lines between the different "sub-objects". Output from this PROutput for my suggestionDiff for my formattingdiff --git a/internal/cmd/storagebox/describe.go b/internal/cmd/storagebox/describe.go
index c09ea7d8..93c1a35f 100644
--- a/internal/cmd/storagebox/describe.go
+++ b/internal/cmd/storagebox/describe.go
@@ -38,11 +38,12 @@ var DescribeCmd = base.DescribeCmd[*hcloud.StorageBox]{
fmt.Fprintf(out, "Server:\t%s\n", storageBox.Server)
fmt.Fprintf(out, "System:\t%s\n", storageBox.System)
+ fmt.Fprintln(out)
snapshotPlan := storageBox.SnapshotPlan
if snapshotPlan == nil {
fmt.Fprintf(out, "Snapshot Plan:\tNo snapshot plan active\n")
} else {
- fmt.Fprintf(out, "Snapshot Plan:\t\n")
+ fmt.Fprintf(out, "Snapshot Plan:\n")
fmt.Fprintf(out, " Max Snapshots:\t%d\n", snapshotPlan.MaxSnapshots)
fmt.Fprintf(out, " Minute:\t%d\n", snapshotPlan.Minute)
fmt.Fprintf(out, " Hour:\t%d\n", snapshotPlan.Hour)
@@ -55,31 +56,37 @@ var DescribeCmd = base.DescribeCmd[*hcloud.StorageBox]{
}
}
+ fmt.Fprintln(out)
protection := storageBox.Protection
- fmt.Fprintf(out, "Protection:\t\n")
+ fmt.Fprintf(out, "Protection:\n")
fmt.Fprintf(out, " Delete:\t%t\n", protection.Delete)
+ fmt.Fprintln(out)
stats := storageBox.Stats
- fmt.Fprintf(out, "Stats:\t\n")
+ fmt.Fprintf(out, "Stats:\n")
fmt.Fprintf(out, " Size:\t%s\n", humanize.IBytes(stats.Size))
fmt.Fprintf(out, " Size Data:\t%s\n", humanize.IBytes(stats.SizeData))
fmt.Fprintf(out, " Size Snapshots:\t%s\n", humanize.IBytes(stats.SizeSnapshots))
+ fmt.Fprintln(out)
util.DescribeLabels(out, storageBox.Labels, "")
+ fmt.Fprintln(out)
accessSettings := storageBox.AccessSettings
- fmt.Fprintf(out, "Access Settings:\t\n")
+ fmt.Fprintf(out, "Access Settings:\n")
fmt.Fprintf(out, " Reachable Externally:\t%t\n", accessSettings.ReachableExternally)
fmt.Fprintf(out, " Samba Enabled:\t%t\n", accessSettings.SambaEnabled)
fmt.Fprintf(out, " SSH Enabled:\t%t\n", accessSettings.SSHEnabled)
fmt.Fprintf(out, " WebDAV Enabled:\t%t\n", accessSettings.WebDAVEnabled)
fmt.Fprintf(out, " ZFS Enabled:\t%t\n", accessSettings.ZFSEnabled)
+ fmt.Fprintln(out)
typeDescription, _ := storageboxtype.DescribeStorageBoxType(s, storageBox.StorageBoxType, true)
- fmt.Fprintf(out, "Storage Box Type:\t\n")
+ fmt.Fprintf(out, "Storage Box Type:\n")
fmt.Fprintf(out, "%s", util.PrefixLines(typeDescription, " "))
- fmt.Fprintf(out, "Location:\t\n")
+ fmt.Fprintln(out)
+ fmt.Fprintf(out, "Location:\n")
fmt.Fprintf(out, "%s", util.PrefixLines(location.DescribeLocation(storageBox.Location), " "))
return nil
diff --git a/internal/cmd/util/util.go b/internal/cmd/util/util.go
index 486ee1c4..5febd8e6 100644
--- a/internal/cmd/util/util.go
+++ b/internal/cmd/util/util.go
@@ -448,7 +448,7 @@ func DescribeLabels(out io.Writer, labels map[string]string, prefix string) {
if len(labels) == 0 {
_, _ = fmt.Fprintf(out, "%sLabels:\tNo labels\n", prefix)
} else {
- _, _ = fmt.Fprintf(out, "%sLabels:\t\n", prefix)
+ _, _ = fmt.Fprintf(out, "%sLabels:\n", prefix)
for key, value := range IterateInOrder(labels) {
_, _ = fmt.Fprintf(out, "%s %s:\t%s\n", prefix, key, value)
} |
|
Would be fine for me, looks a bit more organized |
apricote
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice already :) Found some minor formatting inconsistencies
| fmt.Fprintf(out, "Fingerprint:\t%s\n", sshKey.Fingerprint) | ||
|
|
||
| fmt.Fprintln(out) | ||
| fmt.Fprintf(out, "Public Key:\n%s\n", strings.TrimSpace(sshKey.PublicKey)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe with some space infront of the string?
| fmt.Fprintf(out, "Public Key:\n%s\n", strings.TrimSpace(sshKey.PublicKey)) | |
| fmt.Fprintf(out, "Public Key:\n %s\n", strings.TrimSpace(sshKey.PublicKey)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could be annoying if the whitespace is included when copying the line
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1216 +/- ##
==========================================
+ Coverage 72.28% 72.47% +0.19%
==========================================
Files 311 311
Lines 11407 11413 +6
==========================================
+ Hits 8245 8272 +27
+ Misses 2216 2208 -8
+ Partials 946 933 -13
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
<!-- section-start changelog --> ### Features - format user provided TXT records when not quoted (#1208) ### Bug Fixes - more readable default time format (#1197) - **iso**: broken `--type` flag in list command (#1221) - Storage Boxes not listed in `hcloud all list` (#1222) - consistent tab spacing in describe commands (#1216) - filepaths not correctly resolved on Windows (#1229) <!-- section-end changelog --> --- <details> <summary><h4>PR by <a href="https://github.com/apricote/releaser-pleaser">releaser-pleaser</a> 🤖</h4></summary> If you want to modify the proposed release, add you overrides here. You can learn more about the options in the docs. ## Release Notes ### Prefix / Start This will be added to the start of the release notes. ~~~~rp-prefix ~~~~ ### Suffix / End This will be added to the end of the release notes. ~~~~rp-suffix ~~~~ </details> Co-authored-by: Hetzner Cloud Bot <>
This PR makes the spacing used in describe commands consistent by utilizing Go's tabwriter.