Chris Wong
9fa87721e6
Rewrite Render and RenderOnce traits
...
... to make them more user-friendly.
Closes #48
2016-10-08 21:50:59 +13:00
Chris Wong
ba2233f783
Don't put let _ =
in front of every statement
...
This was useful when the `Render*` traits returned `std::fmt::Result`,
but now they're just cruft.
2016-10-06 12:29:07 +13:00
Chris Wong
4284875869
Change escaper to use bytes instead of chars
...
This removes the overhead from UTF-8 encoding, and makes us faster than
Horrorshow again :)
2016-10-05 20:43:24 +13:00
Chris Wong
e98d340825
Pre-allocate a buffer of (roughly) the right size
...
Closes #46
2016-10-02 17:48:01 +13:00
Chris Wong
c05bb02d97
Remove call expressions
2016-09-23 19:36:42 +12:00
Chris Wong
f12efe4299
Rewrite everything to use Strings instead of writers
...
After fiddling around with zero-allocation solutions, I concluded that
all non-allocating approaches are too annoying to work with in realistic
code. Using closures leads to yak-shaving with lifetimes; and because
Iron needs to take ownership of the response body we often end up
cloning the input data anyway.
Removing this constraint has let me simplify the entire system, removing
a net 300 lines from the library. The `html!` macro no longer takes a
writer, and instead returns a `PreEscaped<String>`. This means that the
result of an `html!` can be spliced directly into another `html!`,
removing the need for the `impl Template` rigmarole.
To rub it in, benchmarks show the new code is in fact *faster* than it
was before. How lovely.
2016-09-23 19:22:22 +12:00
Chris Wong
9c35cc557e
Update Rust
2016-09-18 12:22:02 +12:00
Chris Wong
7045191c19
Add the "call" keyword back in
...
This change should make the syntax look a bit less mysterious
2016-09-02 23:23:39 +12:00
Chris Wong
58650b0dd0
Remove dead code
2016-09-01 17:52:51 +12:00
Chris Wong
ed9228fa93
Require parentheses around calls
...
This simplifies the parser quite a bit
2016-08-22 21:53:23 +12:00
Chris Wong
97a71d7bc3
Require that all literal strings are quoted
...
Unquoted literals are confusing, annoying to implement, and rarely used.
We're better off without them.
2016-08-18 22:31:12 +12:00
Chris Wong
6a6b23d8ae
Switch to new splice syntax using parentheses
...
Closes #41
2016-08-18 22:12:14 +12:00
Chris Wong
61791a6aef
@call yay
-> @yay
2016-08-15 20:46:04 +12:00
Chris Wong
aded75f01f
Add some juicy impl Trait
niceness
2016-08-15 20:32:39 +12:00
Chris Wong
d2bf70da9a
Allow names with multiple hyphens in a row
...
Fixes #40
2016-08-07 20:39:31 +12:00
Chris Wong
4d66646ece
Don't allow namespaces in class and ID names
2016-07-21 21:19:38 +12:00
msifeed
36a88bd74f
Move ident parsing to separate method
2016-07-19 14:57:05 +03:00
msifeed
e222f5385d
Fixed minuses in namespaces
2016-07-18 14:40:45 +03:00
msifeed
bad49d49c0
Add namespace support for element and attribute names
2016-07-18 13:07:58 +03:00
Chris Wong
3fab6b4637
Update Rust
2016-07-10 20:02:03 +12:00
Chris Wong
166296db30
Update Rust
2016-07-03 16:55:45 +12:00
Chris Wong
f1c4e09ac3
Silence "duplicate loop labels" warnings
...
Closes #36
2016-06-12 15:39:12 +12:00
Chris Wong
ca74f0eda0
Update Rust
2016-06-12 15:05:49 +12:00
Chris Wong
92ba854773
Implement ID shorthand
...
Closes #35
2016-06-03 23:06:39 +12:00
Circle CI
8f58fe441e
Remove another unused import
2016-05-18 19:44:13 +12:00
Chris Wong
00ec443326
Update Rust
...
rust-lang/rust#33041
2016-04-27 12:10:37 +12:00
Chris Wong
8492259638
Use the new ?
syntax (so purty)
2016-03-22 23:31:23 +13:00
Chris Wong
ab0ef991b9
Minor refactoring (thanks Clippy)
2016-03-06 18:25:21 +13:00
Chris Wong
1a9080815c
Update Rust
...
See rust-lang/rust#31583
2016-02-14 20:12:04 +11:00
Chris Wong
4e7bd32c12
Update Rust
...
See rust-lang/rust#31487
2016-02-13 13:51:20 +11:00
Wim Looman
1d23d5f4c1
#match -> @match for errors
2016-02-10 11:47:22 +01:00
Wim Looman
b254d7fbc4
Add support for a match keyword
2016-02-09 19:44:54 +01:00
Chris Wong
f113623657
Merge pull request #31 from Nemo157/change-symbology
...
Change symbology
2016-02-08 23:38:23 +11:00
Wim Looman
1b307449f3
Add @ prefix on else
back in
2016-02-07 11:02:33 +01:00
Wim Looman
da86d54b05
Remove div shorthand
2016-02-07 10:59:20 +01:00
Wim Looman
393873904e
Fix up comments and error messages
2016-02-03 12:01:32 +01:00
Wim Looman
bd0b135a0d
Replace # -> @ and remove from else
2016-02-03 12:01:31 +01:00
Wim Looman
359079ca6c
Use join
2016-02-02 16:20:11 +01:00
Wim Looman
b1680636cf
Add a shorthand syntax to define element classes
2016-02-02 16:20:11 +01:00
Wim Looman
6c8fbb5bad
Change splice operator and add in render by-move
2016-02-02 15:56:59 +01:00
Chris Wong
0440f5c74f
Merge pull request #27 from Nemo157/path-in-splice
...
Allow path lookups in un-delimited splices
2016-02-02 21:30:48 +11:00
Wim Looman
6b0b7a00d7
Allow path lookups in un-delimited splices
2016-02-01 18:18:10 +01:00
Wim Looman
6858108f9c
Allow tuple attribute lookups
2016-02-01 18:03:50 +01:00
Chris Wong
8d0ad20f74
Update Rust
2016-01-01 11:43:59 +13:00
Chris Wong
3791f801c9
Update Rust
2015-12-20 22:18:44 +11:00
Chris Wong
7cb4d61d5b
Update Rust
2015-11-28 21:15:13 +11:00
Chris Wong
54889b2004
Update Rust
2015-11-20 10:56:29 +13:00
Chris Wong
05b5d099fb
Update Rust
2015-11-08 18:59:11 +13:00
Chris Wong
34f14dd41d
Don't choke on SubstNt tokens
...
Closes #23
2015-11-05 21:46:43 +13:00
Chris Wong
2e0aa3e433
Replace $$
syntax with a general trait thing
2015-10-06 19:25:29 +13:00