diff options
Diffstat (limited to 'askama_derive/src')
-rw-r--r-- | askama_derive/src/input.rs | 18 | ||||
-rw-r--r-- | askama_derive/src/lib.rs | 3 |
2 files changed, 12 insertions, 9 deletions
diff --git a/askama_derive/src/input.rs b/askama_derive/src/input.rs index 45da7f0..ee9b942 100644 --- a/askama_derive/src/input.rs +++ b/askama_derive/src/input.rs @@ -153,13 +153,13 @@ impl TemplateInput<'_> { #[derive(Debug, Default)] pub(crate) struct TemplateArgs { - pub(crate) source: Option<Source>, - pub(crate) print: Print, - pub(crate) escaping: Option<String>, - pub(crate) ext: Option<String>, - pub(crate) syntax: Option<String>, - pub(crate) config: String, - pub(crate) whitespace: Option<String>, + source: Option<Source>, + print: Print, + escaping: Option<String>, + ext: Option<String>, + syntax: Option<String>, + config: String, + whitespace: Option<String>, } impl TemplateArgs { @@ -275,6 +275,10 @@ impl TemplateArgs { Ok(args) } + + pub(crate) fn config(&self) -> Result<Config<'_>, CompileError> { + Config::new(&self.config, self.whitespace.as_ref()) + } } #[inline] diff --git a/askama_derive/src/lib.rs b/askama_derive/src/lib.rs index a133813..a5eb67a 100644 --- a/askama_derive/src/lib.rs +++ b/askama_derive/src/lib.rs @@ -10,7 +10,6 @@ use proc_macro2::Span; use parser::ParseError; mod config; -use config::Config; mod generator; use generator::{Generator, MapChain}; mod heritage; @@ -36,7 +35,7 @@ pub fn derive_template(input: TokenStream) -> TokenStream { /// value as passed to the `template()` attribute. pub(crate) fn build_template(ast: &syn::DeriveInput) -> Result<String, CompileError> { let template_args = TemplateArgs::new(ast)?; - let config = Config::new(&template_args.config, template_args.whitespace.as_ref())?; + let config = template_args.config()?; let input = TemplateInput::new(ast, &config, &template_args)?; let mut templates = HashMap::new(); |