diff options
author | Dirkjan Ochtman <dirkjan@ochtman.nl> | 2020-01-29 21:49:42 +0100 |
---|---|---|
committer | Dirkjan Ochtman <dirkjan@ochtman.nl> | 2020-01-29 21:49:44 +0100 |
commit | cb660c7b8d398800d91d7c4c6c3276959fd14e71 (patch) | |
tree | 40f1dfad0cefe21dbcbf7ac1dd2707f7ed8df428 /askama_derive | |
parent | 91c2bbf80468c12d0663330cff185f1d7680c91e (diff) | |
download | askama-cb660c7b8d398800d91d7c4c6c3276959fd14e71.tar.gz askama-cb660c7b8d398800d91d7c4c6c3276959fd14e71.tar.bz2 askama-cb660c7b8d398800d91d7c4c6c3276959fd14e71.zip |
Move parser into askama_shared
Diffstat (limited to '')
-rw-r--r-- | askama_derive/Cargo.toml | 3 | ||||
-rw-r--r-- | askama_derive/src/generator.rs | 8 | ||||
-rw-r--r-- | askama_derive/src/lib.rs | 6 | ||||
-rw-r--r-- | askama_shared/src/parser.rs (renamed from askama_derive/src/parser.rs) | 6 |
4 files changed, 7 insertions, 16 deletions
diff --git a/askama_derive/Cargo.toml b/askama_derive/Cargo.toml index 799f989..8b77d12 100644 --- a/askama_derive/Cargo.toml +++ b/askama_derive/Cargo.toml @@ -21,9 +21,6 @@ warp = [] [dependencies] askama_shared = { version = "0.9", path = "../askama_shared" } -# default for features for nom don't work result in linker errors: -# https://github.com/rust-lang/rust/issues/62146 -nom = { version = "5", default-features = false, features = ["std"] } proc-macro2 = "1" quote = "1" syn = "1" 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()); |