@@ -8,34 +8,33 @@ use crate::syn_ext::syn_to_diag;
8
8
use crate :: proc_macro2:: TokenStream as TokenStream2 ;
9
9
10
10
pub fn _macro ( input : TokenStream ) -> Result < TokenStream > {
11
- let root = syn:: parse :: < LitStr > ( input. into ( ) ) . map_err ( syn_to_diag) ?;
12
- let modules = entry_to_modules ( & root )
13
- . map_err ( |e| root . span ( ) . unstable ( ) . error ( format ! ( "failed to read: {}" , e) ) ) ?;
11
+ let root_glob = syn:: parse :: < LitStr > ( input. into ( ) ) . map_err ( syn_to_diag) ?;
12
+ let modules = entry_to_modules ( & root_glob )
13
+ . map_err ( |e| root_glob . span ( ) . unstable ( ) . error ( format ! ( "failed to read: {}" , e) ) ) ?;
14
14
15
- Ok ( quote_spanned ! ( root . span( ) =>
15
+ Ok ( quote_spanned ! ( root_glob . span( ) =>
16
16
#[ allow( dead_code) ]
17
17
#[ allow( non_camel_case_types) ]
18
18
mod test_site_guide { #( #modules) * }
19
19
) . into ( ) )
20
20
}
21
21
22
- fn entry_to_modules ( pat : & LitStr ) -> std:: result:: Result < Vec < TokenStream2 > , Box < dyn Error > > {
22
+ fn entry_to_modules ( root_glob : & LitStr ) -> std:: result:: Result < Vec < TokenStream2 > , Box < dyn Error > > {
23
23
let manifest_dir = std:: env:: var ( "CARGO_MANIFEST_DIR" ) . expect ( "MANIFEST_DIR" ) ;
24
- let full_pat = Path :: new ( & manifest_dir) . join ( & pat . value ( ) ) . display ( ) . to_string ( ) ;
24
+ let full_glob = Path :: new ( & manifest_dir) . join ( & root_glob . value ( ) ) . display ( ) . to_string ( ) ;
25
25
26
26
let mut modules = vec ! [ ] ;
27
- for path in glob:: glob ( & full_pat ) . map_err ( |e| Box :: new ( e ) ) ? {
28
- let path = path. map_err ( |e| Box :: new ( e ) ) ?;
27
+ for path in glob:: glob ( & full_glob ) . map_err ( Box :: new) ? {
28
+ let path = path. map_err ( Box :: new) ?;
29
29
let name = path. file_name ( )
30
30
. and_then ( |f| f. to_str ( ) )
31
31
. map ( |name| name. trim_matches ( |c| char:: is_numeric ( c) || c == '-' )
32
- . replace ( '-' , "_" )
33
- . replace ( '.' , "_" ) )
34
- . ok_or_else ( || "invalid file name" . to_string ( ) ) ?;
32
+ . replace ( |c| c == '-' || c == '.' , "_" ) )
33
+ . ok_or_else ( || "invalid file name" ) ?;
35
34
36
- let ident = Ident :: new ( & name, pat . span ( ) ) ;
35
+ let ident = Ident :: new ( & name, root_glob . span ( ) ) ;
37
36
let full_path = Path :: new ( & manifest_dir) . join ( & path) . display ( ) . to_string ( ) ;
38
- modules. push ( quote_spanned ! ( pat . span( ) =>
37
+ modules. push ( quote_spanned ! ( root_glob . span( ) =>
39
38
#[ doc( include = #full_path) ]
40
39
struct #ident;
41
40
) )
0 commit comments