joelself/toml_parser

List of stuff to do before first release (0.1.0)

joelself opened this issue · 2 comments

  • Back off to use beta Rust or, less likely, stable Rust
  • Unit tests for all parsers that don't have them yet
  • _Add macros to nom that produce and consume methods_
  • An integration test method that will iterate through each toml file in the assets directory (which includes the toml-test valid tests and the toml examples mentioned in the README), parse the file, then reconstruct it and compare it to the original.
  • Value look-up
    • Sub-key list for arrays and inline tables only for any key or partial key
  • Value modification (works for all types except arrays and inline tables)
    • Value add/delete for arrays only
    • Key/Value add/delete for inline tables only
  • Key modification for inline tables (general key modification moved to 0.2)
  • Content validation, and non-failure error reporting (currently the parser doesn't fail on heterogeneous arrays, duplicate keys, or invalid tables because it wants to give you a chance to correct them rather than force you to fix the original TOML by hand.) (Mostly done)
    • DateTime validation
    • Value parsing on set_value (currently set_value accepts whatever you give it). "Foo Bar" is an Integer? Ok.
  • Convenience functions
    • For creating TOMLValues, especially DateTime
    • Combining a key and a subkey or index to a new key
  • Logging
  • Unit tests for key look-up
    • Unit tests for sub-key look-up
  • Unit tests for key modification
  • An integration test that fails or returns errors for each invalid toml-test
  • Documentation

For the second release, which should come quickly after 0.1, I'm looking at adding:

  • Key/value delete
  • Key/value append
  • Key/sub-key list
  • Key modification
  • Table add
  • Table delete
  • Table modify

Version 0.1.1 is out. closing this and moving the issue for 0.2.0 functionality to the new repo.