mirror of
https://github.com/charmbracelet/glow.git
synced 2026-08-18 14:19:11 +02:00
Log IO errors if a logfile is set
This commit is contained in:
parent
705665bda9
commit
ddbacffc0b
3 changed files with 52 additions and 2 deletions
|
|
@ -3,6 +3,7 @@ package ui
|
|||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"math"
|
||||
"strings"
|
||||
|
||||
|
|
@ -347,6 +348,9 @@ func renderWithGlamour(m pagerModel, md string) tea.Cmd {
|
|||
return func() tea.Msg {
|
||||
s, err := glamourRender(m, md)
|
||||
if err != nil {
|
||||
if debug {
|
||||
log.Println("error rendering with Glamour:", err)
|
||||
}
|
||||
return errMsg(err)
|
||||
}
|
||||
return contentRenderedMsg(s)
|
||||
|
|
@ -361,6 +365,9 @@ func saveDocumentNote(cc *charm.Client, id int, note string) tea.Cmd {
|
|||
}
|
||||
return func() tea.Msg {
|
||||
if err := cc.SetMarkdownNote(id, note); err != nil {
|
||||
if debug {
|
||||
log.Println("error saving note:", err)
|
||||
}
|
||||
return errMsg(err)
|
||||
}
|
||||
return noteSavedMsg(&charm.Markdown{ID: id, Note: note})
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"math"
|
||||
"sort"
|
||||
"strings"
|
||||
|
|
@ -696,6 +697,9 @@ func loadRemoteMarkdown(cc *charm.Client, id int, t markdownType) tea.Cmd {
|
|||
}
|
||||
|
||||
if err != nil {
|
||||
if debug {
|
||||
log.Println("error loading remote markdown:", err)
|
||||
}
|
||||
return errMsg(err)
|
||||
}
|
||||
|
||||
|
|
@ -717,6 +721,9 @@ func loadLocalMarkdown(md *markdown) tea.Cmd {
|
|||
|
||||
data, err := ioutil.ReadFile(md.localPath)
|
||||
if err != nil {
|
||||
if debug {
|
||||
log.Println("error reading local markdown:", err)
|
||||
}
|
||||
return errMsg(err)
|
||||
}
|
||||
md.Body = string(data)
|
||||
|
|
|
|||
40
ui/ui.go
40
ui/ui.go
|
|
@ -21,6 +21,7 @@ const noteCharacterLimit = 256 // should match server
|
|||
var (
|
||||
config Config
|
||||
glowLogoTextColor = common.Color("#ECFD65")
|
||||
debug = false // true if we're logging to a file, in which case we'll log more stuff
|
||||
)
|
||||
|
||||
// Config contains configuration specified to the TUI.
|
||||
|
|
@ -40,6 +41,7 @@ func NewProgram(style string, cfg Config) *tea.Program {
|
|||
log.Printf("High performance pager: %v", cfg.HighPerformancePager)
|
||||
log.Printf("Glamour rendering: %v", cfg.GlamourEnabled)
|
||||
log.Println("Bubble Tea now initializing...")
|
||||
debug = true
|
||||
}
|
||||
config = cfg
|
||||
return tea.NewProgram(initialize(cfg, style), update, view)
|
||||
|
|
@ -50,7 +52,14 @@ func NewProgram(style string, cfg Config) *tea.Program {
|
|||
type errMsg error
|
||||
type newCharmClientMsg *charm.Client
|
||||
type sshAuthErrMsg struct{}
|
||||
type keygenFailedMsg struct{}
|
||||
type keygenFailedMsg struct {
|
||||
err error
|
||||
}
|
||||
|
||||
func (k keygenFailedMsg) Error() string {
|
||||
return k.err.Error()
|
||||
}
|
||||
|
||||
type keygenSuccessMsg struct{}
|
||||
type initLocalFileSearchMsg struct {
|
||||
cwd string
|
||||
|
|
@ -60,9 +69,18 @@ type foundLocalFileMsg gitcha.SearchResult
|
|||
type localFileSearchFinished struct{}
|
||||
type gotStashMsg []*charm.Markdown
|
||||
type stashLoadErrMsg struct{ err error }
|
||||
|
||||
func (s stashLoadErrMsg) Error() string {
|
||||
return s.err.Error()
|
||||
}
|
||||
|
||||
type gotNewsMsg []*charm.Markdown
|
||||
type newsLoadErrMsg struct{ err error }
|
||||
|
||||
func (s newsLoadErrMsg) Error() string {
|
||||
return s.err.Error()
|
||||
}
|
||||
|
||||
// MODEL
|
||||
|
||||
type state int
|
||||
|
|
@ -376,6 +394,9 @@ func errorView(err error, fatal bool) string {
|
|||
func findLocalFiles() tea.Msg {
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
if debug {
|
||||
log.Println("error finding local files:", err)
|
||||
}
|
||||
return errMsg(err)
|
||||
}
|
||||
|
||||
|
|
@ -408,8 +429,14 @@ func newCharmClient(identityFile *string) tea.Cmd {
|
|||
|
||||
cc, err := charm.NewClient(cfg)
|
||||
if err == charm.ErrMissingSSHAuth {
|
||||
if debug {
|
||||
log.Println("missing SSH auth:", err)
|
||||
}
|
||||
return sshAuthErrMsg{}
|
||||
} else if err != nil {
|
||||
if debug {
|
||||
log.Println("error creating new charm client:", err)
|
||||
}
|
||||
return errMsg(err)
|
||||
}
|
||||
|
||||
|
|
@ -421,6 +448,9 @@ func loadStash(m stashModel) tea.Cmd {
|
|||
return func() tea.Msg {
|
||||
stash, err := m.cc.GetStash(m.page)
|
||||
if err != nil {
|
||||
if debug {
|
||||
log.Println("error loading stash:", err)
|
||||
}
|
||||
return stashLoadErrMsg{err}
|
||||
}
|
||||
return gotStashMsg(stash)
|
||||
|
|
@ -431,6 +461,9 @@ func loadNews(m stashModel) tea.Cmd {
|
|||
return func() tea.Msg {
|
||||
news, err := m.cc.GetNews(1) // just fetch the first page
|
||||
if err != nil {
|
||||
if debug {
|
||||
log.Println("error loading news:", err)
|
||||
}
|
||||
return newsLoadErrMsg{err}
|
||||
}
|
||||
return gotNewsMsg(news)
|
||||
|
|
@ -440,7 +473,10 @@ func loadNews(m stashModel) tea.Cmd {
|
|||
func generateSSHKeys() tea.Msg {
|
||||
_, err := keygen.NewSSHKeyPair(nil)
|
||||
if err != nil {
|
||||
return keygenFailedMsg{}
|
||||
if debug {
|
||||
log.Println("keygen failed:", err)
|
||||
}
|
||||
return keygenFailedMsg{err}
|
||||
}
|
||||
return keygenSuccessMsg{}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue