Search Gear #6 – Spew, Hopwatch, toml-go!

Search Gear Notes

Search Gear Notes

Go, Spew, Hopwatch, toml-go

Debugging
github.com/davecgh/go-spew
github.com/emicklei/hopwatch

hopwatch uses go-spew Dump and Dumpf

Both are good and seem useful.
http://ernestmicklei.com/2012/12/14/hopwatch-a-debugging-tool-for-go/

go-toml-config does not work and the documentation is wrong. Persistently get ‘panic: myconfig.conf is not a valid TOML file. See https://github.com/mojombo/toml’ even when it’s the test file from https://github.com/mojombo/toml

package main

import "github.com/stvp/go-toml-config"

var (
title= config.String("title", "Unknown")
name = config.String("owner.name", "")
git = config.String("owner.GitHub", "")
bio = config.String("owner.bio", "")

enabled = config.Bool("owner.enabled", false)
connection_max = config.Int("owner.connection_max", 0)

)

func main() {

if err := config.Parse("myconfig.conf"); err != nil {
    panic(err)
}   

}

viper over a TOML file gives
go run searchgear.go
(viper.UnsupportedConfigError) Unsupported Config Type “”
(string) “”

adding filename extension to be the language ie myconfig.conf becomes myconfig.toml has an effect but still empty variables

IT SEEMS WE HAVE A WINNER!

github.com/laurent22/toml-go

package main

import (
"github.com/laurent22/toml-go"
"github.com/davecgh/go-spew/spew"
)

var parser toml.Parser

func main() {

doc := parser.ParseFile("myconfig.toml")
spew.Dump(doc.GetString("owner.name"))

}

go run searchgear.go
(string) (len=18) “Tom Preston-Werner”

https://github.com/toml-lang/toml/blob/master/tests/example.toml

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s