Felix Krause
48aeff20c0
Use variant object types for heterogeneous data
...
* Made variant object types work (really this time)
* Added `markAsImplicit`
* Implemented implicit variant object types
* Added documentation
2016-06-05 19:29:16 +02:00
Felix Krause
e81da97a17
Removed most of variant-object specific code
...
* fieldPairs() already handles variant objects fine. decided not to
go further along the way of identifying object variants by their
discriminants in tag URIs.
* variant objects are now supported just like normal objects.
2016-06-05 15:43:39 +02:00
Felix Krause
a0c435d6eb
Finally got variant objects to work
...
* may still require some polish before merging
2016-05-25 23:32:49 +02:00
Felix Krause
592158fad0
Merge branch 'master' into variant-objects
2016-05-25 23:18:32 +02:00
Felix Krause
f5431af0fd
fastparse refactoring, part III
...
* Changed some more templates to procs
2016-05-23 21:10:28 +02:00
Felix Krause
78fac63af5
fastparse refactoring, part II
...
* Transformed quite some templates to procs
* Moved quite some local vars from parse() to YamlParser
2016-05-21 23:26:39 +02:00
Felix Krause
10fec5fb1f
fastparse refactoring, part I
...
* Replaced lots of templates with procs
* Some minor improvements
2016-05-21 22:08:19 +02:00
Felix Krause
f73dfdc6ab
Worked on variant objects (not working)
2016-05-09 19:03:11 +02:00
Felix Krause
4ca4b2c87e
Support nil strings and seqs
2016-04-04 21:21:24 +02:00
Felix Krause
58b9b92895
Support int, uint and float types.
2016-04-04 20:44:16 +02:00
Felix Krause
6ad7e33bb5
Reduced dead code and compiler warnings
2016-04-03 11:45:48 +02:00
Felix Krause
f2c83cc170
Support array types. Updated documentation
2016-04-03 11:29:49 +02:00
Felix Krause
a267f73e0a
Serialization: support sets
2016-04-02 18:29:26 +02:00
Felix Krause
cde346b85c
Switched to indentation of 2 spaces
2016-04-02 17:48:22 +02:00
Felix Krause
7063e72ace
Added advanced example to index.html
2016-03-25 23:12:00 +01:00
Felix Krause
5ec086081c
Implemented serialization of OrderedMap
2016-03-25 22:22:42 +01:00
Felix Krause
06faf4966d
Object fields get the tag !nim:field. Fixes #12 .
2016-03-25 21:38:28 +01:00
Felix Krause
42ddfbe5c5
Fixes #13 .
...
* Separated into representObject and in representChild and
representObject. Makes it possible for multiple types to
use the same representObject proc.
2016-03-25 21:27:41 +01:00
Felix Krause
c18fd47511
Some litte performance increases
2016-03-25 18:22:25 +01:00
Felix Krause
28ccdcc5a6
Handle block scalars line-per-line. Fixes #10
2016-03-25 18:17:37 +01:00
Felix Krause
93ce0b26ba
Some performance optimization with shallowCopy
2016-03-25 10:13:55 +01:00
Felix Krause
57b4518564
Fixed presenter bug
...
* Fixed TagIds for Nim's system types
* Output JSON integers for Nim's integer types
* Output JSON floats for Nim's float types
2016-03-20 19:55:23 +01:00
Felix Krause
a9b565c35c
Eliminated dead code, fixed serialization
...
* fpBlockContinueScalar wasn't used anymore and has been removed
* Do not mark scalarContent in events as shallow because it breaks
peeking in YamlStreams
2016-03-20 14:19:46 +01:00
Felix Krause
a1f914eee4
Got rid of fpBlockLineStart, fixes #9
2016-03-20 13:50:00 +01:00
Felix Krause
b6d363107a
Performance optimizations in parser
2016-03-20 12:09:04 +01:00
Felix Krause
eef247b2e8
Fixed parser bug, added option to output YAML 1.1
...
* Fixed a parser bug that got confused when looking for an implicit
map key in a plain scalar that contains &, * or !
* Added OutputYamlVersion to PresentationOptions
2016-03-20 10:31:40 +01:00
Felix Krause
5688499650
Fixed bugs with presenting block scalars
...
* Folded block scalars were presented with "|" instead of ">"
* It has not been properly detected that a scalar cannot be outputted as
literal block scalar
2016-03-20 09:21:52 +01:00
Felix Krause
4d4e3c94e1
Added fplDocument, fixes #11
...
* Do not use -1 for unknown indentation, because the document level is -1.
* Use const UnknownIndentation in code instead of magic number
* Added fplDocument level which is used as root of the ancestry
* Added debugFail() template to better locate internal errors
2016-03-19 22:45:24 +01:00
Felix Krause
e45eb7b514
Fixed some bugs
...
* Ensure that no event is yielded twice at explicit document end
* Properly handle indentation when comment occurs in a line before the
start of the node
* Allow multiline implicit map keys in flow map
2016-03-19 15:54:19 +01:00
Felix Krause
0fc30241b9
Fixes for block scalars and doc end markers
...
* Properly (now really) handle block scalars at doc root
* Properly handle multiple document end markers
2016-03-19 15:03:09 +01:00
Felix Krause
22b8de876d
Root block scalars may have indentation of 0
2016-03-19 12:57:25 +01:00
Felix Krause
1399d3ba22
Refactoring: added yieldEmptyScalar()
2016-03-19 11:16:24 +01:00
Felix Krause
cb6f73eb01
Fixed a bug with comments in block mode
2016-03-19 11:11:38 +01:00
Felix Krause
ae933d90a1
Fixes to block scalars and yamlTestSuite
...
* Properly handle empty block scalars and trailing lines
* Fixed a bug in yamlTestSuite that led to lots of open file handles
2016-03-18 22:29:35 +01:00
Felix Krause
b9eb4b62f6
Fixes for flow style
...
* Allow # in flow scalar if not preceded by whitespace
* Fixed various issue with parsing single key-value pairs
in flow maps
2016-03-17 22:50:41 +01:00
Felix Krause
91cc16cde7
Properly handle multiline scalars
...
* single-quoted scalars: proper line folding
* plain scalars: allow tabs before continuation lines
2016-03-17 21:25:30 +01:00
Felix Krause
961a8dba81
Support implicit maps in flow sequences
2016-03-17 20:28:00 +01:00
Felix Krause
7edb682844
Handle ',' as flow indicator after tag shorthand
2016-03-17 19:45:01 +01:00
Felix Krause
4eb9685a57
code style: use compact blocks where possible
2016-03-17 19:30:40 +01:00
Felix Krause
06322505d1
Properly handle ':' after empty key in flow style
2016-03-17 18:57:14 +01:00
Felix Krause
eda85be0b9
Support % escape sequences in tag URIs
2016-03-17 18:44:35 +01:00
Felix Krause
d1c8c171a1
Properly handle comments in flow mode
2016-03-16 19:30:51 +01:00
Felix Krause
1c61486739
Fixed small bugs
...
* allow '!' at beginning of tag URI in %TAG directive
* recognise \t as start of more indented line in block flow scalar
* Made testEventParser more robust
2016-03-16 19:20:18 +01:00
Felix Krause
c3f5188e5e
Removed unnecessary import
2016-03-14 18:18:41 +01:00
Felix Krause
16d1a1bceb
Various code style and naming fixes
...
* Renamed some symbols for consistency, fixes #6 :
- yamlStartSequence -> yamlStartSeq
- yamlEndSequence -> yamlEndSeq
- yamlStartDocument -> yamlStartDoc
- yamlEndDocument -> yamlEndDoc
- yTagMap -> yTagMapping
* Improved code formatting at some places
* Fixed code documentation at some places
* Added generic objects to TODO list
* Removed obsolete parsing tests, these are superseeded
by yaml-dev-kit test suite integration
2016-03-14 18:10:34 +01:00
Felix Krause
2e8d7b39ab
Fixed a bug with setting ! in %TAG directive
2016-03-11 18:32:17 +01:00
Felix Krause
e1cee73b27
Fixed a bug with indentation after block scalar
2016-03-11 18:09:34 +01:00
Felix Krause
5444572543
Fixed bugs with handling scalars
...
* Fixed a problem with ':' followed by a plain-safe char
after space within a plain scalar
* Fixed block scalar handling in indented block context
2016-03-11 17:56:42 +01:00
Felix Krause
3a8781ba6e
Handle more indented lines in folded block scalars
2016-03-10 21:20:14 +01:00
Felix Krause
491c5f5e3a
Fixed a problem with implicit keys and properties
2016-03-10 19:59:56 +01:00