diff options
| author | Anhgelus Morhtuuzh <william@herges.fr> | 2025-09-22 23:00:18 +0200 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <william@herges.fr> | 2025-09-22 23:00:18 +0200 |
| commit | 215ce412a8bf37f31f5e779fe45930b87b1bffec (patch) | |
| tree | 2d1ff059478e1546cb8b192739aa1becc6082c7c /widget/api/handle.go | |
| parent | b19108ed8d4ad56e7bbf1ec59d0470e118275a49 (diff) | |
feat(widget): creditsfeat/custom-widget
Diffstat (limited to 'widget/api/handle.go')
| -rw-r--r-- | widget/api/handle.go | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/widget/api/handle.go b/widget/api/handle.go index e04d3d2..fed2142 100644 --- a/widget/api/handle.go +++ b/widget/api/handle.go @@ -8,16 +8,27 @@ import ( type Widget struct { Hello + Credits Writer io.Writer } -func NewWidget(name, id string) *Widget { +type MethodResponder interface { + Respond(io.Writer, ...string) error +} + +type Method string + +func NewWidget(name, id string, author, homepage string) *Widget { return &Widget{ Hello: Hello{ Name: name, ID: id, Version: 1, }, + Credits: Credits{ + Author: author, + Homepage: homepage, + }, Writer: os.Stdout, } } @@ -29,6 +40,8 @@ func (w *Widget) Handle() error { switch Method(os.Args[1]) { case MethodHello: return w.Hello.Respond(w.Writer) + case MethodCredits: + return w.Credits.Respond(w.Writer) } return fmt.Errorf("unknown method: %s", os.Args[1]) } |
