src

Go monorepo.
git clone git://code.dwrz.net/src
Log | Files | Refs

commit 3dfda0a274e04a1429f1fcb8a31555bda98c6c06
parent 4837130a3e1358de58b2ce3e8c8a24497b2ca89a
Author: dwrz <dwrz@dwrz.net>
Date:   Tue, 30 May 2023 01:14:32 +0000

Refactor wisdom to use terminal size

Diffstat:
Mcmd/wisdom/wisdom.go | 26+++++++++++++++++---------
Mpkg/wisdom/wisdom.go | 4++--
2 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/cmd/wisdom/wisdom.go b/cmd/wisdom/wisdom.go @@ -20,21 +20,29 @@ func main() { l.Error.Fatalf("failed to get user config dir: %v", err) } + var params = wisdom.Parameters{ + Log: l, + Path: filepath.Join(dir, "wisdom"), + } + terminal, err := terminal.New(os.Stdin.Fd()) if err != nil { - l.Error.Fatalf("failed to create terminal: %v", err) + l.Error.Printf("failed to create terminal: %v", err) } - size, err := terminal.Size() - if err != nil { - l.Error.Fatalf("failed to get terminal size: %v", err) + if terminal != nil { + size, err := terminal.Size() + if err != nil { + l.Error.Printf("failed to get terminal size: %v", err) + } + + params.Size = *size } - w, err := wisdom.New(wisdom.Parameters{ - Log: l, - Path: filepath.Join(dir, "wisdom"), - Size: size, - }) + w, err := wisdom.New(params) + if err != nil { + l.Error.Fatalf("failed to create command: %v", err) + } if err := w.Command(flag.CommandLine.Args()); err != nil { l.Error.Fatal(err) diff --git a/pkg/wisdom/wisdom.go b/pkg/wisdom/wisdom.go @@ -26,13 +26,13 @@ const coll = "data" type Parameters struct { Log *log.Logger Path string - Size *terminal.Size + Size terminal.Size } type Wisdom struct { log *log.Logger store *store.Store - size *terminal.Size + size terminal.Size } func New(p Parameters) (*Wisdom, error) {