Thomas Pelletier
9fa2fd413d
Implement inline tables
2021-02-06 09:33:20 -05:00
Thomas Pelletier
b1e11f82a9
Implement array values
2021-02-06 09:27:24 -05:00
Thomas Pelletier
165f65408d
Implement tables
2021-02-06 09:09:41 -05:00
Thomas Pelletier
540c2a7b59
Fix parsing bugs + boolean impl
2021-02-06 08:54:40 -05:00
Thomas Pelletier
a466f0ca79
Multiline literal strings
2021-02-06 08:01:38 -05:00
Thomas Pelletier
736a75748b
Multiline basic string parsing
2021-02-05 17:46:40 -05:00
Thomas Pelletier
ca12c0670d
wip parsing
2021-02-05 14:48:16 -05:00
Thomas Pelletier
0ee0fe7f7c
Trying the scanner approach
2021-02-04 10:14:11 -05:00
Thomas Pelletier
1e8b0dc3c9
Rename to lexer and split in files
2021-02-02 08:28:30 -05:00
Thomas Pelletier
7300b6a97b
Array tables
2021-02-02 08:19:04 -05:00
Thomas Pelletier
aae4656c64
Standard Table
2021-02-01 22:03:53 -05:00
Thomas Pelletier
44f7a7aead
Inline tables
2021-02-01 21:41:34 -05:00
Thomas Pelletier
bac65cc530
Array implementation
2021-02-01 21:25:20 -05:00
Thomas Pelletier
91d7afbc0a
Parse rvalue string
2021-02-01 20:54:04 -05:00
Thomas Pelletier
7b4d82a939
Remove error handling for rune
2021-02-01 20:25:31 -05:00
Thomas Pelletier
2ab0f8c733
Default to use bytes instead of runes
...
benchmark old ns/op new ns/op delta
BenchmarkParseAll-8 3238 1941 -40.06%
2021-02-01 20:20:24 -05:00
Thomas Pelletier
fd961100c1
Boolean values
2021-02-01 19:19:40 -05:00
Thomas Pelletier
1c7e9fe3af
Dotted keys
2021-02-01 19:07:51 -05:00
Thomas Pelletier
07aa85ea0b
Refactor to use parser state
2021-02-01 09:00:36 -05:00
Thomas Pelletier
abe1005d7a
wip: string parsing
2021-01-30 20:31:14 -05:00
Thomas Pelletier
b4bb91fc13
test
2021-01-30 09:07:55 -05:00
Stephen Levine
9f8f82dfe8
Fix index exception when setting empty Tree slice ( #425 )
2020-09-10 21:19:18 -04:00
Stephen Levine
661484ae7e
Add *Tree.SetPositionPath ( #426 )
...
Signed-off-by: Stephen Levine <stephen.levine@gmail.com >
2020-07-31 23:44:50 -04:00
AllenX2018
34de94e6a8
fix issue #421
2020-07-08 19:02:44 +08:00
Thomas Pelletier
db62263e3e
Added exta tests for GetArrayPath
2020-06-01 10:16:36 -04:00
RiyaJohn
2d866e3fae
fix: rm int, int32, float32
2020-05-21 22:50:23 +05:30
RiyaJohn
ecd155a62f
Merge remote-tracking branch 'upstream/master' into better_lists
2020-05-18 15:54:12 +05:30
RiyaJohn
bcacc71a18
feat: add GetArray() with testcases
2020-05-18 15:26:15 +05:30
Allen
d05497900e
Forbid adding keys to exist inline table ( #378 )
2020-05-04 13:06:37 -04:00
RiyaJohn
71c324cf7b
add getArray logic
2020-04-27 12:06:33 +05:30
Allen
a12e102214
Fix multiline + non-primitive commenting ( #336 )
...
Fixes #216
2020-03-16 22:51:47 -04:00
Ceriath
51edd0ca49
Fix goreportcard issues ( #271 )
...
* Fixed misspell
* Fixed ineffassign
`user` and `password` always got overwritten
`orderedVals` was initialized with an empty array but always got overwritten by either `sortByLines()` or `sortAlphabetical`
`err` was assigned a `nil` value that was either overwritten or unused anyways
* Fix comment for DeletePath
The comment assumed the method was named Delete, i guess a rename happened at some point
* Update doc_test.go
2019-04-11 12:11:29 +01:00
Brent DeSpain
63909f0a90
Option to keep fields ordered when marshal struct ( #266 )
...
Adds a new `Order()` option to preserve order of struct fields when
marshaling.
2019-04-02 09:47:51 -07:00
David Poncelow
ad2aec1dcc
Delete function to Tree ( #256 )
...
Adds delete* functions to the tree so that keys can be removed programatically.
2019-03-01 14:25:52 -08:00
Thomas Pelletier
539dd095b3
Support byte order mark ( #253 )
...
Fixes #250
2018-11-23 19:15:58 -05:00
Veselkov Konstantin
81a861c69d
Fix typeSwitchVar warnings ( #243 )
...
Fixes #242
2018-09-30 13:58:32 -07:00
Alan Murtagh
c01d1270ff
Multiline Marshal tag ( #221 )
...
The new multiline tag works just like the existing 'commented' tag (i.e.
`multiline:"true"`), and tells go-toml to marshal the value as a
multi-line string. The tag currently has no impact on any non-string
fields.
2018-06-05 13:47:19 -07:00
Thomas Pelletier
acdc450948
Fix backward incompatibility for Set* methods ( #213 )
...
Patch #185 introduced a backward incompatibility by changing the arguments
of the `Set*` methods on `Tree`.
This change restores the arguments to what they previous were, and
introduces `SetWithComment` and `SetPathWithComment` to perform the same
action.
2018-01-18 14:54:55 -08:00
Kazuyoshi Kato
4874e8477b
Fix parsing of single quoted keys ( #201 )
...
Patch #193 doesn't work correctly because that must be handled by the
lexer, and `parseKey()` must not handle escape sequences.
Ref #61
2018-01-18 13:52:12 -08:00
Yvonnick Esnault
690dbc9ee7
Comment annotation for Marshal ( #185 )
2017-10-01 15:05:24 -07:00
Thomas Pelletier
69d355db53
Lex performance improvement ( #176 )
...
* Use []token instead of chan token
name old time/op new time/op delta
ParseToml-8 1.18ms ± 0% 0.91ms ± 0% -22.98%
UnmarshalToml-8 1.29ms ± 0% 0.95ms ± 0% -25.96%
name old alloc/op new alloc/op delta
ParseToml-8 429kB ± 0% 444kB ± 0% +3.49%
UnmarshalToml-8 451kB ± 0% 466kB ± 0% +3.32%
name old allocs/op new allocs/op delta
ParseToml-8 14.1k ± 0% 13.7k ± 0% -2.31%
UnmarshalToml-8 15.1k ± 0% 14.7k ± 0% -2.16%
* Lex on []byte instead of io.Reader
name old time/op new time/op delta
ParseToml-8 1.18ms ± 0% 0.29ms ± 0% -75.18%
UnmarshalToml-8 1.27ms ± 0% 0.38ms ± 0% -70.38%
name old alloc/op new alloc/op delta
ParseToml-8 429kB ± 0% 135kB ± 0% -68.53%
UnmarshalToml-8 451kB ± 0% 157kB ± 0% -65.22%
name old allocs/op new allocs/op delta
ParseToml-8 14.1k ± 0% 3.2k ± 0% -77.20%
UnmarshalToml-8 15.1k ± 0% 4.2k ± 0% -72.00%
2017-06-27 18:26:37 -07:00
Thomas Pelletier
40ecdac242
Clean up documentation ( #168 )
...
Fixes #135
2017-05-30 18:33:25 -07:00
Thomas Pelletier
685a1f1cb7
Rename TomlTree to Tree ( #159 )
...
Avoid stutter.
Fixes #55
2017-05-10 17:53:23 -07:00
Thomas Pelletier
23f644976a
Move query to its own subpackage ( #152 )
...
Move all the query system to its own package. The reason is to
avoid it to rely on unexported methods and structures, and move
it out of the main package since this is really not a core
feature. It is still tied to the toml.TomlTree and toml.Position
structures for now.
* Move query mechanism to its own subpackage
* Rename QueryResult to Result to avoid stutter
* Add query.CompileAndExecute
Fixes #116
2017-05-07 17:14:13 -07:00
Kevin Burke
97253b98df
Fix plural mistake in Set* docs ( #154 )
2017-05-03 21:03:14 -07:00
Kevin Burke
76c552dcd7
Initialize keys array to final length ( #155 )
...
Previously we'd create an empty array and need to continuously resize
it as we appended more entries. This way we immediately create the
correct size array, and then add entries to it.
2017-05-03 21:02:36 -07:00
Thomas Pelletier
fee7787d3f
Rework tree from map ( #139 )
...
* Make TreeFromMap reflect to construct tree
* Fix wording of invalid value type in writeTo
Fixes #138 , #139 , #134
⚠️ TreeFromMap signature changed to `TreeFromMap(map[string]interface{}) (*TomlTree, error)`
2017-03-14 13:16:40 -07:00
Thomas Pelletier
7e6e4b1314
Rewrite TomlTree encoding ( #133 )
...
* Rewrite `TomlTree` encoding
* Introduce `TomlTree.WriteTo`
2017-03-02 09:17:06 -08:00
Thomas Pelletier
31055c2ff0
Allow empty quoted keys ( #97 )
2016-09-06 22:25:57 +02:00
Thomas Pelletier
8d9c606c69
Improve test coverage ( #66 )
2016-04-22 14:26:15 +02:00