From ff35655e6f286a56414a683cdd526931264cf620 Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 30 Nov 2022 11:29:34 +0100 Subject: [PATCH 1/3] Eliminate blank line between required tools row entries --- cli/board/details.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/board/details.go b/cli/board/details.go index a51957ac917..b514dae3b7e 100644 --- a/cli/board/details.go +++ b/cli/board/details.go @@ -169,9 +169,9 @@ func (dr detailsResult) String() string { t.AddRow() // get some space from above } } - t.AddRow() // get some space from above } + t.AddRow() // get some space from above for _, option := range details.ConfigOptions { t.AddRow(tr("Option:"), option.OptionLabel, "", option.Option) for _, value := range option.Values { From 2d2028d727363dbeb5d5b9af869e5a2cbf2af2ee Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Wed, 30 Nov 2022 11:31:02 +0100 Subject: [PATCH 2/3] Fix Programmers ID typo and modify tests accordingly --- cli/board/details.go | 2 +- internal/integrationtest/board/board_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cli/board/details.go b/cli/board/details.go index b514dae3b7e..0a3300e01f7 100644 --- a/cli/board/details.go +++ b/cli/board/details.go @@ -190,7 +190,7 @@ func (dr detailsResult) String() string { } } - t.AddRow(tr("Programmers:"), tr("Id"), tr("Name")) + t.AddRow(tr("Programmers:"), tr("ID"), tr("Name")) for _, programmer := range details.Programmers { t.AddRow("", programmer.GetId(), programmer.GetName()) } diff --git a/internal/integrationtest/board/board_test.go b/internal/integrationtest/board/board_test.go index c243abd7843..b3ac071ddb4 100644 --- a/internal/integrationtest/board/board_test.go +++ b/internal/integrationtest/board/board_test.go @@ -326,7 +326,7 @@ func TestBoardDetailsListProgrammersWithoutFlag(t *testing.T) { for i, l := range split { lines[i] = strings.Fields(l) } - require.Contains(t, lines, []string{"Programmers:", "Id", "Name"}) + require.Contains(t, lines, []string{"Programmers:", "ID", "Name"}) require.Contains(t, lines, []string{"edbg", "Atmel", "EDBG"}) require.Contains(t, lines, []string{"atmel_ice", "Atmel-ICE"}) require.Contains(t, lines, []string{"sam_ice", "Atmel", "SAM-ICE"}) From ce18f6e012b36f177e6ae2d6d49576884e72cedb Mon Sep 17 00:00:00 2001 From: Matteo Pologruto Date: Thu, 1 Dec 2022 10:06:05 +0100 Subject: [PATCH 3/3] Reduce spacing between "Required tool" columns Splitting the table produced by `board details` after `Platform checksum` resets both the average length and the variance of the following cells, thus reducing the space between entries. --- cli/board/details.go | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/cli/board/details.go b/cli/board/details.go index 0a3300e01f7..9a4143bc8ff 100644 --- a/cli/board/details.go +++ b/cli/board/details.go @@ -109,6 +109,7 @@ func (dr detailsResult) String() string { // ATmega328P (Old Bootloader) cpu=atmega328old // ATmega168 cpu=atmega168 t := table.New() + tab := table.New() addIfNotEmpty := func(label, content string) { if content != "" { t.AddRow(label, content) @@ -157,32 +158,34 @@ func (dr detailsResult) String() string { addIfNotEmpty(tr("Platform checksum:"), details.Platform.Checksum) t.AddRow() // get some space from above + + tab.SetColumnWidthMode(1, table.Average) for _, tool := range details.ToolsDependencies { - t.AddRow(tr("Required tool:"), tool.Packager+":"+tool.Name, tool.Version) + tab.AddRow(tr("Required tool:"), tool.Packager+":"+tool.Name, tool.Version) if showFullDetails { for _, sys := range tool.Systems { - t.AddRow("", tr("OS:"), sys.Host) - t.AddRow("", tr("File:"), sys.ArchiveFilename) - t.AddRow("", tr("Size (bytes):"), fmt.Sprint(sys.Size)) - t.AddRow("", tr("Checksum:"), sys.Checksum) - t.AddRow("", tr("URL:"), sys.Url) - t.AddRow() // get some space from above + tab.AddRow("", tr("OS:"), sys.Host) + tab.AddRow("", tr("File:"), sys.ArchiveFilename) + tab.AddRow("", tr("Size (bytes):"), fmt.Sprint(sys.Size)) + tab.AddRow("", tr("Checksum:"), sys.Checksum) + tab.AddRow("", tr("URL:"), sys.Url) + tab.AddRow() // get some space from above } } } - t.AddRow() // get some space from above + tab.AddRow() // get some space from above for _, option := range details.ConfigOptions { - t.AddRow(tr("Option:"), option.OptionLabel, "", option.Option) + tab.AddRow(tr("Option:"), option.OptionLabel, "", option.Option) for _, value := range option.Values { green := color.New(color.FgGreen) if value.Selected { - t.AddRow("", + tab.AddRow("", table.NewCell(value.ValueLabel, green), table.NewCell("✔", green), table.NewCell(option.Option+"="+value.Value, green)) } else { - t.AddRow("", + tab.AddRow("", value.ValueLabel, "", option.Option+"="+value.Value) @@ -190,10 +193,10 @@ func (dr detailsResult) String() string { } } - t.AddRow(tr("Programmers:"), tr("ID"), tr("Name")) + tab.AddRow(tr("Programmers:"), tr("ID"), tr("Name")) for _, programmer := range details.Programmers { - t.AddRow("", programmer.GetId(), programmer.GetName()) + tab.AddRow("", programmer.GetId(), programmer.GetName()) } - return t.Render() + return t.Render() + tab.Render() }