format

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2024 License: Apache-2.0 Imports: 14 Imported by: 153

Documentation

Overview

Package format implements standard formatting of CUE configurations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Node

func Node(node ast.Node, opt ...Option) ([]byte, error)

Node formats node in canonical cue fmt style and writes the result to dst.

The node type must be *ast.File, []syntax.Decl, syntax.Expr, syntax.Decl, or syntax.Spec. Node does not modify node. Imports are not sorted for nodes representing partial source files (for instance, if the node is not an *ast.File).

The function may return early (before the entire result is written) and return a formatting error, for instance due to an incorrect AST.

func Source

func Source(b []byte, opt ...Option) ([]byte, error)

Source formats src in canonical cue fmt style and returns the result or an (I/O or syntax) error. src is expected to be a syntactically correct CUE source file, or a list of CUE declarations or statements.

If src is a partial source file, the leading and trailing space of src is applied to the result (such that it has the same leading and trailing space as src), and the result is indented by the same amount as the first line of src containing code. Imports are not sorted for partial source files.

Caution: Tools relying on consistent formatting based on the installed version of cue (for instance, such as for presubmit checks) should execute that cue binary instead of calling Source.

Types

type Option

type Option func(c *config)

An Option sets behavior of the formatter.

func IndentPrefix added in v0.4.0

func IndentPrefix(n int) Option

IndentPrefix specifies the number of tabstops to use as a prefix for every line.

func Simplify

func Simplify() Option

Simplify allows the formatter to simplify output, such as removing unnecessary quotes.

func TabIndent

func TabIndent(indent bool) Option

TabIndent specifies whether to use tabs for indentation independent of UseSpaces.

func UseSpaces

func UseSpaces(tabwidth int) Option

UseSpaces specifies that tabs should be converted to spaces and sets the default tab width.

Jump to

Keyboard shortcuts

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