mirror of
https://github.com/zaphar/ucg.git
synced 2025-07-22 18:19:54 -04:00
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.
This commit is contained in:
parent
c6f41e53dd
commit
0a8f3d703d
14
TODO.md
14
TODO.md
@ -1,5 +1,12 @@
|
||||
# Major Planned Features
|
||||
|
||||
## List processing
|
||||
|
||||
* Map over lists
|
||||
* Filtering lists
|
||||
* Flags could automatically expand a list of values into a list of flags.
|
||||
* Joining a lists elements. (i.e. folds)
|
||||
|
||||
## Query Language (Experimental)
|
||||
|
||||
You should be able to ask the compiler to tell you any value or set of values in the
|
||||
@ -8,7 +15,9 @@ compiled configuration.
|
||||
## Translation Language (Experimental)
|
||||
|
||||
For some configuration file formats we need a way to specify a particular
|
||||
organiztion for a given configuration structure. Some options here could be
|
||||
organiztion for a given configuration structure (i.e. xml attribute or tag?).
|
||||
|
||||
Some options here could be:
|
||||
|
||||
* Simple data export (json)
|
||||
* A Functional Transform similar to xslt or css transforms.
|
||||
@ -17,6 +26,7 @@ organiztion for a given configuration structure. Some options here could be
|
||||
|
||||
# Minor Fixes and Polish
|
||||
|
||||
* Allow trailing commas
|
||||
* Better error messages.
|
||||
* Allow trailing commas.
|
||||
* Flags should allow different seperators for prefixed flags.
|
||||
* YAML export
|
17
src/lib.rs
17
src/lib.rs
@ -59,13 +59,13 @@
|
||||
//!
|
||||
//! ucg has a relatively simple syntax with 3 primitive types, Int, Float, and String.
|
||||
//!
|
||||
//! * Int is any integer number.
|
||||
//! * An Int is any integer number.
|
||||
//!
|
||||
//! ```ucg
|
||||
//! 1; // a single Integer
|
||||
//! ```
|
||||
//!
|
||||
//! * Float is any number with a decimal point.
|
||||
//! * A Float is any number with a decimal point.
|
||||
//!
|
||||
//! ```ucg
|
||||
//! 1.0; // A typical float.
|
||||
@ -73,7 +73,7 @@
|
||||
//! .1 // the leading 0 is also optional.
|
||||
//! ```
|
||||
//!
|
||||
//! * String is any quoted text. backslashes within a string escape the next preceding
|
||||
//! * A String is any quoted text. Backslashes within a string escape the next preceding
|
||||
//! character.
|
||||
//!
|
||||
//! ``` ucg
|
||||
@ -85,7 +85,7 @@
|
||||
//!
|
||||
//! ucg has two complex data types, Lists and Tuples.
|
||||
//!
|
||||
//! * Lists start are surrounded with square brackets `[ ]` and have comma separated elements.
|
||||
//! * Lists are surrounded with square brackets `[ ]` and have comma separated elements.
|
||||
//!
|
||||
//! ```ucg
|
||||
//! [1, 2, 3]; // A simple list of numbers.
|
||||
@ -139,7 +139,9 @@
|
||||
//! mytuple.field2.0; // descend into a deeply nested tuple and array.
|
||||
//! ```
|
||||
//!
|
||||
//! The env variable is a reserved variable that always contains a tuple with the any environment variables.
|
||||
//! The `env` variable is a reserved variable that always contains a tuple with any environment
|
||||
//! variables in it.
|
||||
//!
|
||||
//! Attempting to reference an enviroment variable that does not exist is a compile error.
|
||||
//!
|
||||
//! #### Binary operators
|
||||
@ -223,9 +225,9 @@
|
||||
//! connstr = "couchdb://@:@" % (arg1, arg2),
|
||||
//! }
|
||||
//!
|
||||
//! let my dbconf = myfunc("couchdb.example.org", "9090");
|
||||
//! let my_dbconf = myfunc("couchdb.example.org", "9090");
|
||||
//!
|
||||
//! let my dbhost = dbconf.host;
|
||||
//! let my_dbhost = dbconf.host;
|
||||
//! ```
|
||||
//!
|
||||
//! macros always resolve to a tuple. If you want to get a single value out you can use selector syntax to retrieve it.
|
||||
@ -292,3 +294,4 @@ pub use ast::Statement;
|
||||
|
||||
pub use parse::parse;
|
||||
pub use build::Builder;
|
||||
pub use build::Val;
|
||||
|
Loading…
x
Reference in New Issue
Block a user