failure.go 681 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package pub
  2. import (
  3. "mimicry/style"
  4. )
  5. type Failure struct {
  6. message error
  7. }
  8. func NewFailure(err error) *Failure {
  9. if err == nil {
  10. panic("do not create a failure with a nil error")
  11. }
  12. return &Failure{err}
  13. }
  14. func (f *Failure) Kind() string { return "failure" }
  15. func (f *Failure) Name() string {
  16. return style.Problem(f.message)
  17. }
  18. func (f *Failure) Preview(width int) string {
  19. return f.Name()
  20. }
  21. func (f *Failure) String(width int) string {
  22. return f.Preview(width)
  23. }
  24. func (f *Failure) Parents(uint) []Tangible {
  25. return []Tangible{}
  26. }
  27. func (f *Failure) Children(uint) ([]Tangible, Container, uint) {
  28. return []Tangible{}, nil, 0
  29. }