prnt

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2024 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Overview

Package prnt provides common functionality for code generators.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Generator

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

Generator provides convenience methods for code generators. In particular it provides fmt-like methods which print to an internal buffer. It also allows any errors to be stored so they can be checked at the end, rather than having error checks obscuring the code generation.

func (*Generator) AddError

func (g *Generator) AddError(err error)

AddError records an error in code generation. The first non-nil error will prevent printing operations from writing anything else, and the error will be returned from Result().

func (*Generator) BuildConstraint added in v0.6.0

func (g *Generator) BuildConstraint(expr string)

BuildConstraint outputs a build constraint.

func (*Generator) Comment

func (g *Generator) Comment(lines ...string)

Comment writes comment lines prefixed with "// ".

func (*Generator) Dedent added in v0.3.0

func (g *Generator) Dedent()

Dedent decrements the indent level.

func (*Generator) Indent added in v0.3.0

func (g *Generator) Indent()

Indent increments the indent level.

func (*Generator) Linef added in v0.3.0

func (g *Generator) Linef(format string, args ...any)

Linef prints formatted output terminated with a new line.

func (*Generator) NL

func (g *Generator) NL()

NL prints a new line.

func (*Generator) Printf

func (g *Generator) Printf(format string, args ...any)

Printf prints to the internal buffer.

func (*Generator) Raw

func (g *Generator) Raw() io.Writer

Raw provides direct access to the underlying output stream.

func (*Generator) Result

func (g *Generator) Result() ([]byte, error)

Result returns the printed bytes. If any error was recorded with AddError during code generation, the first such error will be returned here.

func (*Generator) SetIndentString added in v0.3.0

func (g *Generator) SetIndentString(indent string)

SetIndentString sets the string used for one level of indentation. Use Indent() and Dedent() to control indent level.

Jump to

Keyboard shortcuts

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