aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive/src
diff options
context:
space:
mode:
authorLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2020-01-29 21:49:42 +0100
committerLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2020-01-29 21:49:44 +0100
commitcb660c7b8d398800d91d7c4c6c3276959fd14e71 (patch)
tree40f1dfad0cefe21dbcbf7ac1dd2707f7ed8df428 /askama_derive/src
parent91c2bbf80468c12d0663330cff185f1d7680c91e (diff)
downloadaskama-cb660c7b8d398800d91d7c4c6c3276959fd14e71.tar.gz
askama-cb660c7b8d398800d91d7c4c6c3276959fd14e71.tar.bz2
askama-cb660c7b8d398800d91d7c4c6c3276959fd14e71.zip
Move parser into askama_shared
Diffstat (limited to '')
-rw-r--r--askama_derive/src/generator.rs8
-rw-r--r--askama_derive/src/lib.rs6
-rw-r--r--askama_shared/src/parser.rs (renamed from askama_derive/src/parser.rs)6
3 files changed, 7 insertions, 13 deletions
diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs
index ab1a012..4f5b495 100644
--- a/askama_derive/src/generator.rs
+++ b/askama_derive/src/generator.rs
@@ -1,9 +1,9 @@
use super::{get_template_source, Context, Heritage};
use crate::input::{Source, TemplateInput};
-use crate::parser::{
- Cond, Expr, MatchParameter, MatchParameters, MatchVariant, Node, Target, When, WS,
-};
use askama_shared::filters;
+use askama_shared::parser::{
+ parse, Cond, Expr, MatchParameter, MatchParameters, MatchVariant, Node, Target, When, WS,
+};
use proc_macro2::Span;
@@ -15,8 +15,6 @@ use std::{cmp, hash, mem, str};
use syn;
-use crate::parser::parse;
-
pub(crate) fn generate(
input: &TemplateInput,
contexts: &HashMap<&PathBuf, Context>,
diff --git a/askama_derive/src/lib.rs b/askama_derive/src/lib.rs
index 97228fd..2189458 100644
--- a/askama_derive/src/lib.rs
+++ b/askama_derive/src/lib.rs
@@ -1,19 +1,15 @@
extern crate proc_macro;
#[macro_use]
-extern crate nom;
-#[macro_use]
extern crate quote;
mod generator;
mod input;
-mod parser;
use crate::input::{Print, Source, TemplateInput};
-use crate::parser::{Expr, Macro, Node};
+use askama_shared::parser::{parse, Expr, Macro, Node};
use askama_shared::{read_config_file, Config};
use proc_macro::TokenStream;
-use crate::parser::parse;
use std::collections::HashMap;
use std::fs;
use std::path::{Path, PathBuf};
diff --git a/askama_derive/src/parser.rs b/askama_shared/src/parser.rs
index 910815a..9c3358e 100644
--- a/askama_derive/src/parser.rs
+++ b/askama_shared/src/parser.rs
@@ -5,10 +5,10 @@ use nom::combinator::{complete, map, opt};
use nom::error::ParseError;
use nom::multi::{many0, many1, separated_list, separated_nonempty_list};
use nom::sequence::{delimited, pair, tuple};
-use nom::{self, Compare, IResult, InputTake};
+use nom::{self, error_position, Compare, IResult, InputTake};
use std::str;
-use askama_shared::Syntax;
+use crate::Syntax;
#[derive(Debug)]
pub enum Expr<'a> {
@@ -1042,7 +1042,7 @@ pub fn parse<'a>(src: &'a str, syntax: &'a Syntax<'a>) -> Vec<Node<'a>> {
#[cfg(test)]
mod tests {
- use askama_shared::Syntax;
+ use crate::Syntax;
fn check_ws_split(s: &str, res: &(&str, &str, &str)) {
let node = super::split_ws_parts(s.as_bytes());