mirror of
https://github.com/charmbracelet/glow
synced 2024-11-10 06:04:18 +00:00
Detect when stash and news loading fails (and update the UI accordingly)
This commit is contained in:
parent
a35d83d5d2
commit
3b3bf684f9
3 changed files with 34 additions and 3 deletions
19
Makefile
Normal file
19
Makefile
Normal file
|
@ -0,0 +1,19 @@
|
|||
# This Makefile is just for development purposes
|
||||
|
||||
.PHONY: default clean glow run log
|
||||
|
||||
default: glow
|
||||
|
||||
clean:
|
||||
rm -f ./glow
|
||||
|
||||
glow:
|
||||
go build
|
||||
|
||||
run: clean glow
|
||||
./glow
|
||||
|
||||
log:
|
||||
GLOW_UI_LOGFILE=debug.log
|
||||
> debug.log
|
||||
tail -f debug.log
|
10
ui/stash.go
10
ui/stash.go
|
@ -219,6 +219,16 @@ func stashUpdate(msg tea.Msg, m stashModel) (stashModel, tea.Cmd) {
|
|||
case errMsg:
|
||||
m.err = msg
|
||||
|
||||
case stashLoadErrMsg:
|
||||
m.err = msg.err
|
||||
m.loaded |= loadedStash // still done, albeit unsuccessfully
|
||||
m.stashFullyLoaded = true
|
||||
m.loadingFromNetwork = false
|
||||
|
||||
case newsLoadErrMsg:
|
||||
m.err = msg.err
|
||||
m.loaded |= loadedNews // still done, albeit unsuccessfully
|
||||
|
||||
// We're finished searching for local files
|
||||
case localFileSearchFinished:
|
||||
m.loaded |= loadedLocalFiles
|
||||
|
|
8
ui/ui.go
8
ui/ui.go
|
@ -37,7 +37,7 @@ func NewProgram(style string, cfg UIConfig) *tea.Program {
|
|||
if config.Logfile != "" {
|
||||
log.Println("-- Starting Glow ----------------")
|
||||
log.Printf("High performance pager: %v", cfg.HighPerformancePager)
|
||||
log.Printf("Render with Glamour: %v", cfg.GlamourEnabled)
|
||||
log.Printf("Glamour rendering: %v", cfg.GlamourEnabled)
|
||||
log.Println("Bubble Tea now initializing...")
|
||||
}
|
||||
return tea.NewProgram(initialize(style), update, view)
|
||||
|
@ -57,7 +57,9 @@ type initLocalFileSearchMsg struct {
|
|||
type foundLocalFileMsg string
|
||||
type localFileSearchFinished struct{}
|
||||
type gotStashMsg []*charm.Markdown
|
||||
type stashLoadErrMsg struct{ err error }
|
||||
type gotNewsMsg []*charm.Markdown
|
||||
type newsLoadErrMsg struct{ err error }
|
||||
|
||||
// MODEL
|
||||
|
||||
|
@ -398,7 +400,7 @@ func loadStash(m stashModel) tea.Cmd {
|
|||
return func() tea.Msg {
|
||||
stash, err := m.cc.GetStash(m.page)
|
||||
if err != nil {
|
||||
return errMsg(err)
|
||||
return stashLoadErrMsg{err: err}
|
||||
}
|
||||
return gotStashMsg(stash)
|
||||
}
|
||||
|
@ -408,7 +410,7 @@ func loadNews(m stashModel) tea.Cmd {
|
|||
return func() tea.Msg {
|
||||
news, err := m.cc.GetNews(1) // just fetch the first page
|
||||
if err != nil {
|
||||
return errMsg(err)
|
||||
return newsLoadErrMsg{err: err}
|
||||
}
|
||||
return gotNewsMsg(news)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue