110 Commits

Author SHA1 Message Date
08aee3548a Add caching as a polish feature. v0.1.2 2018-05-28 08:31:34 -05:00
aa8d2cab29 FEATURE: Allow trailing commas in the tuple, copy, and list syntax 2018-05-28 08:15:48 -05:00
40494fb90e CLEANUP: Comment cleanup. 2018-05-27 21:22:09 -05:00
cfd5f085cd TESTS: operator precedence compiler test. 2018-05-27 21:14:36 -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
cefb307783 FEATURE: Allow tuples and lists as the head of a selector. 2018-05-27 14:46:39 -05:00
988698fc01 Refactor: Improved expression parsing organization.
Any non-operator expression can be a part of an operator expression.
This cleans up and makes clearer the precendence relationships for parsing.
2018-05-26 09:12:00 -05:00
79bee4e2b4 POLISH: Better error reporting for statements. v0.1.1 2018-05-22 19:05:40 -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
8164792927 Documentation fix. 2018-05-14 21:52:49 -05:00
3873b1c98a RELEASE: v0.1.0 release prep
- Documentation fixes for operator precendence changes.
- Mark this as a v0.1.0 change for with potential breaking api changes.
- Cleanup TODO documentation.
v0.1.0
2018-05-14 21:49:10 -05:00
05f6597f00 FEATURE: Proper precendence for math operators.
Using nested combinators for enforce parsing precedence.
2018-05-14 21:44:01 -05:00
00c1e1751a Formatting: cargo fmt. 2018-05-14 21:34:38 -05:00
f4b5cf1b0c Fix module references. 2018-04-28 11:06:53 -05:00
0d0f66f9c7 Add grouped expression support for binary operators. 2018-04-16 20:05:54 -05:00
4265b0177b split ast handling into a separate module directory. 2018-04-16 20:05:54 -05:00
65a3c48110 Update todos. 2018-03-29 09:55:45 -05:00
c60ac44a11 RELEASE Increment version to 0.0.4 2018-03-29 09:52:01 -05:00
37bb75b891 Add comparison operators. 2018-03-29 09:51:08 -05:00
f132449379 Minor documentation fixes. 2018-03-24 09:00:30 -05:00
01e7ee59b7 Unify Errors so better error messages can be had. 2018-03-23 18:34:26 -05:00
bfde2c5238 Add Boolean types. 2018-03-23 17:31:30 -05:00
eeac1ba599 Parsing the map operations. 2018-03-21 19:01:38 -05:00
51edc6d15c Retain the position of errors in the tokenization phase. 2018-03-21 19:00:07 -05:00
141385920a Update language spec with the NULL empty type. 2018-03-17 09:17:51 -05:00
a7b214a9af Improve type safety of write_list_flag function. 2018-03-17 09:15:13 -05:00
e6f2f12dc9 Update the minor version again. 2018-03-15 19:47:16 -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
41405b511b Add boolean operators to the wishlist. 2018-03-15 19:09:16 -05:00
0a8f3d703d More documentation cleanup and a reexport.
Grammar, spelling, and wording fixes. Also reexport the Val
type which is the intermediate type of a compiled config.
2018-03-12 21:34:40 -05:00
c6f41e53dd README and TODO fixes and expansion. 2018-03-12 21:16:06 -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
5a03cc33ef FEATURE: Allow Environment Variables to be referenced in the builder. 2018-03-12 19:21:47 -05:00
f2e7a8d7c9 Expand unit tests a little more 2018-03-11 15:11:27 -05:00
267b575e8b Make the out flag optional 2018-03-11 15:10:51 -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
f105d93c14 Add usage documentation to the readme. 2018-02-13 17:48:27 -06:00
50d31cb5ef Prep Cargo.toml for crate upload 2018-02-12 22:56:36 -06:00
587b92c059 Add a new option to the target flag help string. 2018-02-12 22:52:47 -06:00
839989c40f Fix a bug in the unit tests. 2018-02-12 22:48:59 -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
e3e8e68f19 Documentation formatting, grammar, and spelling. 2018-02-05 20:05:20 -06:00
a2f689ce0d Cleanup and formatting.
* Unused code warnings.
* Ran cargo fmt.
2018-02-05 19:43:04 -06:00
1e063fd129 Add escaping using a backslash for string tokens. 2018-02-05 19:38:54 -06:00
6b27ff1d25 Basic language reference in the ucglib docs. 2018-02-05 08:44:14 -06:00
a8a320fe91 Maintain tuple field order both while copying and not. 2018-02-05 08:43:10 -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