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
64e4fb6a28
Cleanup: Extraneous types, compact code, and fmt.
...
* Got rid of LocatedNode since it was the same thing as Positioned.
* Positioned has a constructor now.
* Cleaned up some unnecessary macros.
* Created some more macros to make code more compact.
* Ran cargo fmt
* Some fixes to the README.
2017-12-03 17:24:13 -06:00
091cde9ffb
Feature: add list concatenation.
2017-11-30 22:39:41 -06:00
fffdad589c
Refactor: Finish converting all the enum types to tuple around struct pattern.
2017-11-29 19:07:36 -06:00
2b01e8611b
Documentation: Update the README with new features.
2017-11-29 18:49:20 -06:00
389f395383
Cleanup: formatting and todos
...
cargo fmt
changed a fixme to a todo
2017-11-29 18:42:33 -06:00
594e14cd0f
Updated Exmple
2017-11-26 13:08:47 -06:00
1125784ec7
Updated TODO list
2017-11-26 13:06:45 -06:00
3108672bd2
List support for dotted selectors
2017-11-26 13:06:05 -06:00
15ef33095d
Add a TODO.md for planning purposes.
2017-11-26 12:24:05 -05:00
afdd2e5be8
List Parsing and evaluation support.
...
Also some formatting and todo cleanup.
2017-11-26 12:22:58 -05:00
fc757eee1f
Add doc task for this project.
2017-11-15 22:45:09 -06:00
2382cf9874
Wire up our converters for the Intermediate config data structures.
2017-11-15 22:44:34 -06:00
e975dea201
cleanup: fix some selector vs symbol parsing issues
...
Add test coverage of selector parsing.
2017-11-15 22:41:55 -06:00
3ab5d27fc7
Don't make backups when running cargo fmt.
...
We have version control...
2017-11-08 22:42:17 -06:00
8357cb0775
Add gitignore
2017-11-08 20:12:37 -06:00
45453e4544
Add a vscode task I commonly use
2017-11-08 20:11:53 -06:00