mirror of
https://github.com/anchore/syft.git
synced 2026-11-01 06:56:40 +01:00
* add bubbletea UI Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * swap pipeline to go 1.20.x and add attest guard for cosign binary Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * update note in developing.md about the required golang version Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * fix merge conflict for windows path handling Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * temp test for attest handler Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * add addtional test iterations for background reader Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> --------- Signed-off-by: Alex Goodman <alex.goodman@anchore.com> Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>
45 lines
918 B
Go
45 lines
918 B
Go
package ui
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/wagoodman/go-partybus"
|
|
|
|
"github.com/anchore/clio"
|
|
"github.com/anchore/syft/syft/event"
|
|
)
|
|
|
|
var _ clio.UI = (*NoUI)(nil)
|
|
|
|
type NoUI struct {
|
|
finalizeEvents []partybus.Event
|
|
subscription partybus.Unsubscribable
|
|
quiet bool
|
|
}
|
|
|
|
func None(quiet bool) *NoUI {
|
|
return &NoUI{
|
|
quiet: quiet,
|
|
}
|
|
}
|
|
|
|
func (n *NoUI) Setup(subscription partybus.Unsubscribable) error {
|
|
n.subscription = subscription
|
|
return nil
|
|
}
|
|
|
|
func (n *NoUI) Handle(e partybus.Event) error {
|
|
switch e.Type {
|
|
case event.CLIReport, event.CLINotification:
|
|
// keep these for when the UI is terminated to show to the screen (or perform other events)
|
|
n.finalizeEvents = append(n.finalizeEvents, e)
|
|
case event.CLIExit:
|
|
return n.subscription.Unsubscribe()
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (n NoUI) Teardown(_ bool) error {
|
|
return newPostUIEventWriter(os.Stdout, os.Stderr).write(n.quiet, n.finalizeEvents...)
|
|
}
|