Thomas Pelletier
618f0181ac
AST Tweaks ( #551 )
...
* Use pointers instead of copying around ast.Node
Node is a 56B struct that is constantly in the hot path. Passing nodes
around by copy had a cost that started to add up. This change replaces
them by pointers. Using unsafe pointer arithmetic and converting
sibling/child indexes to relative offsets, it removes the need to carry
around a pointer to the root of the tree. This saves 8B per Node. This
space will be used to store an extra []byte slice to provide contextual
error handling on all nodes, including the ones whose data is different
than the raw input (for example: strings with escaped characters), while
staying under the size of a cache line.
* Remove conditional
* Add Raw to track range in data for parsed values
* Simplify reference tracking
2021-06-03 21:48:51 -04:00
Thomas Pelletier
f3bb20ea79
Benchmark marshal ( #550 )
2021-06-02 09:29:19 -04:00
Thomas Pelletier
b202375414
Add benchmarks results to readme ( #548 )
2021-06-01 09:10:17 -04:00
Thomas Pelletier
238a6fef7d
Add links to proper feedback channels
2021-05-15 08:55:07 -04:00
Thomas Pelletier
67852cf007
Clarify default struct tag being unsupported ( #543 )
...
Follow up to https://github.com/pelletier/go-toml/issues/542
2021-05-15 08:49:15 -04:00
Thomas Pelletier
45ea20024b
Readme ( #535 )
2021-05-08 17:03:51 -04:00
Thomas Pelletier
9b67e40640
decoder: strict mode ( #512 )
2021-04-20 21:26:22 -04:00
Thomas Pelletier
9e122af5fc
encoder: support multiline strings + local options
2021-04-10 17:58:37 -04:00
Thomas Pelletier
37714006b6
V2 Marshaler MVP ( #495 )
2021-04-08 10:07:29 -04:00
Thomas Pelletier
275e366c17
decoder: handle casting local date into time.Time
...
Refs #494
2021-04-08 08:00:31 -04:00
Thomas Pelletier
4a4c2c2a5f
Update readme
2021-03-31 09:15:33 -04:00
Thomas Pelletier
32da85ab11
Decoding error position tracking
2021-03-30 21:43:57 -04:00
Thomas Pelletier
cf288a51c5
Wip errors reporting
2021-03-30 10:59:35 -04:00
Thomas Pelletier
2ddbf6be6d
Implement duplicate and key types check
2021-03-29 10:45:50 -04:00
Thomas Pelletier
636a75f316
Import tomltestgen
...
Handful are failing.
2021-03-26 09:51:35 -04:00
Thomas Pelletier
0fcf06e374
Update todo
2021-03-25 20:49:27 -04:00
Thomas Pelletier
17299c937b
Update readme
2021-03-25 19:56:40 -04:00
Thomas Pelletier
dd5837651d
Support TextUnmarshaler
2021-03-24 21:02:02 -04:00
Thomas Pelletier
a0d031abec
Arrays support
2021-03-24 20:21:55 -04:00
Thomas Pelletier
a25f636a07
Add array support todo
2021-03-23 21:18:19 -04:00
Thomas Pelletier
d458ddf4d4
Add TODO
2021-03-23 09:45:12 -04:00
Thomas Pelletier
e78ccff9a4
Fix parsing integer 0
2021-03-23 09:02:48 -04:00
Thomas Pelletier
ac2d6e2030
Handle unmarshalling value to nil ptr.
2021-03-22 20:03:35 -04:00
Thomas Pelletier
fcc91f2618
Progress on date/times
2021-03-22 09:59:15 -04:00
Thomas Pelletier
ebffe6db83
Naive implementation of anonymous structs
2021-03-18 21:11:51 -04:00
Thomas Pelletier
3e8b8db786
Unmarshal into pointers
2021-03-18 20:02:32 -04:00
Thomas Pelletier
8957a768ef
Next stop: pointers
2021-03-18 19:52:11 -04:00
Thomas Pelletier
844c9093a2
Add todo
2021-03-15 09:50:01 -04:00
Thomas Pelletier
37d06dabcf
Unmarshal into maps
2021-03-15 09:49:10 -04:00
Thomas Pelletier
1718142ede
More todos in README
2021-03-15 09:04:54 -04:00
Thomas Pelletier
ad64e5d2e2
Update README for v2 work
2021-03-15 08:53:16 -04:00
y-yagi
3430b0f086
Update docs to reference pkg.go.dev ( #465 )
2021-01-25 08:31:50 -05:00
Stanisław Barzowski
2e01f733df
[README] There are 3 cli tools, not 2. ( #454 )
2020-11-24 13:14:26 -05:00
Thomas Pelletier
b4905040a8
TOML 1.0.0-rc.3 ( #449 )
...
No spec change since 1.0.0-rc.1.
2020-10-11 16:12:23 -04:00
Thomas Pelletier
16c9a8bdc0
Mention support to v1.0.0-rc.1
2020-05-17 17:56:44 -04:00
Jim Tittsler
8784f9c73a
Fix typos
2020-05-17 20:41:16 +08:00
x-hgg-x
a60e466129
Fix index and slice expressions for query ( #405 )
...
* Fix index and slice expressions for query
Support negative step for slice expressions
2020-05-14 14:21:51 +08:00
Thomas Pelletier
903d9455db
TOML 0.5.0 ( #320 )
...
go-toml now officially supports all TOML 0.5.0 features. If anything
does not work according to the spec, please file a bug!
2019-10-25 14:53:56 -04:00
Thomas Pelletier
091e2dc498
Set up CI with Azure Pipelines ( #304 )
2019-09-24 16:11:17 -07:00
Gaurav Dhameeja
4d5afd743f
jsontoml tool ( #296 )
...
`jsontoml` is very similar to `tomljson`
It uses json.Unmarshal to convert read json to map and then
converts the map to tree using `toml.TreeFromMap`.
Then this tree is converted to toml using `tree.toTomlString()`
The numbers when taken as input from json get converted to float64
because of how `json.Unmarshal()` converts all json numbers to float.
Fixes #280
2019-09-06 09:36:56 -07:00
Thomas Pelletier
d95bfe020e
Dockerfile ( #269 )
...
Provide docker images for go-toml tools.
Ref: https://github.com/pelletier/go-toml/pull/267
2019-04-10 13:43:12 +01:00
Thomas Pelletier
405d48dc28
Port toml-test to pure Go ( #264 )
...
* Port toml-test to pure Go
This change basically ports the toml-test examples test suite to pure
Go. This removes the snowflake test.sh required to run such tests, and
allows us to the example tests on any platform (which includes Windows
as part of the pull-request testing).
* Allow CircleCI failure for go tip
2019-03-20 00:23:14 -07:00
Thomas Pelletier
27c6b39a13
Fossa badge
2018-11-23 16:27:27 -08:00
Thomas Pelletier
c2dbbc24a9
Add Codecov badge to README
2018-07-24 11:51:02 -07:00
Thomas Pelletier
a295f02a64
AppVeyor Windows build ( #234 )
...
Fixes #229
2018-07-18 16:44:55 -07:00
Thomas Pelletier
8c31c2ec65
Fix fuzz ( #199 )
...
Fix fuzzer (LoadString does not exist), and mention it in the README.
2017-10-21 19:23:38 -07:00
Thomas Pelletier
6d858869d3
Describe versioning policy in README ( #198 )
2017-10-21 19:08:12 -07:00
Maxime Le Conte des Floris
d01db88be9
Fix example code in README ( #197 )
2017-10-21 15:24:36 -07:00
KANEKO Tatsuya
16398bac15
Fix example code in README ( #187 )
2017-09-24 11:42:18 -07:00
Thomas Pelletier
40ecdac242
Clean up documentation ( #168 )
...
Fixes #135
2017-05-30 18:33:25 -07:00