ToruNiina
61dfa4a2dc
feat: format any number of values into an err msg
...
```cpp
toml::format_error("[error] message", v1, "v1", v2, "v2", ...);
```
2019-03-15 12:38:37 +09:00
ToruNiina
ca337a1110
chore: merge branch 'master' into travis-ci
2019-03-14 23:02:04 +09:00
ToruNiina
510e10de95
ci: test numerous compilers on CI
2019-03-14 22:58:44 +09:00
ToruNiina
0babe8d589
fix: use format_underline for N regions everywhere
2019-03-14 00:59:10 +09:00
ToruNiina
5b2ce26721
refactor: remove redundant function
...
since N region format_underline() has been implemented, overloads for 1
and 2 region(s) are not needed.
2019-03-14 00:56:35 +09:00
Toru Niina
db4d99cd4f
Merge pull request #35 from ToruNiina/suppress-warning
...
fix: suppress warning about sign-unsign comparison
2019-03-13 15:01:51 +09:00
ToruNiina
74ceceef73
fix: suppress warning about sign-unsign comparison
...
The solution is not ideal, but it's okay at the line
2019-03-13 14:03:04 +09:00
Toru Niina
360e890cc0
Merge pull request #34 from ToruNiina/consider-locale
...
fix: use snprintf instead of stringstream
2019-03-13 09:56:32 +09:00
ToruNiina
46b35870c5
style: remove needless type casting
2019-03-13 01:17:27 +09:00
ToruNiina
dddcecb034
fix: use snprintf instead of stringstream
...
to avoid the effect of locale
2019-03-12 23:37:46 +09:00
ToruNiina
c4c416e8b2
doc: add is_* function to README
2019-03-12 22:18:25 +09:00
ToruNiina
6693ec78f4
test: add test for toml::value::is_something()
2019-03-12 20:44:27 +09:00
ToruNiina
dc112bd6c1
feat: add is_[boolean|integer|...]() member func
...
it is an alias to is<toml::value_t::[Boolean|Integer|...]>
2019-03-12 20:43:07 +09:00
ToruNiina
084e82a8a9
chore: update README
2019-03-07 14:09:02 +09:00
Toru Niina
f5079a7892
Merge pull request #32 from ToruNiina/allow-deeper-table-before
...
Allow deeper table before
2019-03-06 12:03:14 +09:00
ToruNiina
d90ffb63c6
Merge branch 'master' into allow-deeper-table-before
2019-03-05 23:27:11 +09:00
ToruNiina
b0ed122214
fix: allow deeper table appeared before
...
allow the following toml file.
```toml
[a.b.c]
d = 10
[a]
e = 2.718
```
2019-03-05 23:25:25 +09:00
ToruNiina
d88521d63c
feat: enable to change region of value
...
To allow the following toml file, we need to replace the region after
the more precise region is found.
```toml
[a.b.c]
d = 42
[a]
e = 2.71
```
If the precise region (here, [a]) is found, the region of `a` should be
`[a]`, not `[a.b.c]`. After `[a]` is defined, toml does not allow to
write `[a]` twice. To check it, we need to replace the region of values
to the precise one.
2019-03-04 15:01:28 +09:00
ToruNiina
2accc9d22c
fix: diagnose, but not throw for unicode error
...
in 2.0.x and 2.1.0, README says "it shows warning" for invalid unicode
codepoints. So far, this library just show an error message in stderr
for this case. It is not good to change the behavior fatal in the next
minor release, 2.1.1, that includes patches and improved error msgs.
I will make it throw syntax_error after 2.2.0 for invalid unicode
codepoints. For now, I will keep it to be "warning".
2019-03-03 18:56:45 +09:00
Toru Niina
363927f489
Merge pull request #31 from ToruNiina/err-msg-inhomogenous-array
...
improve error messages for invalid arrays
2019-03-02 23:07:29 +09:00
ToruNiina
ae793fb631
feat: improve error message for invalid array
2019-03-02 17:56:16 +09:00
ToruNiina
944b83642a
feat: make location to inherit region_base
...
To generate error message, it is better to have the same interface.
Also, location can be considered as a region having only one character.
2019-03-02 17:52:00 +09:00
Toru Niina
5a8e5dee73
Merge pull request #30 from ToruNiina/hotfix
...
small patches for parser
2019-03-02 16:11:31 +09:00
ToruNiina
7f870d5861
fix: diagnose invalid UTF-8 codepoints
2019-03-02 01:57:05 +09:00
ToruNiina
536b23dc84
fix: allow empty table in the middle of a file
2019-03-01 22:53:16 +09:00
ToruNiina
0c9806e99f
fix: diagnose key after [table.key] pattern
...
the following is not a valid toml format.
```
[table] key = "value"
```
this commit enables to diagnose that pattern.
2019-03-01 22:37:52 +09:00
ToruNiina
5a92932019
fix: disallow invalid escape sequence
2019-03-01 22:13:32 +09:00
ToruNiina
e929d2f00f
fix: allow empty input file (to be an empty table)
2019-02-27 12:30:57 +09:00
Toru Niina
1e1e4c06e8
Merge pull request #29 from ToruNiina/err-msg-dotted-key
...
Error message for getting values corresponds to dotted keys
2019-02-27 12:21:03 +09:00
ToruNiina
d0726db473
chore: merge branch master into err-msg-dotted-key
2019-02-27 01:26:36 +09:00
Toru Niina
4cdc15a824
Merge pull request #28 from xaxousis/master
...
Add location to error string in parse_* functions
2019-02-27 01:25:52 +09:00
ToruNiina
b36fdf2f54
refactor: remove internal fn not needed any more
...
The function was needed to copy region information from value to value,
for a useful error message. Because of the last few commits, the region
information about keys are passed to insert_nested_keys that requires
the function which is removed. And it turned out that the function is no
longer required. It is originally a workaround, so I removed it.
2019-02-27 01:07:00 +09:00
ToruNiina
73ba6b385f
feat: use key-region to represent table
...
use x.y.z = 42
~~~ here as the region of the table `x.y`
2019-02-27 01:02:39 +09:00
ToruNiina
30d1639aa4
refactor: return region info from parse_kvpair
2019-02-27 00:21:05 +09:00
Quentin Khan
d82814fc86
Add location to error string in parse_* functions
2019-02-26 14:56:58 +01:00
ToruNiina
2220efd682
chore: show appvayor status of master branch
...
other branches might be unstable, so they might fail. It is good to show
the status of the stable branch, rather than the experimental branches.
2019-02-26 00:26:04 +09:00
ToruNiina
679b365cf7
feat: get region info when parsing keys
...
Error messages related to dotted keys looks weird. like:
1 | a.b.c = 42
| ~~ in this table
The underlined token is not a table. This should be like the following.
1 | a.b.c = 42
| ~~~ in this table
To implement this, the region information is needed when the keys are
read. This commit add this functionality, though currently the region
information is not used yet.
2019-02-26 00:17:28 +09:00
ToruNiina
83bf83b6dd
style: add braces to if and remove additional else
2019-02-19 02:56:15 +09:00
ToruNiina
321364c7c2
fix: format char in an error message correctly
2019-02-19 02:46:48 +09:00
ToruNiina
d8707d5867
chore: fix README
2019-02-17 00:22:19 +09:00
ToruNiina
2dd0a78c52
fix: reset stream width before printing
...
without this, the first line of the serialized result becomes too wide
2019-02-16 23:55:19 +09:00
Toru Niina
d7b8c3c78f
Merge pull request #18 from ToruNiina/threadsafe-localtime
...
add threadsafe localtime_(s|r)
2019-02-16 23:28:48 +09:00
Toru Niina
2f0148a2df
Merge pull request #26 from ToruNiina/serialize
...
add serializer
2019-02-16 23:27:05 +09:00
ToruNiina
4accc29984
chore: update README
2019-02-14 16:47:15 +09:00
ToruNiina
19b9af2494
Merge branch 'master' into serialize
2019-02-14 16:34:45 +09:00
ToruNiina
0aa50e9439
style: just add newlines to README
2019-02-14 16:26:48 +09:00
ToruNiina
a00a906482
fix: add comma at correct position
2019-02-14 16:17:32 +09:00
ToruNiina
19ad7d7c96
fix: remove needless empty line from serialization
2019-02-14 16:17:04 +09:00
ToruNiina
251e55da42
fix: don't ignore std::setw(0)
2019-02-14 15:49:27 +09:00
ToruNiina
32f1b2060a
fix: avoid width overflow
2019-02-14 15:49:13 +09:00