From 9814cf898f04933fecaaaf45c5e0d6113bfa1ec4 Mon Sep 17 00:00:00 2001 From: wsw70 <1345886+wsw70@users.noreply.github.com> Date: Thu, 27 Apr 2023 16:36:59 +0200 Subject: [PATCH] first pass of v2 - popup for text and notifications --- .vscode/settings.json | 7 ++++++ README.md | 47 +++++---------------------------------- config.go | 22 ++++++++++--------- dly.go | 32 +++++++++------------------ dly_windows_no.go | 14 ++++++++++++ dly_windows_yes.go | 33 ++++++++++++++++++++++++++++ go.mod | 14 ++++++++++-- go.sum | 51 +++++++++++++++++++++++++++++++++++++++++-- update.go | 4 ++-- 9 files changed, 144 insertions(+), 80 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 dly_windows_no.go create mode 100644 dly_windows_yes.go diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..6f89633 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "gopls": { + "build.buildFlags": [ + "-tags=windows,linux" + ] + } +} \ No newline at end of file diff --git a/README.md b/README.md index c766709..7fcfa5f 100644 --- a/README.md +++ b/README.md @@ -22,49 +22,14 @@ go install github.com/wsw70/dly@latest ## Usage -### Interactive +Run `dly.exe`, a pop-up window appears to allow you to type your line. Once you are done press `Enter` (or click `OK`) and your daily note is updated. -Run `dly.exe`, a prompt (`⤑`) appears to allow you to type your line. Once you are done press `Enter` and your daily note is updated. +If you use a tool such as [AutoHotKey](https://www.autohotkey.com/), you could bind a key combination to run `dly`. -### Pure command line - -``` -PS> dly.exe this is the text of my note -``` - -**Warning** if your shell uses `#` to denote a comment (PowerShell, Bash, ...) you cannot add a tag in the pure command line mode. In other words if you type - -``` -PS> dly.exe this is the text of my note #happy-birthday to you -``` - -only the text `this is the text of my note` will be added to your note. - -I would love a workaround, but it seems there are none. This is also the reason for the interactive mode that does not have this limitation. - -### Quoted text - -Another solution to address the comment problem above is to quote your text. - -``` -PS> dly.exe 'this is the text of my note #happy-birthday to you' -``` - -This is extremely cumbersome and I would forget to add the quotes half of the time. If you can somehow integrate a quoted text in your command (function, alias, ...) there is a special argument to `dyl`: `--quotedText`: - -``` -dly.exe --quotedText 'this is the text of my note #happy-birthday to you' -``` - -If you use a tool such as [AutoHotKey](https://www.autohotkey.com/), you could bind a key combination to pop-up a form. It would be even faster than typing in the shell if you are not there. Example for a hotkey under `Win-N`: ``` -#n:: - { - IB := InputBox("Add to daily note") - Run "D:\Y\dev-perso\dly\dly.exe " . IB.Value - } +#n::Run "D:\Y\dev-perso\dly\dly.exe" ``` ## Debugging @@ -91,10 +56,8 @@ The configuration file located in `.config/dly/dly.yml` in your home directory i | `FilenameFormat` | yes | string | Format of your daily note, without the `.md` extension. The format follows (weird) Go formatting rules, see the [documentation](https://pkg.go.dev/time) or an [article](https://www.geeksforgeeks.org/time-formatting-in-golang/) for details. As a general rule, when you want to say "the current year" and expected something like `YYYY`, you use `2006` (yes, exactly this string). The "current month" is `01` and the "current day" is `02`. Yes this is insane. The default format (in the auto-generated file) is `2006_01_02` - this corresponds today to `2023_01_13` which in turns points to the file `2023_01_13.md`, which **Logseq** interprets as the date 2023-01-13.| | `AddTimestamp` | no | bool | Should your line be prefixed with a bolded timestamp? | | `AppendHashtag` | no | string | add the string as hashtag (example: `from-cli`, note the absence of `#` which will be automatically added) | -| `AddHashtag`
(DEPRECATED) | no | bool | Should a tag be added at the end of your line? (usually to mark lines that were added though `dly`) | -| `HashtagToAdd`
(DEPRECATED) | no | string | The hashtag to add, without `#` | - -`AddHashtag` and `HashtagToAdd` are deprecated and will be removed in the next major version. having two parameters for a singe, simple feature does not make much sense. +| `ShowNotificationOnSuccess`
(MS Windows only) | yes | bool | Show a tray notification when the note is added | +| `ShowNotificationOnNewversion`
(MS Windows only) | yes | bool | Show a tray notification when a new version of `dly` is available | ## What next? diff --git a/config.go b/config.go index b4d2c98..a32ca7b 100644 --- a/config.go +++ b/config.go @@ -14,12 +14,12 @@ import ( ) type Configuration struct { - DailyNotesPath string `yaml:"DailyNotesPath"` - FilenameFormat string `yaml:"FilenameFormat"` - AddTimestamp bool `yaml:"AddTimestamp"` - AppendHashtag string `yaml:"AppendHashtag"` - AddHashtag bool `yaml:"AddHashtag,omitempty"` // omitempty because we want to hide the deprecated field - HashtagToAdd string `yaml:"HashtagToAdd,omitempty"` // omitempty because we want to hide the deprecated field + DailyNotesPath string `yaml:"DailyNotesPath"` + FilenameFormat string `yaml:"FilenameFormat"` + AddTimestamp bool `yaml:"AddTimestamp"` + AppendHashtag string `yaml:"AppendHashtag"` + ShowNotificationOnSuccess bool `yaml:"ShowNotificationOnSuccess"` + ShowNotificationOnNewVersion bool `yaml:"ShowNotificationOnNewVersion"` } // getConfigDir queries the environment to recover the users's home and builds the path to the config directory @@ -87,10 +87,12 @@ func getConfiguration() (conf Configuration) { } // initialize content with defaults defaultValues := Configuration{ - DailyNotesPath: "YOU MUST SET THIS to your journal folder", - FilenameFormat: "2006_01_02", - AddTimestamp: true, - AppendHashtag: "from-cli", + DailyNotesPath: "YOU MUST SET THIS to your journal folder", + FilenameFormat: "2006_01_02", + AddTimestamp: true, + AppendHashtag: "from-cli", + ShowNotificationOnSuccess: true, + ShowNotificationOnNewVersion: true, } defaultValuesB, _ := yaml.Marshal(defaultValues) _, err = f.Write(defaultValuesB) diff --git a/dly.go b/dly.go index 84cb40a..9bbb133 100644 --- a/dly.go +++ b/dly.go @@ -1,7 +1,6 @@ package main import ( - "bufio" "errors" "fmt" "io" @@ -12,6 +11,7 @@ import ( "strings" "time" + "github.com/ncruces/zenity" "github.com/rs/zerolog" ) @@ -43,11 +43,6 @@ func init() { func main() { var content []byte - // if debugging check immediately for new version - if os.Getenv("DLY_DEBUG") == "yes" { - CheckUpdateNow() - } - // get user's configuration conf := getConfiguration() @@ -62,21 +57,18 @@ func main() { content = addToTodayNote(content, fmt.Sprintf("%s ", textToAdd), conf) // write the note back to file writeTodayNote(content, todayFile, conf) - CheckUpdateNow() + if conf.ShowNotificationOnSuccess { + notifyAboutNote() + } + + CheckUpdateNow(conf) } func getTextToAdd() (textToAdd string) { - if len(os.Args) == 1 { - // interactive mode - fmt.Print("⤑ ") - scanner := bufio.NewScanner(os.Stdin) - scanner.Scan() - textToAdd = scanner.Text() - } else if len(os.Args) == 3 && os.Args[1] == "--quotedText" { - // text to add is provided quoted - textToAdd = os.Args[2] - } else { - textToAdd = strings.Join(os.Args[1:], " ") + textToAdd, err := zenity.Entry("add to daily note") + if err != nil { + log.Info().Msgf("aborted with: %v", err) + os.Exit(1) } return textToAdd } @@ -91,10 +83,6 @@ func addToTodayNote(note []byte, newText string, conf Configuration) (content [] if conf.AppendHashtag != "" { // new parameter newText = fmt.Sprintf("%s #%s", newText, conf.AppendHashtag) - } else if conf.AddHashtag { - // legacy, deprecated parameter - newText = fmt.Sprintf("%s #%s", newText, conf.HashtagToAdd) - log.Warn().Msgf("the configuration parameter AddHashtag is deprecated and will be removed in a future version. Use AppendHashtag instead") } // check if the note does not exist if len(note) == 0 { diff --git a/dly_windows_no.go b/dly_windows_no.go new file mode 100644 index 0000000..876db9c --- /dev/null +++ b/dly_windows_no.go @@ -0,0 +1,14 @@ +//go:build !windows + +package main + +func notifyAboutNote() { + log.Warn().Msgf("notification is not supported on this platform") +} + +func notifyAboutNewVersion(name string, conf Configuration) { + log.Warn().Msgf("new version %s available at https://github.com/wsw70/dly/releases/latest", name) + if conf.ShowNotificationOnSuccess { + log.Warn().Msgf("notification popup is not supported on this platform") + } +} diff --git a/dly_windows_yes.go b/dly_windows_yes.go new file mode 100644 index 0000000..6dc4a63 --- /dev/null +++ b/dly_windows_yes.go @@ -0,0 +1,33 @@ +//go:build windows + +package main + +import ( + "fmt" + + "gopkg.in/toast.v1" +) + +func notifyAboutNote() { + notification := toast.Notification{ + AppID: "dly - your daily note from CLI", + Title: "Note added", + } + err := notification.Push() + if err != nil { + log.Error().Msgf("cannot push notification: %v", err) + } +} + +func notifyAboutNewVersion(name string, conf Configuration) { + notification := toast.Notification{ + AppID: "dly", + Title: "new version", + Message: fmt.Sprintf("new version %s available at https://github.com/wsw70/dly/releases/latest", name), + } + err := notification.Push() + if err != nil { + log.Error().Msgf("cannot push notification: %v", err) + log.Warn().Msgf("new version %s available at https://github.com/wsw70/dly/releases/latest", name) + } +} diff --git a/go.mod b/go.mod index 2d91797..04b728b 100644 --- a/go.mod +++ b/go.mod @@ -4,15 +4,25 @@ go 1.19 require ( github.com/golang-module/carbon/v2 v2.2.3 + github.com/ncruces/zenity v0.10.8 github.com/rs/zerolog v1.28.0 + gopkg.in/toast.v1 v1.0.0-20180812000517-0a84660828b2 gopkg.in/yaml.v3 v3.0.1 ) -require golang.org/x/net v0.0.0-20211029224645-99673261e6eb // indirect +require ( + github.com/akavel/rsrc v0.10.2 // indirect + github.com/dchest/jsmin v0.0.0-20220218165748-59f39799265f // indirect + github.com/josephspurrier/goversioninfo v1.4.0 // indirect + github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d // indirect + github.com/randall77/makefat v0.0.0-20210315173500-7ddd0e42c844 // indirect + golang.org/x/image v0.7.0 // indirect + golang.org/x/net v0.6.0 // indirect +) require ( github.com/go-resty/resty/v2 v2.7.0 github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-isatty v0.0.14 // indirect - golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6 // indirect + golang.org/x/sys v0.7.0 // indirect ) diff --git a/go.sum b/go.sum index 0ed5b3c..0f73af1 100644 --- a/go.sum +++ b/go.sum @@ -1,41 +1,88 @@ +github.com/akavel/rsrc v0.10.2 h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw= +github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dchest/jsmin v0.0.0-20220218165748-59f39799265f h1:OGqDDftRTwrvUoL6pOG7rYTmWsTCvyEWFsMjg+HcOaA= +github.com/dchest/jsmin v0.0.0-20220218165748-59f39799265f/go.mod h1:Dv9D0NUlAsaQcGQZa5kc5mqR9ua72SmA8VXi4cd+cBw= github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY= github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/golang-module/carbon/v2 v2.2.3 h1:WvGIc5+qzq9drNzH+Gnjh1TZ0JgDY/IA+m2Dvk7Qm4Q= github.com/golang-module/carbon/v2 v2.2.3/go.mod h1:LdzRApgmDT/wt0eNT8MEJbHfJdSqCtT46uZhfF30dqI= +github.com/josephspurrier/goversioninfo v1.4.0 h1:Puhl12NSHUSALHSuzYwPYQkqa2E1+7SrtAPJorKK0C8= +github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/ncruces/zenity v0.10.8 h1:vNwTJazgxj47VOBXqik14fN8ML5eLMhl/Nw646Ln/7o= +github.com/ncruces/zenity v0.10.8/go.mod h1:gPHbGF/lkwfJS3wdVG9sXYgK8c0vLAXkA2xHacOiFZY= +github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d h1:VhgPp6v9qf9Agr/56bj7Y/xa04UccTW04VP0Qed4vnQ= +github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/randall77/makefat v0.0.0-20210315173500-7ddd0e42c844 h1:GranzK4hv1/pqTIhMTXt2X8MmMOuH3hMeUR0o9SP5yc= +github.com/randall77/makefat v0.0.0-20210315173500-7ddd0e42c844/go.mod h1:T1TLSfyWVBRXVGzWd0o9BI4kfoO9InEgfQe4NV3mLz8= github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.28.0 h1:MirSo27VyNi7RJYP3078AA1+Cyzd2GB66qy3aUHvsWY= github.com/rs/zerolog v1.28.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -golang.org/x/net v0.0.0-20211029224645-99673261e6eb h1:pirldcYWx7rx7kE5r+9WsOXPXK0+WH5+uZ7uPmJ44uM= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/image v0.7.0 h1:gzS29xtG1J5ybQlv0PuyfE3nmc6R4qB73m6LUUmvFuw= +golang.org/x/image v0.7.0/go.mod h1:nd/q4ef1AKKYl/4kft7g+6UyGbdiqWqTP1ZAbRoV7Rg= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0 h1:L4ZwwTvKW9gr0ZMS1yrHD9GZhIuVjOBBnaKH+SPQK0Q= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6 h1:foEbQz/B0Oz6YIqu/69kfXPYeFQAuuMYFkjaqXzl5Wo= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/toast.v1 v1.0.0-20180812000517-0a84660828b2 h1:MZF6J7CV6s/h0HBkfqebrYfKCVEo5iN+wzE4QhV3Evo= +gopkg.in/toast.v1 v1.0.0-20180812000517-0a84660828b2/go.mod h1:s1Sn2yZos05Qfs7NKt867Xe18emOmtsO3eAKbDaon0o= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/update.go b/update.go index 6400a3c..d366118 100644 --- a/update.go +++ b/update.go @@ -34,7 +34,7 @@ var buildTime string // } -func CheckUpdateNow() { +func CheckUpdateNow(conf Configuration) { type releaseApiT struct { Name string `json:"name"` PublishedAt string `json:"published_at"` @@ -64,7 +64,7 @@ func CheckUpdateNow() { // now compare both if buildTimeParsed.Lt(githubReleaseTime) { - log.Warn().Msgf("new version %s available at https://github.com/wsw70/dly/releases/latest", lastUpdateOnGithub.Name) + notifyAboutNewVersion(lastUpdateOnGithub.Name, conf) } else { log.Debug().Msgf("no new version") }