formatters

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package formatters provides output formatting for diff results.

Package formatters provides output formatting for diff results.

Package formatters provides output formatting for diff results.

Index

Constants

View Source
const (
	FormatTerminal = "terminal"
	FormatMarkdown = "markdown"
	FormatJSON     = "json"
	FormatHTML     = "html"
)

Format name constants.

View Source
const (
	ModeUnified    = "unified"
	ModeSideBySide = "side-by-side"
)

Display mode constants.

Variables

This section is empty.

Functions

This section is empty.

Types

type Formatter added in v1.2.2

type Formatter interface {
	Format(result *diff.Result) error
}

Formatter defines the interface for diff result output formatters.

func New added in v1.2.2

func New(format string, w io.Writer) (Formatter, error)

New creates a Formatter for the given format name and writer. Supported formats: terminal, markdown, json, html.

func NewWithMode added in v1.2.2

func NewWithMode(format, mode string, w io.Writer) (Formatter, error)

NewWithMode creates a Formatter for the given format, display mode, and writer.

type HTMLFormatter added in v1.2.2

type HTMLFormatter struct {
	// contains filtered or unexported fields
}

HTMLFormatter formats diff results as a self-contained HTML report by rendering markdown through goldmark.

func NewHTMLFormatter added in v1.2.2

func NewHTMLFormatter(writer io.Writer) *HTMLFormatter

NewHTMLFormatter creates a new HTML formatter.

func (*HTMLFormatter) Format added in v1.2.2

func (f *HTMLFormatter) Format(result *diff.Result) error

Format generates markdown via MarkdownFormatter, converts it to HTML via goldmark, and wraps it in a self-contained HTML document.

type JSONFormatter

type JSONFormatter struct {
	// contains filtered or unexported fields
}

JSONFormatter formats diff results as JSON.

func NewJSONFormatter

func NewJSONFormatter(writer io.Writer) *JSONFormatter

NewJSONFormatter creates a new JSON formatter.

func NewJSONFormatterCompact

func NewJSONFormatterCompact(writer io.Writer) *JSONFormatter

NewJSONFormatterCompact creates a new JSON formatter with compact output.

func (*JSONFormatter) Format

func (f *JSONFormatter) Format(result *diff.Result) error

Format formats the diff result as JSON.

func (*JSONFormatter) SetPretty

func (f *JSONFormatter) SetPretty(pretty bool)

SetPretty sets whether to output formatted JSON.

type MarkdownFormatter

type MarkdownFormatter struct {
	// contains filtered or unexported fields
}

MarkdownFormatter formats diff results as markdown.

func NewMarkdownFormatter

func NewMarkdownFormatter(writer io.Writer) *MarkdownFormatter

NewMarkdownFormatter creates a new markdown formatter.

func (*MarkdownFormatter) Format

func (f *MarkdownFormatter) Format(result *diff.Result) error

Format formats the diff result as markdown.

type SideBySideFormatter added in v1.2.2

type SideBySideFormatter struct {
	// contains filtered or unexported fields
}

SideBySideFormatter formats diff results in a two-column terminal layout.

func NewSideBySideFormatter added in v1.2.2

func NewSideBySideFormatter(writer io.Writer) *SideBySideFormatter

NewSideBySideFormatter creates a new side-by-side terminal formatter.

func (*SideBySideFormatter) Format added in v1.2.2

func (f *SideBySideFormatter) Format(result *diff.Result) error

Format formats the diff result in a side-by-side layout. Falls back to unified format if the terminal is too narrow.

type TerminalFormatter

type TerminalFormatter struct {
	// contains filtered or unexported fields
}

TerminalFormatter formats diff results for terminal output.

func NewTerminalFormatter

func NewTerminalFormatter(writer io.Writer) *TerminalFormatter

NewTerminalFormatter creates a new terminal formatter.

func (*TerminalFormatter) Format

func (f *TerminalFormatter) Format(result *diff.Result) error

Format formats the diff result for terminal output.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL