1package common
2
3import (
4 "errors"
5
6 "github.com/charmbracelet/lipgloss"
7 "github.com/charmbracelet/soft-serve/internal/tui/style"
8)
9
10var (
11 ErrDiffTooLong = errors.New("diff is too long")
12 ErrDiffFilesTooLong = errors.New("diff files are too long")
13 ErrBinaryFile = errors.New("binary file")
14 ErrFileTooLarge = errors.New("file is too large")
15 ErrInvalidFile = errors.New("invalid file")
16)
17
18type ErrMsg struct {
19 Err error
20}
21
22func (e ErrMsg) Error() string {
23 return e.Err.Error()
24}
25
26func (e ErrMsg) View(s *style.Styles) string {
27 return e.ViewWithPrefix(s, "")
28}
29
30func (e ErrMsg) ViewWithPrefix(s *style.Styles, prefix string) string {
31 return lipgloss.JoinHorizontal(
32 lipgloss.Top,
33 s.ErrorTitle.Render(prefix),
34 s.ErrorBody.Render(e.Error()),
35 )
36}