350 Commits

Author SHA1 Message Date
b9309ce12b FIX: Don't print an extraneous new line on fmt.
Fixes: #49
2019-10-02 19:55:40 -05:00
8f64d3385a FIX: Exit with non-zero exit code when fmt fails
Fixes #50
2019-10-02 19:55:39 -05:00
ebb06c169b FIX: Add newlines to yaml config output.
Fixes #48
2019-10-02 19:55:31 -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
4ec27ff426 DEV: Collapse fields when merging yaml maps 2019-08-13 09:48:13 -05:00
Jeremy Wall
949d468f55 DEV: Fix escaping in both strings and format strings. 2019-08-12 18:10:48 -05:00
Jeremy Wall
dffa535f1b DEV: Support the merge key syntax for yaml deserialization.
https://yaml.org/type/merge.html
2019-08-12 13:19:56 -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
7e88ed4d84 FIX: deprecated and unsafe code revealed by 1.36 rust release. 2019-07-11 14:53:11 -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
0766d8058f DEV: Stop using nested tuples in flag output.
Now that we have string manipulation facilities in the stdlib
that is a less useful and more confusing feature. This code removes
it.
2019-05-30 18:22:47 -05:00
85f239a566 REFACTOR: Error handling to use BuildError throughout.
Also removed more extraneous error output.

Contributes toward issue #45
2019-05-29 18:58:13 -05:00
e5f406d4e9 DEV: remove some unneccessary error output.
Working towards Issue #45
2019-05-28 21:08:54 -05:00
07d132bebc CLEANUP: an errant debug printf... 2019-05-28 20:50:50 -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
879a8d2100 DEV: for the repl use case allow changed file reimports.
Closes #47
2019-05-28 19:55:35 -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
685917876b DEV: A bunch of improvments
* move comments on the same line up to the previous line.
* All statements should have two new lines between them.
* Handle comments with indentation whitespace properly.
2019-05-24 15:26:11 -05:00
c9b2b9994f DEV: Handle some more expressions. 2019-05-23 20:10:18 -05:00
82d6ca9ecb DEV: Handle comments embedded in not, import or include expressions 2019-05-23 20:02:31 -05:00
ff2aafeb98 DEV: Handle grouped comments with embedded comments. 2019-05-23 19:57:51 -05:00
157f123355 DEV: Handle the functional operators with embedded comments. 2019-05-23 19:52:03 -05:00
f88955517e DEV: Handle TRACE, fail, and format expressions with embedded comments. 2019-05-22 19:05:48 -05:00
e6f6421ca6 DEV: Handle comments embedded in binary expressions and call expressions. 2019-05-22 18:52:10 -05:00
a21d4bd235 DEV: Handle comments between list elements. 2019-05-22 18:34:42 -05:00
94ca738ee1 DEV: Handle comments in tuple field expressions 2019-05-22 18:29:25 -05:00
957d0c6102 DEV: Handle comments between statements. 2019-05-21 20:54:15 -05:00
d884ea9385 REFACTOR: Remove the err field, rename indent -> indent_size 2019-05-21 18:41:15 -05:00
6661e02a75 DEV: Generate a comment map as part of our tokenization.
The comment_map is optional but if passed in it will be populated
during tokenization.
2019-05-20 21:05:58 -05:00
f3a08718dc MAINT: Tests for fail and trace expressions. 2019-05-17 21:21:20 -05:00
aa9e664c0d FEATURE: Improvements to format expression printing. 2019-05-17 21:19:01 -05:00
9b99bc026c FEATURE: Improvements to func expression pretty printing. 2019-05-17 20:06:06 -05:00
0d78438c2a FEATURE: Fix bug in out statements;
Also add tests for modules.
2019-05-17 19:58:48 -05:00
525cdd32e6 FEATURE: Use the AST Pretty Printer for TRACE and assert output. 2019-05-17 19:49:13 -05:00
cd6307824f FEATURE: more fixes and unit tests.
Call and copy have been tweaked properly.
2019-05-17 19:31:29 -05:00
d122fe6e6f FEATURE: Fix a number of bugs found by adding unit tests :-D 2019-05-17 18:33:47 -05:00
e86827f613 FEATURE: Begin the work of pretty printing the AST. 2019-05-17 17:20:57 -05:00
2821d0953b FEATURE: First make our AST Walker a little more ergonomic.
Use a trait instead of callbacks to make mutable it possible to support
Walkers with mutable internal state when necessary.
2019-05-14 20:54:06 -05:00
ec756636b0 FEATURE: Add a TRACE pragma for assitance debugging ucg files. 2019-04-26 19:19:43 -05:00
439ebf74f3 FEATURE: Give modules a reference to self. 2019-04-24 19:13:22 -05:00
3385c775d3 MAINT: Fix small comment inaccuracy. 2019-04-18 20:22:35 -05:00
1fbd1c0a50 FIX: Bug in dot_lookups
curr_val forms the basis of the scope search but it shouldn't be part of the
lookup expression for the field.
2019-04-18 17:36:16 -05:00
05771c7221 FIX: Selects nested in tuples with no defaults didn't parse.
fixes #40
2019-04-17 20:48:28 -05:00
0e41a40ab3 FEATURE: Add a function to the mod binding that imports the containing package. 2019-04-16 20:09:27 -05:00
0e2e396ac3 FIX: Include source file for parsing/build errors in the std lib. 2019-04-15 22:18:39 -05:00