tableformat

package
v0.24.0 Latest Latest
Warning

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

Go to latest
Published: May 24, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package tableformat implements MDS025, the single table rule. It owns table parsing, the three structural checks (MD055 table-pipe-style, MD056 table-column-count, MD058 blanks-around-tables), and the prettier-style alignment pass that gives the rule its name.

Index

Constants

View Source
const (
	// StyleConsistent infers the required edge-pipe shape from the
	// table's header row and holds every other row to it.
	StyleConsistent = "consistent"
	// StyleLeadingAndTrailing requires a leading and a trailing pipe
	// on every row.
	StyleLeadingAndTrailing = "leading_and_trailing"
	// StyleNoLeadingOrTrailing forbids leading and trailing pipes on
	// every row.
	StyleNoLeadingOrTrailing = "no_leading_or_trailing"
)

Pipe-style values for the `style` setting (MD055).

Variables

This section is empty.

Functions

This section is empty.

Types

type Rule

type Rule struct {
	Pad            int // spaces on each side of cell content
	SeparatorStyle tablefmt.SeparatorStyle
	Style          string // edge-pipe style: one of the Style* constants
}

Rule gates table well-formedness: edge-pipe style (MD055), column count vs the header (MD056), surrounding blank lines (MD058), and the column-alignment / padding pass that gives the rule its name.

func (*Rule) ApplySettings

func (r *Rule) ApplySettings(s map[string]any) error

ApplySettings implements rule.Configurable.

func (*Rule) Category

func (r *Rule) Category() string

Category implements rule.Rule.

func (*Rule) Check

func (r *Rule) Check(f *lint.File) []lint.Diagnostic

Check implements rule.Rule. It emits both the structural diagnostics (MD055/056/058) and the alignment diagnostics produced by the prettier-style format pass.

func (*Rule) DefaultSettings

func (r *Rule) DefaultSettings() map[string]any

DefaultSettings implements rule.Configurable.

func (*Rule) Fix

func (r *Rule) Fix(f *lint.File) []byte

Fix implements rule.FixableRule. The structure pass runs first (edge normalization for MD055, blank-line insertion for MD058) so the alignment pass then sees the structurally-normalized bytes and canonicalizes the remaining bordered tables. GeneratedRanges are recomputed on the reparsed buffer: a blank line inserted before a downstream generated section shifts that section's line numbers, so copying the pre-fix ranges would point the alignment pass's skip set at the wrong lines. tablefmt is CRLF-aware, so no post-pass normalisation is needed for mixed-ending output.

func (*Rule) GetPad

func (r *Rule) GetPad() int

GetPad returns the current pad setting.

func (*Rule) GetSeparatorStyle added in v0.23.0

func (r *Rule) GetSeparatorStyle() tablefmt.SeparatorStyle

GetSeparatorStyle returns the active separator style.

func (*Rule) ID

func (r *Rule) ID() string

ID implements rule.Rule.

func (*Rule) Name

func (r *Rule) Name() string

Name implements rule.Rule.

Jump to

Keyboard shortcuts

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