generator

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetTemplatesForLanguage

func GetTemplatesForLanguage(language string) ([]string, error)

GetTemplatesForLanguage returns a list of template files for the given language

Types

type Coordinator

type Coordinator struct {
	LanguageBoilerplate map[string]Generator
}

func NewCoordinator

func NewCoordinator(gens []Generator) *Coordinator

Now take a slice of Generator (which matches registry.All())

func (*Coordinator) RunBoilerplateGeneration

func (c *Coordinator) RunBoilerplateGeneration(cfg *config.Config, projectRoot string) error

type EmbeddedTemplateSource

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

EmbeddedTemplateSource uses embedded templates

func NewEmbeddedTemplateSource

func NewEmbeddedTemplateSource(fs embed.FS) *EmbeddedTemplateSource

func (*EmbeddedTemplateSource) ListLanguages

func (e *EmbeddedTemplateSource) ListLanguages() ([]string, error)

func (*EmbeddedTemplateSource) ListTemplates

func (e *EmbeddedTemplateSource) ListTemplates(language string) ([]string, error)

func (*EmbeddedTemplateSource) ParseTemplates

func (e *EmbeddedTemplateSource) ParseTemplates(language string) (*template.Template, error)

type FileSystemTemplateSource

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

FileSystemTemplateSource uses filesystem templates

func NewFileSystemTemplateSource

func NewFileSystemTemplateSource(baseDir string) *FileSystemTemplateSource

func (*FileSystemTemplateSource) ListLanguages

func (f *FileSystemTemplateSource) ListLanguages() ([]string, error)

func (*FileSystemTemplateSource) ListTemplates

func (f *FileSystemTemplateSource) ListTemplates(language string) ([]string, error)

func (*FileSystemTemplateSource) ParseTemplates

func (f *FileSystemTemplateSource) ParseTemplates(language string) (*template.Template, error)

type Generator

type Generator interface {
	GetLanguage() string
	Generate(cfg *config.Config, root string) error
}

Generator is your interface for scaffolding.

type GeneratorFactory

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

GeneratorFactory creates generators for available languages

func NewGeneratorFactory

func NewGeneratorFactory(fs builder.FileSystem, templateSource TemplateSource) *GeneratorFactory

func (*GeneratorFactory) CreateAvailableGenerators

func (f *GeneratorFactory) CreateAvailableGenerators() ([]Generator, error)

CreateAvailableGenerators scans available templates and creates generators

func (*GeneratorFactory) GetTemplatesForLanguage

func (f *GeneratorFactory) GetTemplatesForLanguage(language string) ([]string, error)

GetTemplatesForLanguage returns templates for a specific language

type GenericGenerator

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

GenericGenerator uses embedded templates for boilerplate generation.

func NewGenericGenerator

func NewGenericGenerator(lang string, fs builder.FileSystem) (*GenericGenerator, error)

NewGenericGenerator initializes a GenericGenerator for the given language.

func (*GenericGenerator) Generate

func (g *GenericGenerator) Generate(cfg *config.Config, root string) error

Generate renders templates into existing files under root. Only iterate the files listed in your config.Structure

func (*GenericGenerator) GetLanguage

func (g *GenericGenerator) GetLanguage() string

GetLanguage returns the generator's language.

type TemplateSource

type TemplateSource interface {
	// ParseTemplates parses templates for a given language
	ParseTemplates(language string) (*template.Template, error)
	// ListLanguages returns available languages
	ListLanguages() ([]string, error)
	// ListTemplates returns template files for a language
	ListTemplates(language string) ([]string, error)
}

TemplateSource abstracts where templates come from

func CreateTemplateSource

func CreateTemplateSource(customTemplatesDir string) (TemplateSource, error)

CreateTemplateSource creates the appropriate template source based on templatesDir

Jump to

Keyboard shortcuts

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