feat(templ): added templ to command line that reads go template and outputs code

This commit is contained in:
2026-01-03 20:28:56 +02:00
parent 64aeac972a
commit fca7c99d74
24 changed files with 3955 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
package template
import "fmt"
// TemplateError represents an error that occurred during template operations
type TemplateError struct {
Phase string // "load", "parse", "execute"
Message string
Err error
}
// Error implements the error interface
func (e *TemplateError) Error() string {
if e.Err != nil {
return fmt.Sprintf("template %s error: %s: %v", e.Phase, e.Message, e.Err)
}
return fmt.Sprintf("template %s error: %s", e.Phase, e.Message)
}
// Unwrap returns the wrapped error
func (e *TemplateError) Unwrap() error {
return e.Err
}
// NewTemplateLoadError creates a new template load error
func NewTemplateLoadError(msg string, err error) *TemplateError {
return &TemplateError{
Phase: "load",
Message: msg,
Err: err,
}
}
// NewTemplateParseError creates a new template parse error
func NewTemplateParseError(msg string, err error) *TemplateError {
return &TemplateError{
Phase: "parse",
Message: msg,
Err: err,
}
}
// NewTemplateExecuteError creates a new template execution error
func NewTemplateExecuteError(msg string, err error) *TemplateError {
return &TemplateError{
Phase: "execute",
Message: msg,
Err: err,
}
}