seam

Symbolic-Expressions As Markup.
git clone git://git.knutsen.co/seam
Log | Files | Refs | README | LICENSE

commit b502afe1aa85eebb42acb4421de95c1713ab5e19
parent 6af58d4965ddd73b9cb4ceb9f459236a8b2d68fc
Author: Demonstrandum <moi@knutsen.co>
Date:   Sun,  5 Jul 2020 16:16:27 +0100

Update TODO list.

Diffstat:
MCargo.toml | 2+-
MREADME.md | 12++++++++----
Msrc/assemble/xml.rs | 2+-
Msrc/lib.rs | 2+-
Msrc/parse/lexer.rs | 3++-
5 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml @@ -2,7 +2,7 @@ name = "seam" description = "Symbolic Expressions As Markup." keywords = ["markup", "lisp", "macro", "symbolic-expression", "sexp"] -version = "0.1.0" +version = "0.1.1" authors = ["Demonstrandum <moi@knutsen.co>"] edition = "2018" diff --git a/README.md b/README.md @@ -22,11 +22,15 @@ client. - CSS ## TODO - - More supported formats (`JSON`, `JS`, `TOML`, &c.). - - Add more helpful macros. - - Add user defined macros. + - HTML object `style="..."` object should handle s-expressions well, (e.g. `(p :style (:color red :border none) Hello World)`) + - HTML `<style>` tag should allow for *normal* CSS syntax if just given a string. + - Allow for, and handle special `@` syntax in CSS, such as `@import` and `@media`. + - Add more supported formats (`JSON`, `JS`, `TOML`, &c.). + - Add more helpful/generic macros (e.g. `(%include ...)`, which already exists). + - Add user defined macros system (e.g. `(%define (red-para txt) (p :style "color: red" %txt))`) + - Then add variadic macros. - Allow for arbitrary embedding of code, that can be run by - a LISP interpreter, for example. (e.g. `(%chez (+ 1 2))` executes + a LISP interpreter (or any other langauge), for example. (e.g. `(%chez (+ 1 2))` executes `(+ 1 2)` with Chez-Scheme LISP, and places the result in the source (i.e. `3`). diff --git a/src/assemble/xml.rs b/src/assemble/xml.rs @@ -137,7 +137,7 @@ impl MarkupDisplay for XMLFormatter { } -// TODO: Convert special characters to HTML compatible ones. +// TODO: Convert special characters to XML compatible ones. // e.g. // < => &lt; // > => &gt; diff --git a/src/lib.rs b/src/lib.rs @@ -6,7 +6,7 @@ use parse::{expander, parser, lexer}; use std::error::Error; use std::{fs, path::Path}; -pub const VERSION : (u8, u8, u8) = (0, 1, 0); +pub const VERSION : (u8, u8, u8) = (0, 1, 1); pub fn parse<P: AsRef<Path>>(string : String, source : Option<P>) -> Result<parser::ParseTree, Box<dyn Error>> { diff --git a/src/parse/lexer.rs b/src/parse/lexer.rs @@ -130,9 +130,10 @@ pub fn lex<P: AsRef<Path>>(string : String, source : Option<P>) if character == '\\' { // Escapes if current_kind == Some(tokens::Kind::String) { - // How escapes work in strings: + // How escapes work in strings (TODO) } else { // How they work outside strings: + // TODO: add more escapes. if bytes + 1 == eof { continue; }