mirror of
https://github.com/askama-rs/askama.git
synced 2025-10-02 15:25:19 +00:00
Reference askama and std from the global scope (fixes #17)
With this change, importing `std` and `askama` into modules where templates are defined is no longer necessary. `askama::Template` must still be imported in scopes where methods of the `Template` trait are called.
This commit is contained in:
parent
bedc16cbe3
commit
fe00fabd5c
@ -129,7 +129,7 @@ impl<'a> Generator<'a> {
|
|||||||
if name == "format" {
|
if name == "format" {
|
||||||
self.write("format!(");
|
self.write("format!(");
|
||||||
} else {
|
} else {
|
||||||
self.write(&format!("askama::filters::{}(&", name));
|
self.write(&format!("::askama::filters::{}(&", name));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i, arg) in args.iter().enumerate() {
|
for (i, arg) in args.iter().enumerate() {
|
||||||
@ -274,7 +274,7 @@ impl<'a> Generator<'a> {
|
|||||||
ws2: &WS) {
|
ws2: &WS) {
|
||||||
self.writeln("#[allow(unused_variables)]");
|
self.writeln("#[allow(unused_variables)]");
|
||||||
self.writeln(&format!(
|
self.writeln(&format!(
|
||||||
"fn render_block_{}_to(&self, writer: &mut std::fmt::Write) {{",
|
"fn render_block_{}_to(&self, writer: &mut ::std::fmt::Write) {{",
|
||||||
name));
|
name));
|
||||||
self.prepare_ws(ws1);
|
self.prepare_ws(ws1);
|
||||||
self.handle(nodes);
|
self.handle(nodes);
|
||||||
@ -351,7 +351,7 @@ impl<'a> Generator<'a> {
|
|||||||
let name = if let Some(suffix) = trait_suffix {
|
let name = if let Some(suffix) = trait_suffix {
|
||||||
format!("TraitFrom{}", suffix)
|
format!("TraitFrom{}", suffix)
|
||||||
} else {
|
} else {
|
||||||
"askama::Template".to_string()
|
"::askama::Template".to_string()
|
||||||
};
|
};
|
||||||
self.writeln(&format!("impl{} {} for {}{}{} {{",
|
self.writeln(&format!("impl{} {} for {}{}{} {{",
|
||||||
full_anno.as_str(), &name, ast.ident.as_ref(),
|
full_anno.as_str(), &name, ast.ident.as_ref(),
|
||||||
@ -360,7 +360,7 @@ impl<'a> Generator<'a> {
|
|||||||
|
|
||||||
fn impl_template(&mut self, ast: &syn::DeriveInput, nodes: &'a [Node]) {
|
fn impl_template(&mut self, ast: &syn::DeriveInput, nodes: &'a [Node]) {
|
||||||
self.write_header(ast, None);
|
self.write_header(ast, None);
|
||||||
self.writeln("fn render_to(&self, writer: &mut std::fmt::Write) {");
|
self.writeln("fn render_to(&self, writer: &mut ::std::fmt::Write) {");
|
||||||
self.handle(nodes);
|
self.handle(nodes);
|
||||||
self.flush_ws(&WS(false, false));
|
self.flush_ws(&WS(false, false));
|
||||||
self.writeln("}");
|
self.writeln("}");
|
||||||
@ -375,7 +375,7 @@ impl<'a> Generator<'a> {
|
|||||||
self.writeln("#[allow(unused_variables)]");
|
self.writeln("#[allow(unused_variables)]");
|
||||||
let trait_name = format!("TraitFrom{}", path_as_identifier(base));
|
let trait_name = format!("TraitFrom{}", path_as_identifier(base));
|
||||||
self.writeln(&format!(
|
self.writeln(&format!(
|
||||||
"fn render_trait_to(&self, timpl: &{}, writer: &mut std::fmt::Write) {{",
|
"fn render_trait_to(&self, timpl: &{}, writer: &mut ::std::fmt::Write) {{",
|
||||||
trait_name));
|
trait_name));
|
||||||
|
|
||||||
if let Some(nodes) = nodes {
|
if let Some(nodes) = nodes {
|
||||||
@ -392,7 +392,7 @@ impl<'a> Generator<'a> {
|
|||||||
|
|
||||||
fn impl_template_for_trait(&mut self, ast: &syn::DeriveInput, derived: bool) {
|
fn impl_template_for_trait(&mut self, ast: &syn::DeriveInput, derived: bool) {
|
||||||
self.write_header(ast, None);
|
self.write_header(ast, None);
|
||||||
self.writeln("fn render_to(&self, writer: &mut std::fmt::Write) {");
|
self.writeln("fn render_to(&self, writer: &mut ::std::fmt::Write) {");
|
||||||
if derived {
|
if derived {
|
||||||
self.writeln("self._parent.render_trait_to(self, writer);");
|
self.writeln("self._parent.render_trait_to(self, writer);");
|
||||||
} else {
|
} else {
|
||||||
@ -408,11 +408,11 @@ impl<'a> Generator<'a> {
|
|||||||
|
|
||||||
for bname in block_names {
|
for bname in block_names {
|
||||||
self.writeln(&format!(
|
self.writeln(&format!(
|
||||||
"fn render_block_{}_to(&self, writer: &mut std::fmt::Write);",
|
"fn render_block_{}_to(&self, writer: &mut ::std::fmt::Write);",
|
||||||
bname));
|
bname));
|
||||||
}
|
}
|
||||||
self.writeln(&format!(
|
self.writeln(&format!(
|
||||||
"fn render_trait_to(&self, timpl: &{}, writer: &mut std::fmt::Write);",
|
"fn render_trait_to(&self, timpl: &{}, writer: &mut ::std::fmt::Write);",
|
||||||
trait_name));
|
trait_name));
|
||||||
|
|
||||||
self.writeln("}");
|
self.writeln("}");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user