github.com/tetrafolium/tflint@v0.8.0/printer/printer.go (about)

     1  package printer
     2  
     3  import (
     4  	"io"
     5  
     6  	"github.com/wata727/tflint/issue"
     7  )
     8  
     9  type PrinterIF interface {
    10  	Print(issues []*issue.Issue, format string, quiet bool)
    11  }
    12  
    13  type Printer struct {
    14  	stdout io.Writer
    15  	stderr io.Writer
    16  }
    17  
    18  func NewPrinter(stdout io.Writer, stderr io.Writer) *Printer {
    19  	return &Printer{
    20  		stdout: stdout,
    21  		stderr: stderr,
    22  	}
    23  }
    24  
    25  func (p *Printer) Print(issues []*issue.Issue, format string, quiet bool) {
    26  	switch format {
    27  	case "default":
    28  		p.DefaultPrint(issues, quiet)
    29  	case "json":
    30  		p.JSONPrint(issues)
    31  	case "checkstyle":
    32  		p.CheckstylePrint(issues)
    33  	default:
    34  		p.DefaultPrint(issues, quiet)
    35  	}
    36  }