Merge pull request #50 from amiel/json-status

Allow pomo status --json
This commit is contained in:
Kevin Schoon 2021-10-14 10:32:51 -05:00 committed by GitHub
commit 9a1f53e0bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 2 deletions

View File

@ -257,19 +257,31 @@ pomo delete 5 10 20
func _status(config *pomo.Config) func(*cli.Cmd) {
return func(cmd *cli.Cmd) {
cmd.Spec = "[OPTIONS]"
var asJSON = cmd.BoolOpt("json", false, "output task history as JSON")
cmd.Action = func() {
client, err := pomo.NewClient(config.SocketPath)
if err != nil {
if *asJSON {
maybe(json.NewEncoder(os.Stdout).Encode(pomo.Status{}))
} else {
fmt.Println(pomo.FormatStatus(pomo.Status{}))
}
return
}
defer client.Close()
status, err := client.Status()
maybe(err)
if *asJSON {
maybe(json.NewEncoder(os.Stdout).Encode(status))
} else {
fmt.Println(pomo.FormatStatus(*status))
}
}
}
}
func _config(config *pomo.Config) func(*cli.Cmd) {
return func(cmd *cli.Cmd) {