22 Commits

Author SHA1 Message Date
aa183960d3 FEATURE: support a strict mode for building.
When strict mode is off then give a warning for unset env variables
and return NULL.
2018-11-26 21:36:50 -06:00
fa96c7c0ef FEATURE: UCG Parameterized Modules
closes #10

Squashed commit of the following:

commit 3101c2bb9a385ed9e84481d36906a3e3ce93e571
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date:   Wed Nov 21 20:10:31 2018 -0600

    FEATURE: Module evaluation

    * handle evaluating the module definition.
    * Handle performing a module instantiation via the copy syntax.

commit 4ca863896b416e39f0c8eacc53384b9c514f6f14
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date:   Tue Nov 20 18:38:19 2018 -0600

    FEATURE: Add module parsing expression parsing to ucg.

    changes toward issue #10
2018-11-23 12:51:13 -06:00
655f85a5b1 BUGFIX: A bug in boolean values for flag converters. 2018-11-17 21:40:37 -06:00
398fbc7e1b FEATURE: Support limited help for the available converters. 2018-08-22 00:13:11 -05:00
6418533562 UI: Command line subcommands and arguments are more usable.
The build and validate commands now take a list of files to process.

The outputs for files that specify the are given the same name as
the containing file with the extension changed to the extension that
the converter specifies.
2018-08-15 18:32:28 -05:00
3779c4912d CLEANUP: Documentation and public interface.
* Added missing docs for public methods or functions.
* Made private methods or functions that didn't need to be exposed.
* Cleaned up spelling and grammar on some of the docstrings.
2018-07-16 17:32:09 -05:00
c5e07daa7b FEATURE: Add an exec conversion target. 2018-06-21 11:40:05 -04:00
db9617bd6f REFACTOR: Don't presume io::Result for the converter Result. 2018-06-18 22:07:18 -05:00
5d32dc83a4 CLEANUP: Fix naming to not collide with String when using. 2018-06-10 14:13:08 -05:00
bfdf5da834 CLEANUP: FIXME comments 2018-05-27 14:55:21 -05:00
00c1e1751a Formatting: cargo fmt. 2018-05-14 21:34:38 -05:00
bfde2c5238 Add Boolean types. 2018-03-23 17:31:30 -05:00
a7b214a9af Improve type safety of write_list_flag function. 2018-03-17 09:15:13 -05:00
07413c9e8d Add list flag support.
If a field has a list of primitive values in it expand it to multiples
of that flag for each value in the list.
2018-03-15 19:45:16 -05:00
8a6935c3da FEATURE: NULL or empty values in the type system.
* Flags with empty values are considered not having a value they are set to.
* Json outputs empty values as null.
* Env ignores variable with empty values.
2018-03-12 20:37:23 -05:00
f2e7a8d7c9 Expand unit tests a little more 2018-03-11 15:11:27 -05:00
b31e95567d Add embedded struct output support for flags.
We use a dotted syntax for now but we might want to support other
separators in a future commit.
2018-03-06 19:48:54 -06:00
5a6737d858 Add an environment variable output target. 2018-02-12 22:47:42 -06:00
30c9bc64b2 The great documentation roundup.
Add docstrings for all kinds of types.
2018-02-07 20:22:08 -06:00
5fba06d71f Add json as an output type.
* Uses serde_json
* Doesn't handle macro values very well.
* Handles maps and lists just fine.
* doesn't pretty print the values though.
2018-02-04 16:08:30 -06:00
afdd2e5be8 List Parsing and evaluation support.
Also some formatting and todo cleanup.
2017-11-26 12:22:58 -05:00
2382cf9874 Wire up our converters for the Intermediate config data structures. 2017-11-15 22:44:34 -06:00