diff options
| author | 2023-10-10 15:10:12 +0200 | |
|---|---|---|
| committer | 2023-11-01 12:52:09 +0100 | |
| commit | babea28312387a22642cb974cc4b97e9fe7fed49 (patch) | |
| tree | 4e4a2b492574009d98f4d75b74d7e717efecef9a /askama_derive | |
| parent | 2a4d58cbb2033114890415c98a61e730185d1f83 (diff) | |
| download | askama-babea28312387a22642cb974cc4b97e9fe7fed49.tar.gz askama-babea28312387a22642cb974cc4b97e9fe7fed49.tar.bz2 askama-babea28312387a22642cb974cc4b97e9fe7fed49.zip  | |
Build Config from TemplateArgs
Diffstat (limited to 'askama_derive')
| -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();  | 
