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
b8c7d660e5
No more Optional Position information.
2017-11-08 20:06:38 -06:00
0be96dc851
cargo fmt
2017-11-08 18:55:10 -06:00
4f3cc3dbf6
Thread position information through to more places.
2017-11-08 18:44:56 -06:00
1e3d19755c
Add location information for all tokens.
...
Also add optional position information for some of the AST elements.
2017-11-05 15:26:52 -06:00
45d0fb6e59
Add tokenizer mode that uses nom to parse the individual tokens.
...
This allows us to start to break down the problem into tokens and their
position in the parsed syntax.
2017-10-02 21:32:06 -05:00