38e418a1d6
FIX: Integration tests for the json and yaml mapping.
...
Fixed bug in the yaml key deserialization logic.
2019-02-19 15:28:31 -06:00
e2b843035e
FEATURE: Yaml importer for include expressions.
...
Yamls can be imported as UCG intermediate representation and used
like native UCG types in your ucg files.
2019-02-19 15:06:06 -06:00
a6eab6a459
REFACTOR: Rename convert::traits::Result to convert::traits::ConvertResult.
2019-02-19 14:50:55 -06:00
fdbbf0fb01
FEATURE: Add json as an include format.
...
Include a json file and it will be transformed into the UCG
intermediate format and usable in your ucg file.
2019-02-19 14:45:46 -06:00
f1c7d76fdd
REFACTOR: The great renaming macro -> func.
2019-01-24 20:04:40 -06:00
1dba5f66ce
FEATURE: map, filter, and reduce over lists.
2019-01-18 20:01:08 -06:00
47163ef010
DOC: Fix docstring for registry new constructors.
2019-01-05 15:51:59 -06:00
2c3f9c7b8f
Add base64 as an importer type aside from string.
2019-01-05 14:33:12 -06:00
7793404975
MAINT: use dyn syntax for trait objects now.
2019-01-05 13:27:51 -06:00
05aa57ae7f
REFACTOR: Builder => FileBuilder
2018-12-31 11:08:32 -06:00
821f1e9fb2
MAINT: Cleanup
...
TODO and FIXME removals.
Replaced unnecessary alt_peek! macro.
Renamed some types for clarity.
2018-12-14 16:01:17 -06:00
2b47ca8617
FEATURE: Use UCG_IMPORT_PATH to identify the import paths.
...
fixes #9
2018-12-13 19:03:22 -06:00
0a09f26aad
FEATURE: Add xml namespace support.
2018-12-12 20:26:19 -06:00
3d017a76da
FEATURE: Initial xml export via a DSL.
2018-12-12 19:28:14 -06:00
b91fe1550b
FEATURE: XML output using a dsl to describe the DOM
2018-12-12 19:28:14 -06:00
8009c6a8a5
MAINT: Formatting cleanup.
2018-12-10 21:27:44 -06:00
9b5b7aa793
MAINT: Fix try macros to use ?
2018-12-06 13:14:01 -06:00
e9a0bde631
MAINT: Opt in to 2018 edition of Rust.
2018-12-06 12:23:52 -06:00
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
e8e3ffab2c
FEATURE: Pretty print json output
...
closes #7
2018-11-18 13:56:38 -06:00
929a1ef180
BUGFIX: Separate env variables with a new line.
2018-11-17 21:49:56 -06:00
655f85a5b1
BUGFIX: A bug in boolean values for flag converters.
2018-11-17 21:40:37 -06:00
eebe0bbe67
FEATURE: Add toml as an output converter.
...
closes #4
2018-11-16 13:26:11 -06:00
15026423db
REFACTOR: Rename our error::Error type to BuildError.
2018-11-12 18:07:31 -06:00
6712fc9bb5
Merge squash of the no_more_nom branch
...
commit e4c80b19f5149fb7dba0a9b785e22ff5323b5470
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date: Sun Nov 4 09:54:16 2018 -0600
FEATURE: report better stacktraces for parsing.
commit 24b97c1037d6ddbe21f32e172b1c14cd2cfb9910
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date: Wed Oct 17 19:00:29 2018 -0500
FEATURE: Use context for our error reporting.
commit c22d397545e7575608e34561a274745b28be8c2c
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date: Sun Oct 14 14:18:42 2018 -0500
FIX: Better error reporting.
commit 7f47dc3f38bf6a3e8686c1fa3fd50ef97d4bf3af
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date: Sat Oct 13 19:42:22 2018 -0500
REFACTOR: Pass our offsets everywhere.
commit 91d7ed690bfd9989270ba9fa4f44c70f513d54b9
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date: Sun Sep 23 15:08:45 2018 -0500
REFACTOR: Use abortable_parser.
2018-11-05 21:34:12 -06:00
676f897189
FEATURE: Add YAML converter.
2018-08-25 18:39:25 -05:00
398fbc7e1b
FEATURE: Support limited help for the available converters.
2018-08-22 00:13:11 -05:00
786586dbde
BUGFIX: The '.' should not be in there.
2018-08-17 10:28:26 -05:00
ed87ca353b
MAINT: TODO cleanups.
2018-08-15 18:49: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
9370fbe17e
FEATURE: Shared cache for all built ucg files.
2018-08-13 23:43:14 -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
f96813a2a8
DOCS: Documentation fixes.
2018-06-21 11:40:12 -04: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
2df6cece33
CLEANUP: Extraneous TODOs
2018-05-27 21:07:07 -05:00
bfdf5da834
CLEANUP: FIXME comments
2018-05-27 14:55:21 -05:00
fdd8a35086
CLEANUP: The great test module refactor.
...
Move tests into a separate file for more manageable file
organization.
2018-05-22 18:58:08 -05:00
00c1e1751a
Formatting: cargo fmt.
2018-05-14 21:34:38 -05:00
4265b0177b
split ast handling into a separate module directory.
2018-04-16 20:05:54 -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
bafe5b3c30
cargo fmt pass with the new rustfmt-preview
2018-02-15 19:55:43 -06:00
5a6737d858
Add an environment variable output target.
2018-02-12 22:47:42 -06:00