652 Commits

Author SHA1 Message Date
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
97c97ced55 Finish splitting the Tokenization and parsing stages.
* Added some helper matcher macros for tokens.
* Added some helper assertion macros for tests.
* Tokenization and Parsing are two separate stages.
2018-02-02 15:29:24 -06:00
b25e12608c FIX: Some unittests had incorrect assertions. 2017-12-24 15:37:56 -05:00
4d11d26e13 FIX: Couldn't parse list indexes in a selector. 2017-12-24 15:24:43 -05:00
336dd5e5ea FEATURE: Parsing of comments. 2017-12-24 15:24:06 -05:00
4c2528fe07 FEATURE: Allow expressions at the beginning of a Selector. 2017-12-21 19:44:55 -06:00
8489205d88 CLEANUP: extra entries in the Cargo.lock file and TODO.md 2017-12-09 10:30:41 -06:00
7a0a194fb9 Feature: Better error reporting.
* Common Error Type with line and column reporting.
* Removed some todos.
2017-12-09 10:02:45 -06:00
3acf8e4679 Readability: Breakup some functions.
Smaller functions make it easier to read the code.
2017-12-03 18:24:26 -06:00