76 Commits

Author SHA1 Message Date
27011769dd DEV: respect strict in our bytecode interpreter 2019-11-09 15:07:46 -06:00
aecb1d571e DEV: Get rid of the MemoryCache implmentation. 2019-11-09 14:38:14 -06:00
34636a1743 MAINT: cargo fmt 2019-11-03 14:20:25 -06:00
31d76ec733 MAINT: Unused variables and import cleanups 2019-11-02 11:12:17 -05:00
Jeremy Wall
68f965a42a FIX: Builds return 0 exit code on success. 2019-10-18 06:51:17 -05:00
e058088a17 DEV: Working repl; 2019-10-17 17:58:03 -05:00
d092fba5e8 DEV: More of the ucg commandline works now. 2019-10-17 17:58:03 -05:00
2b64c2b4e0 DEV: The cargo test command works now. 2019-10-17 17:57:06 -05:00
3017ced8d9 DEV: A while raft of unit test fixes for error reporting mostly. 2019-10-17 17:57:06 -05:00
7a2a99b859 MAINT: TODO cleanups 2019-10-17 17:57:05 -05:00
acfd343c7a FIX: Give fmt a --overwrite flag.
Fixes: #51
2019-10-02 20:55:48 -05:00
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