mirror of
https://github.com/charmbracelet/glow.git
synced 2026-08-21 15:44:17 +02:00
Render all errors at the main view level
This commit is contained in:
parent
251aacf79a
commit
4f250ebb81
2 changed files with 7 additions and 20 deletions
11
ui/pager.go
11
ui/pager.go
|
|
@ -39,7 +39,6 @@ var (
|
|||
|
||||
// MSG
|
||||
|
||||
type pagerErrMsg error
|
||||
type contentRenderedMsg string
|
||||
type noteSavedMsg *charm.Markdown
|
||||
|
||||
|
|
@ -53,7 +52,6 @@ const (
|
|||
)
|
||||
|
||||
type pagerModel struct {
|
||||
err error
|
||||
cc *charm.Client
|
||||
viewport viewport.Model
|
||||
state pagerState
|
||||
|
|
@ -159,9 +157,6 @@ func pagerUpdate(msg boba.Msg, m pagerModel) (pagerModel, boba.Cmd) {
|
|||
}
|
||||
}
|
||||
|
||||
case pagerErrMsg:
|
||||
m.err = msg
|
||||
|
||||
// Glow has rendered the content
|
||||
case contentRenderedMsg:
|
||||
m.setContent(string(msg))
|
||||
|
|
@ -171,7 +166,7 @@ func pagerUpdate(msg boba.Msg, m pagerModel) (pagerModel, boba.Cmd) {
|
|||
// after a resize
|
||||
case terminalSizeMsg:
|
||||
if msg.Error() != nil {
|
||||
m.err = msg.Error()
|
||||
// This will be caught at the top level
|
||||
return m, nil
|
||||
}
|
||||
|
||||
|
|
@ -261,12 +256,12 @@ func renderWithGlamour(m pagerModel, md string) boba.Cmd {
|
|||
func saveDocumentNote(cc *charm.Client, id int, note string) boba.Cmd {
|
||||
if cc == nil {
|
||||
return func() boba.Msg {
|
||||
return pagerErrMsg(errors.New("can't set note; no charm client"))
|
||||
return errMsg(errors.New("can't set note; no charm client"))
|
||||
}
|
||||
}
|
||||
return func() boba.Msg {
|
||||
if err := cc.SetMarkdownNote(id, note); err != nil {
|
||||
return pagerErrMsg(err)
|
||||
return errMsg(err)
|
||||
}
|
||||
return noteSavedMsg(&charm.Markdown{ID: id, Note: note})
|
||||
}
|
||||
|
|
|
|||
16
ui/stash.go
16
ui/stash.go
|
|
@ -36,7 +36,6 @@ var (
|
|||
|
||||
// MSG
|
||||
|
||||
type stashErrMsg error
|
||||
type stashSpinnerTickMsg struct{}
|
||||
type gotStashMsg []*charm.Markdown
|
||||
type gotNewsMsg []*charm.Markdown
|
||||
|
|
@ -92,7 +91,6 @@ const (
|
|||
|
||||
type stashModel struct {
|
||||
cc *charm.Client
|
||||
err error
|
||||
state stashState
|
||||
documents []*markdown
|
||||
spinner spinner.Model
|
||||
|
|
@ -190,8 +188,6 @@ func stashUpdate(msg boba.Msg, m stashModel) (stashModel, boba.Cmd) {
|
|||
)
|
||||
|
||||
switch msg := msg.(type) {
|
||||
case stashErrMsg:
|
||||
m.err = msg
|
||||
|
||||
// Stash results have come in from the server
|
||||
case gotStashMsg:
|
||||
|
|
@ -387,10 +383,6 @@ func stashUpdate(msg boba.Msg, m stashModel) (stashModel, boba.Cmd) {
|
|||
// VIEW
|
||||
|
||||
func stashView(m stashModel) string {
|
||||
if m.err != nil {
|
||||
return "\n" + m.err.Error()
|
||||
}
|
||||
|
||||
var s string
|
||||
switch m.state {
|
||||
case stashStateInit:
|
||||
|
|
@ -615,7 +607,7 @@ func loadStash(m stashModel) boba.Cmd {
|
|||
return func() boba.Msg {
|
||||
stash, err := m.cc.GetStash(m.page)
|
||||
if err != nil {
|
||||
return stashErrMsg(err)
|
||||
return errMsg(err)
|
||||
}
|
||||
return gotStashMsg(stash)
|
||||
}
|
||||
|
|
@ -625,7 +617,7 @@ func loadNews(m stashModel) boba.Cmd {
|
|||
return func() boba.Msg {
|
||||
news, err := m.cc.GetNews(1) // just fetch the first page
|
||||
if err != nil {
|
||||
return stashErrMsg(err)
|
||||
return errMsg(err)
|
||||
}
|
||||
return gotNewsMsg(news)
|
||||
}
|
||||
|
|
@ -643,7 +635,7 @@ func loadMarkdown(cc *charm.Client, id int, t markdownType) boba.Cmd {
|
|||
md, err = cc.GetNewsMarkdown(id)
|
||||
}
|
||||
if err != nil {
|
||||
return stashErrMsg(err)
|
||||
return errMsg(err)
|
||||
}
|
||||
return fetchedMarkdownMsg(&markdown{
|
||||
markdownType: userMarkdown,
|
||||
|
|
@ -656,7 +648,7 @@ func deleteStashedItem(cc *charm.Client, id int) boba.Cmd {
|
|||
return func() boba.Msg {
|
||||
err := cc.DeleteMarkdown(id)
|
||||
if err != nil {
|
||||
return stashErrMsg(err)
|
||||
return errMsg(err)
|
||||
}
|
||||
return deletedStashedItemMsg(id)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue