From 532028021648cab17d0659a70e259924deb0d39a Mon Sep 17 00:00:00 2001 From: Alex Goodman Date: Fri, 31 Jul 2020 08:30:35 -0400 Subject: [PATCH] show message when no packages are discovered (#115) --- syft/presenter/table/presenter.go | 8 +++++++- .../test-fixtures/snapshot/TestTablePresenter.golden | 6 +++--- syft/presenter/text/presenter.go | 7 +++++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/syft/presenter/table/presenter.go b/syft/presenter/table/presenter.go index f00947ce3..0399da60d 100644 --- a/syft/presenter/table/presenter.go +++ b/syft/presenter/table/presenter.go @@ -1,6 +1,7 @@ package table import ( + "fmt" "io" "sort" @@ -35,6 +36,11 @@ func (pres *Presenter) Present(output io.Writer) error { rows = append(rows, row) } + if len(rows) == 0 { + fmt.Fprintln(output, "No packages discovered") + return nil + } + // sort by name, version, then type sort.SliceStable(rows, func(i, j int) bool { for col := 0; col < len(columns); col++ { @@ -57,7 +63,7 @@ func (pres *Presenter) Present(output io.Writer) error { table.SetCenterSeparator("") table.SetColumnSeparator("") table.SetRowSeparator("") - table.SetTablePadding("\t") + table.SetTablePadding(" ") table.SetNoWhiteSpace(true) table.AppendBulk(rows) diff --git a/syft/presenter/table/test-fixtures/snapshot/TestTablePresenter.golden b/syft/presenter/table/test-fixtures/snapshot/TestTablePresenter.golden index fd2b6d0f6..66d2408f9 100644 --- a/syft/presenter/table/test-fixtures/snapshot/TestTablePresenter.golden +++ b/syft/presenter/table/test-fixtures/snapshot/TestTablePresenter.golden @@ -1,3 +1,3 @@ -NAME VERSION TYPE -package-1 1.0.1 deb -package-2 2.0.1 deb +NAME VERSION TYPE +package-1 1.0.1 deb +package-2 2.0.1 deb diff --git a/syft/presenter/text/presenter.go b/syft/presenter/text/presenter.go index ea7cc1c64..3fd75e600 100644 --- a/syft/presenter/text/presenter.go +++ b/syft/presenter/text/presenter.go @@ -48,6 +48,7 @@ func (pres *Presenter) Present(output io.Writer) error { } // populate artifacts... + rows := 0 for _, p := range pres.catalog.Sorted() { fmt.Fprintln(w, fmt.Sprintf("[%s]", p.Name)) fmt.Fprintln(w, " Version:\t", p.Version) @@ -55,6 +56,12 @@ func (pres *Presenter) Present(output io.Writer) error { fmt.Fprintln(w, " Found by:\t", p.FoundBy) fmt.Fprintln(w) w.Flush() + rows++ + } + + if rows == 0 { + fmt.Fprintln(output, "No packages discovered") + return nil } return nil