kata-containers/tests/cmd/check-markdown/display_tsv.go
Chelsea Mafrica 8ad433d4ad tests: move markdown check tool to main repo
Move the tool as a dependency for static checks migration.

Fixes #8187

Signed-off-by: Bin Liu <bin@hyper.sh>
Signed-off-by: Chelsea Mafrica <chelsea.e.mafrica@intel.com>
Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
Signed-off-by: Julio Montes <julio.montes@intel.com>
2023-11-28 11:13:55 -08:00

73 lines
1.2 KiB
Go

// Copyright (c) 2019 Intel Corporation
//
// SPDX-License-Identifier: Apache-2.0
//
package main
import (
"encoding/csv"
"os"
)
type displayTSV struct {
writer *csv.Writer
disableHeader bool
}
func NewDisplayTSV(file *os.File, separator rune, disableHeader bool) DisplayHandler {
tsv := &displayTSV{
disableHeader: disableHeader,
}
tsv.writer = csv.NewWriter(file)
tsv.writer.Comma = separator
return tsv
}
func (d *displayTSV) DisplayLinks(doc *Doc) error {
if !d.disableHeader {
record := linkHeaderRecord()
if err := d.writer.Write(record); err != nil {
return err
}
}
for _, linkList := range doc.Links {
for _, link := range linkList {
record := linkToRecord(link)
if err := d.writer.Write(record); err != nil {
return err
}
}
}
d.writer.Flush()
return d.writer.Error()
}
func (d *displayTSV) DisplayHeadings(doc *Doc) error {
if !d.disableHeader {
record := headingHeaderRecord()
if err := d.writer.Write(record); err != nil {
return err
}
}
for _, l := range doc.Headings {
record := headingToRecord(l)
if err := d.writer.Write(record); err != nil {
return err
}
}
d.writer.Flush()
return d.writer.Error()
}