Commit graph

293 commits

Author SHA1 Message Date
Chris Wong
39f543c819 Rust 2018 2019-03-16 20:18:58 +13:00
Chris Wong
65874efb98 Remove redundant closures 2019-02-21 21:22:22 +13:00
Chris Wong
6de2cf1998 Release 0.20.0 2019-01-17 16:01:55 +13:00
Chris Wong
0ccb2829c9 Release 0.19.0 2018-10-20 17:15:57 +13:00
Chris Wong
61e5f9d954
Merge pull request from ivanbakel/warn_on_keyword_names
Added warning when elements have keyword names
2018-10-20 16:49:01 +13:00
Isaac van Bakel
485ee13afb Corrected formatting on keyword element warning
The formatting argument is now only passed once.
2018-10-14 12:10:24 +01:00
Chris Wong
365d0ab956 Update to rustc 1.31.0-nightly (77af31408 2018-10-11) 2018-10-12 19:26:16 +13:00
Isaac van Bakel
5a74dd0232 Added warning when elements have keyword names
Fixes .
To avoid erroneously preventing elements which are actually meant to be
called `if` from being used, this is only a warning, with a suggestion
of the template syntax.
2018-10-11 22:05:47 +01:00
Chris Wong
6aee65a6f1 Update to rustc 1.31.0-nightly (fddcd316a 2018-10-05) 2018-10-06 18:03:15 +13:00
Chris Wong
35d5204cab Update to rustc 1.30.0-nightly (9395f0af7 2018-09-02) 2018-09-03 20:01:39 +12:00
Chris Wong
f17e21423e Remove #![feature(use_extern_macros)] 2018-08-18 16:25:15 -07:00
Chris Wong
e273d897cf Parse arbitrary expressions in classes and IDs
Closes 
2018-08-13 16:15:58 -07:00
Chris Wong
8d8d5960a5 Extend AST to allow arbitrary exprs in classes and IDs 2018-08-13 15:44:04 -07:00
Chris Wong
d8d5af97f8 Span the whole class or ID in duplicate attribute errors 2018-08-12 14:12:59 +12:00
Chris Wong
3847880404 Span the whole attribute in duplicate attribute errors 2018-08-12 14:12:52 +12:00
Chris Wong
5aa0f85ec1 Show errors for a duplicate attribute in source order
* Also disallow multiple IDs
2018-08-12 14:07:31 +12:00
Chris Wong
ff5c0e769f Tweak duplicate attribute diagnostic () 2018-07-29 21:44:50 +12:00
Tom Pridham
8aa7810dfc Disallow dupe attrs () 2018-07-29 21:21:57 +12:00
Chris Wong
de6f654614 Release 0.18.1 2018-07-18 20:03:44 +12:00
Chris Wong
8dbcdab2bf Update to rustc 1.29.0-nightly (1ecf6929d 2018-07-16)
Closes 
2018-07-18 19:41:47 +12:00
Chris Wong
aadc749715 Release 0.18.0 2018-07-15 21:46:16 +12:00
Chris Wong
392279e97c Fix Clippy warning 2018-06-26 19:49:28 +12:00
Chris Wong
a1a0aa0200 Allow omitting the comma on the last match arm 2018-06-22 21:31:08 +12:00
Chris Wong
12282093eb Use diagnostic API everywhere 2018-06-22 21:28:35 +12:00
Chris Wong
41aea5f92c Require braces around element bodies 2018-06-16 21:46:28 +12:00
Chris Wong
b9279f7f3f Add .span() method to derive the span of an AST node 2018-06-16 21:27:57 +12:00
Chris Wong
4b25728efe Add at_span to Let 2018-06-16 20:59:41 +12:00
Chris Wong
0ceb271a50 Add outer_span property to Splice 2018-06-16 20:55:42 +12:00
Chris Wong
bfa15a0081 Rename Block.span to Block.outer_span 2018-06-16 20:49:46 +12:00
Chris Wong
9d56ba0bcb Keep spans for semicolons; change element body to a block 2018-06-09 20:51:34 +12:00
Chris Wong
9763541ca7 Keep the span of the leading @ symbol 2018-06-09 17:59:24 +12:00
Chris Wong
254ac54103 Merge If and Special variants 2018-05-29 19:18:30 +12:00
Chris Wong
67b6fb05e9 Release 0.17.5 2018-05-26 11:57:51 +12:00
Chris Wong
2455de589c Update to rustc 1.27.0-nightly (2f2a11dfc 2018-05-16) 2018-05-17 20:55:29 +12:00
Chris Wong
9d90e94c87
Change macro internals to use an explicit AST () 2018-05-17 20:38:44 +12:00
Chris Wong
7c63fc138a Release 0.17.4 2018-05-02 20:49:17 +12:00
Chris Stadler
e606e64ef2 Enable proc_macro_non_items feature flag 2018-04-28 12:59:24 +12:00
Chris Wong
41f7744fe1 Release 0.17.3 2018-04-21 17:20:42 +12:00
Chris Wong
dd9d892b8d Fix up some minor issues 2018-04-16 20:29:32 +12:00
Coleman McFarland
f75da83a60 Pre-allocate sufficient size for our output String 2018-04-16 01:06:19 -07:00
Coleman McFarland
2d6558c769 Use FromIterator<_> for TokenStream
Also remove conservative_impl_trait feature flag, as this is now a
stable feature.

Refs 
2018-04-16 00:54:32 -07:00
Coleman McFarland
0f453a5568 Refactor to keep up with changes to proc_macro
Instead of a `kind` field containting a `TokenNode` variant, a
TokenTree is now an enum with variants of different types (Literal, Op,
Term, etc). Note that a TokenTree could be a sequence of TokenTrees if it is a
Group variant.

Other notes:

I'm unsure about the set_span call in Builder::emit_if, but I did not want to
throw away the passed in Span.

Parsing relies on destructuring references to the values associated with
TokenTree enum variants

It doesn't seem as easy to compose/chain TokenStreams as it is to
collect a Vec<TokenTree> into a TokenStream. There is probably some
iterator API I could use instead. See `match_arms` and build.rs

Refs 
2018-04-12 14:19:26 -07:00
Chris Wong
62298aec55 Release 0.17.2 2017-11-19 20:12:38 +13:00
Chris Wong
cc833dd624 Update to rustc 1.23.0-nightly (6160040d8 2017-11-18) 2017-11-19 19:55:11 +13:00
Chris Wong
9674865846 Combine .push_str() calls across blocks
This also disallows `@let` in non-block contexts, e.g.

    img src=@let foo = bar; ;

This yields a 20 - 50 ns speedup in benchmarks, as well as reducing code
size by a slight amount.
2017-10-07 14:17:38 +13:00
Chris Wong
594af15242 Remove unnecessary extern crate 2017-08-12 19:44:43 +12:00
Chris Wong
5cd51481c9 Rename Renderer to Builder 2017-08-12 17:41:54 +12:00
Chris Wong
a902c97091 Allow braces in toggled classes 2017-08-12 16:50:54 +12:00
Chris Wong
9487dbc3a7 Move some code around 2017-08-12 16:21:13 +12:00
Chris Wong
080b461f1b Release 0.17.1 2017-08-11 21:15:20 +12:00