File tree Expand file tree Collapse file tree 2 files changed +20
-0
lines changed
Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -8,6 +8,8 @@ repository = "https://github.com/antoyo/relm"
88version = " 0.9.0"
99
1010[dependencies ]
11+ env_logger = " ^0.4.2"
12+ log = " ^0.3.7"
1113quote = " ^0.3.15"
1214syn = " ^0.11.9"
1315
Original file line number Diff line number Diff line change 2121
2222#![ feature( proc_macro) ]
2323
24+ extern crate env_logger;
25+ #[ macro_use]
26+ extern crate log;
2427extern crate proc_macro;
2528#[ macro_use]
2629extern crate quote;
2730extern crate relm_gen_widget;
2831extern crate syn;
2932
33+ use std:: env;
34+
35+ use env_logger:: LogBuilder ;
36+ use log:: LogRecord ;
3037use proc_macro:: TokenStream ;
3138use relm_gen_widget:: gen_widget;
3239use syn:: parse_item;
3340
3441#[ proc_macro_attribute]
3542pub fn widget ( _attributes : TokenStream , input : TokenStream ) -> TokenStream {
43+ let format = |record : & LogRecord | {
44+ record. args ( ) . to_string ( )
45+ } ;
46+ let mut builder = LogBuilder :: new ( ) ;
47+ builder. format ( format) ;
48+ if let Ok ( rust_log) = env:: var ( "RUST_LOG" ) {
49+ builder. parse ( & rust_log) ;
50+ }
51+ builder. init ( ) . ok ( ) ;
52+
3653 let source = input. to_string ( ) ;
3754 let ast = parse_item ( & source) . unwrap ( ) ;
3855 let tokens = quote ! {
3956 #ast
4057 } ;
4158 let expanded = gen_widget ( tokens) ;
59+ error ! ( "{}" , expanded. parse:: <String >( ) . unwrap( ) ) ;
4260 expanded. parse ( ) . unwrap ( )
4361}
You can’t perform that action at this time.
0 commit comments