These tests appear to be wrong, some of these integers CLEARLY shouldn't be accepted.
kris@box:~/githubwork/gcfg$ go test ./...
ok github.com/gravwell/gcfg 0.007s
ok github.com/gravwell/gcfg/scanner 0.001s
ok github.com/gravwell/gcfg/token 0.008s
--- FAIL: TestParseInt (0.00s)
int_test.go:63: ParseInt(int, "0", IntMode(Dec)): pass; got 0, error <nil>
int_test.go:63: ParseInt(int, "10", IntMode(Dec)): pass; got 10, error <nil>
int_test.go:63: ParseInt(int, "-10", IntMode(Dec)): pass; got -10, error <nil>
int_test.go:63: ParseInt(int, "x", IntMode(Dec)): pass; got 0, error failed to parse "x" as int: expected integer
int_test.go:63: ParseInt(int, "0xa", IntMode(Hex)): pass; got 10, error <nil>
int_test.go:63: ParseInt(int, "a", IntMode(Hex)): pass; got 10, error <nil>
int_test.go:63: ParseInt(int, "10", IntMode(Hex)): pass; got 16, error <nil>
int_test.go:63: ParseInt(int, "-0xa", IntMode(Hex)): pass; got -10, error <nil>
int_test.go:54: ParseInt(int, "0x", IntMode(Hex)): fail; got error failed to parse "0x" as int: strconv.ParseInt: parsing "0x": invalid syntax, want ok
int_test.go:54: ParseInt(int, "-0x", IntMode(Hex)): fail; got error failed to parse "-0x" as int: strconv.ParseInt: parsing "-0x": invalid syntax, want ok
int_test.go:63: ParseInt(int, "-a", IntMode(Hex)): pass; got -10, error <nil>
int_test.go:63: ParseInt(int, "-10", IntMode(Hex)): pass; got -16, error <nil>
int_test.go:63: ParseInt(int, "x", IntMode(Hex)): pass; got 0, error failed to parse "x" as int: expected integer
int_test.go:63: ParseInt(int, "10", IntMode(Oct)): pass; got 8, error <nil>
int_test.go:63: ParseInt(int, "010", IntMode(Oct)): pass; got 8, error <nil>
int_test.go:63: ParseInt(int, "-10", IntMode(Oct)): pass; got -8, error <nil>
int_test.go:63: ParseInt(int, "-010", IntMode(Oct)): pass; got -8, error <nil>
int_test.go:63: ParseInt(int, "10", IntMode(Dec|Hex)): pass; got 10, error <nil>
int_test.go:63: ParseInt(int, "010", IntMode(Dec|Hex)): pass; got 10, error <nil>
int_test.go:63: ParseInt(int, "0x10", IntMode(Dec|Hex)): pass; got 16, error <nil>
int_test.go:63: ParseInt(int, "10", IntMode(Dec|Oct)): pass; got 10, error <nil>
int_test.go:63: ParseInt(int, "010", IntMode(Dec|Oct)): pass; got 8, error <nil>
int_test.go:63: ParseInt(int, "0x10", IntMode(Dec|Oct)): pass; got 0, error failed to parse "0x10" as int: extra characters "x10"
int_test.go:63: ParseInt(int, "10", IntMode(Hex|Oct)): pass; got 0, error ambiguous integer value; must include '0' prefix
int_test.go:63: ParseInt(int, "010", IntMode(Hex|Oct)): pass; got 8, error <nil>
int_test.go:63: ParseInt(int, "0x10", IntMode(Hex|Oct)): pass; got 16, error <nil>
int_test.go:63: ParseInt(int, "10", IntMode(Dec|Hex|Oct)): pass; got 10, error <nil>
int_test.go:63: ParseInt(int, "010", IntMode(Dec|Hex|Oct)): pass; got 8, error <nil>
int_test.go:63: ParseInt(int, "0x10", IntMode(Dec|Hex|Oct)): pass; got 16, error <nil>
--- FAIL: TestScanFully (0.00s)
scan_test.go:32: ScanFully(*int, "a", 'v') = failed to parse "a" as int: expected integer; *ptr==0
scan_test.go:23: ScanFully(*int, "0x", 'v'): want ok, got error failed to parse "0x" as int: strconv.ParseInt: parsing "0x": invalid syntax
scan_test.go:32: ScanFully(*int, "0x", 'd') = failed to parse "0x" as int: extra characters "x"; *ptr==0
FAIL
FAIL github.com/gravwell/gcfg/types 0.002s
FAIL