Commit Graph

328 Commits

Author SHA1 Message Date
Felix Krause 1df2444c50 Fixed a JSON presentation bug 2016-06-08 19:40:53 +02:00
Felix Krause 7cad7b5478 Fixed and properly implemented variant objects 2016-06-08 19:15:50 +02:00
Felix Krause 152a4f3bd3 NimYAML version 0.5.1
* Fixed a problem that was caused by a change in getType in Nim devel
2016-06-05 20:52:43 +02:00
Felix Krause 2ce212b79a NimYAML 0.5.0
* Updated changelog, readme and nimble file
 * moved nimble file from nimyaml.nimble to yaml.nimble because
   the nimble package has been renamed
 * Updated documentation about nimble package
2016-06-05 19:41:09 +02:00
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 c3810fbb22 Made server output syntax-highlighted YAML 2016-05-12 15:35:29 +02:00
Felix Krause f73dfdc6ab Worked on variant objects (not working) 2016-05-09 19:03:11 +02:00
Felix Krause 273093e390 improved setTagUri
* renamed setTagUriForType to setTagUri
 * generated TagId is now const (can be used in case etc)
 * Uses compile-time counter independent from tag library
2016-04-21 18:58:53 +02:00
Felix Krause 62fa366ac7 Check for duplicate tag URIs at compile time 2016-04-09 21:54:49 +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 7dcc37c482 Version 0.4.0 2016-03-25 23:20:17 +01: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 d3053f381f Improved quickstart examples 2016-03-21 21:15:38 +01:00
Felix Krause 537ba1ca01 Improved quickstart documentation 2016-03-20 22:58:39 +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 167c25af72 Added benchmark for processing YAML input 2016-03-20 10:32:14 +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 415acdb19a Forgot to update nimble version to 0.3.0, did this. 2016-03-19 11:22:09 +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