From 2597c03d1555e00dec59830b7de75e7090208e05 Mon Sep 17 00:00:00 2001 From: Slack Coder Date: Wed, 2 Oct 2024 16:49:36 -0500 Subject: config: Use TOML TOML is simple for users, and it is used in notably projects like rustlang. It also provides comments! --- internal/url.go | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'internal/url.go') diff --git a/internal/url.go b/internal/url.go index 3a8d20a..d7a712d 100644 --- a/internal/url.go +++ b/internal/url.go @@ -2,10 +2,27 @@ package internal import "net/url" -func MustURL(arg string) *url.URL { +type URL struct { + *url.URL +} + +func (u *URL) MarshalText() ([]byte, error) { + return []byte(u.URL.String()), nil +} + +func (u *URL) UnmarshalText(buf []byte) error { + var err error + u.URL, err = url.Parse(string(buf)) + if err != nil { + return err + } + return nil +} + +func MustURL(arg string) *URL { u, err := url.Parse(arg) if err != nil { panic(err) } - return u + return &URL{u} } -- cgit v1.2.3