Commit Graph

36 Commits

Author SHA1 Message Date
Evan Driscoll
edb6b25569 Fancy printer predicate now takes current JSON object
The API is ugly at the moment. Will fix with an ugly
implementation soon.
2018-06-04 21:59:21 -05:00
Evan Driscoll
5f0870ef34 Expose the matcher predicate from fancy stylizer 2018-06-03 22:26:55 -05:00
Evan Driscoll
d0eb2f21d3 Refactor: fancy_serializer passes json_pointer to stylizer 2018-06-03 22:06:27 -05:00
Evan Driscoll
ca3f3959a8 Refactor: fancy_serializer tracks a json_pointer context 2018-06-03 22:02:07 -05:00
Evan Driscoll
6c746460c6 Add missing header file 2018-06-03 21:51:45 -05:00
Evan Driscoll
860661987f Spaces after commas (in [1, 2]) is controllable separately from multiline 2018-06-03 00:02:49 -05:00
Evan Driscoll
e7b02c10dd Spaces after a colon (in {"k": v}) controllable separately from multiline 2018-06-03 00:00:12 -05:00
Evan Driscoll
ec756e47ad Refactor: don't indent when multiline is false 2018-06-02 23:52:30 -05:00
Evan Driscoll
af8dd92a0c Refactor: introduce explicit multiline control
Instead of depending on indent_step
2018-06-02 23:48:26 -05:00
Evan Driscoll
5e10e97296 Refactor: dump_object_key_value
This isn't as clean as I wanted -- there's a lot more context
than I realized -- but I think it's still an improvement and
will become even moreso later
2018-06-02 23:35:38 -05:00
Evan Driscoll
ef679f8988 Fancy serializer: styles continue to propagate if not overridden
This is half a bug fix half just continuing work from befor
2018-06-02 23:17:42 -05:00
Evan Driscoll
186c7df25a Can style subobjects of a object differently, by key 2018-06-02 23:10:28 -05:00
Evan Driscoll
7fa4431474 Refactor and prep: introduce new fancy_serializer_stylizer class
This will be able to provide multiple styles depending on context
2018-06-02 22:47:05 -05:00
Evan Driscoll
28e7eecf33 Fancy serializer can limit recursion depth
Elides objects with ... if that limit is exceeded
2018-06-02 22:22:24 -05:00
Evan Driscoll
1c1c789084 Serializer edge case bug fix: very deep indents ignored indent_char 2018-06-02 21:34:55 -05:00
Evan Driscoll
a983e47619 Refactor: dump_object no longer splits cases by indent 2018-06-02 21:08:53 -05:00
Evan Driscoll
9cdf54b886 Refactor: dump_array doesn't split cases for indent 2018-06-02 21:01:22 -05:00
Evan Driscoll
cc4206a718 West const to match existing code 2018-06-02 20:52:12 -05:00
Evan Driscoll
dafee1343c Refactor: dump tracks recursive depth, not indent size
This makes the depth independent of the indent_step and independent
of whether it's indenting at all
2018-06-02 20:51:26 -05:00
Evan Driscoll
f180227b6d Fancy serializer: Split object and array handling into functions 2018-06-02 20:30:12 -05:00
Evan Driscoll
7dbfe2459b Refactor: move string handling to dump_string 2018-06-02 20:15:07 -05:00
Evan Driscoll
d54f4653ed It's now possible to limit the size of strings 2018-06-02 02:09:04 -05:00
Evan Driscoll
003f3e298b Introduce fancy_serializer_style 2018-06-02 01:18:55 -05:00
Evan Driscoll
e38b4e8031 Re-support indentation in fancy_serializer 2018-06-02 01:07:25 -05:00
Evan Driscoll
297ff8e53f Use primitive_serializer in fancy_serializer 2018-06-02 00:23:00 -05:00
Evan Driscoll
e9cb8f604d Split primitive serialization into own class 2018-06-02 00:16:08 -05:00
Evan Driscoll
607b973035 Fancy Serialization: copy serializer to fancy_serializer
1. Copy header and rename; add to Makefile; amalgamate
2. Add as friend to basic_json
3. Copy operator<< to 'fancy_dump' and simplify
4. Change test to refer to that
2018-06-01 23:13:49 -05:00
Evan Driscoll
fe90fa5181 Run 'make almalgamate'
astyle reformatted some stuff... I... don't know why.
2018-06-01 23:11:34 -05:00
Matthias Möller
ecadcdb593 added char cast
should fix the GCC unittest
2018-05-31 16:36:16 +02:00
Matthias Möller
64acb42aa7 remove stringstream dependency 2018-05-31 13:45:58 +02:00
Niels Lohmann
896a9db461
🔨 improved code #1021 2018-03-28 19:37:21 +02:00
Niels Lohmann
a9baab76c2
🚑 fix for #1021 2018-03-28 18:20:55 +02:00
Vitaliy Manushkin
830f3e5290 forward alternative string class from output_adapter to output_string_adapter 2018-03-10 23:58:16 +03:00
Vitaliy Manushkin
faccc37d0d dump to alternate implementation of string, as defined in basic_json template 2018-03-10 17:19:28 +03:00
Niels Lohmann
d2d65bb25b
♻️ refined SFINAE to fix some warnings 2018-03-07 22:01:44 +01:00
Théo DELRIEU
14cd019861
fix cmake install directory (for real this time)
* Rename 'develop' folder to 'include/nlohmann'
* Rename 'src' folder to 'single_include/nlohmann'
* Use <nlohmann/*> headers in sources and tests
* Change amalgamate config file
2018-02-01 11:06:51 +01:00