65 Commits

Author SHA1 Message Date
8f64d3385a FIX: Exit with non-zero exit code when fmt fails
Fixes #50
2019-10-02 19:55:39 -05:00
49a64251a4 MAINT: cargo fix
Mostly to add the dyn keyword all the places where it will soon
be required.
2019-09-18 20:09:57 -05:00
Jeremy Wall
cd4fdfb9be DEV: Fix bug in eval command when you don't specify an input file. 2019-08-12 11:40:51 -05:00
fa73cf258a FEATURE: out statements work in a REPL 2019-06-20 19:39:09 -05:00
f349293400 FEATURE: Support a convert expression. 2019-06-20 19:28:20 -05:00
7c253991e8 DOCS: move the env command help text into a text file. 2019-05-28 20:36:12 -05:00
c5d608216a FEATURE: Repl commands.
Adds: #help and #del

Closes #46
2019-05-28 20:29:18 -05:00
1589aaf7d7 Refactor: Use trait constraints instead of a trait object for our assets cache. 2019-05-28 18:24:02 -05:00
fc9595ab38 FEATURE: Show line numbers for ucg statements in the repl. 2019-05-28 18:06:23 -05:00
9382563dfc DEV: Adds a Repl for ucg.
Uses a StatementAccumulator to handle the accumulation of lines
until a line terminated with a statement is encountered.

Fixes #41
2019-05-26 16:20:19 -05:00
3d3a0a397c FEATURE: Wire in the fmt command.
issue #43
2019-05-24 15:39:41 -05:00
a5fe59bb7c Add help text functionality for converters. 2019-03-25 20:34:40 -04:00
1699801895 FEATURE: Wrap include failures in a Build Error.
This is way more ergonomic for the users.
2019-02-20 20:29:32 -06:00
a6eab6a459 REFACTOR: Rename convert::traits::Result to convert::traits::ConvertResult. 2019-02-19 14:50:55 -06:00
28129ba1de FEATURE: change inspect to eval
Also make it easier to use by having sane defaults for the arguments.
2019-01-30 21:02:00 -06:00
3f69896a08 REFACTOR: Clarify the notion of working directory vs file. 2019-01-23 20:56:59 -06:00
b56fb25c28 REFACTOR: Carry the source file around with the input iter. 2019-01-23 20:02:35 -06:00
92d2857f83 FEATURE: Add a default import_path search location.
We'll always search "~/.ucg".
2019-01-13 15:00:26 -06:00
03d69ede42 FEATURE: Allow the inpsect command to process full expressions.
Related to #22
2019-01-07 19:50:15 -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
a997b7b513 FEATURE: Add a subcommand to describe the ucg environment variables.
Also update documentation with help output.
2018-12-14 16:46:15 -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
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
10d13de5a0 Fix -r arg argument.
It's not supposed to be required. :-p
2018-11-28 21:15:03 -06:00
163420ff55 REFACTOR: More consistent naming for Builder methods. 2018-11-28 20:23:32 -06:00
960dbef591 REFACTOR: Pass file into the constructor for builders. 2018-11-28 20:11:34 -06:00
02cc210eb2 Recurse flag can be used with flag input as arguments. 2018-11-27 17:48:41 -06:00
17a721a600 FEATURE: Use a command line flag to turn off strict mode. 2018-11-26 21:38:00 -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
0bbb417f69 FIXES: Fixed bug when recursing through directories.
Also removed unnecessary print statements.
2018-11-16 08:54:30 -06:00
d254ff3f94 FIX: Don't use debug to print out the errors.
Also fix some formatting.
2018-11-06 18:45:03 -06:00
0003e1b9c3 FEATURE: Default to printing out our help if no subcommand is used. 2018-08-26 15:46:52 -05:00
5d86b49498 BUGFIX: Fix early exit in our do_compile. 2018-08-25 18:39:25 -05:00
4795945caf Change the validate command to test. 2018-08-24 19:47:15 -05:00
c3048915d4 BUGFIX: Errors in validation reporting. 2018-08-22 18:59:40 -05:00
398fbc7e1b FEATURE: Support limited help for the available converters. 2018-08-22 00:13:11 -05:00
9fdc845e77 BUGFIX: Properly run only _test.ucg files in validation.
* Fix the validate logic for file filtering.
* Add a summary of the files run and their pass/fail status.
2018-08-20 22:06:52 -05:00
afa2cfb546 MAINT: More wording fixes. Grammar and such. 2018-08-18 13:47:08 -05:00
734bf01385 MAINT: Improved wording in our build messages. 2018-08-17 22:09:57 -05:00
3a90812d41 FEATURE: Handle directories and recursing.
The build and validate commands can nor process directories and recurse if desired.
2018-08-17 22:09:51 -05:00
1d09d30ff6 MAINT: Doc and usage string fixes. 2018-08-15 18:54:08 -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
be1fb4e678 FIX: Fixes some bugs with the import processing. 2018-08-14 16:12:02 -05:00
9370fbe17e FEATURE: Shared cache for all built ucg files. 2018-08-13 23:43:14 -05:00
5e6da71ff2 Cut the v0.1.5 release. 2018-07-04 12:48:33 -05:00