aboutsummaryrefslogtreecommitdiffstats
path: root/askama_shared
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_shared
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_shared/Cargo.toml3
-rw-r--r--askama_shared/src/lib.rs1
-rw-r--r--askama_shared/src/parser.rs (renamed from askama_derive/src/parser.rs)6
3 files changed, 7 insertions, 3 deletions
diff --git a/askama_shared/Cargo.toml b/askama_shared/Cargo.toml
index aefe539..19d3274 100644
--- a/askama_shared/Cargo.toml
+++ b/askama_shared/Cargo.toml
@@ -18,6 +18,9 @@ yaml = ["serde", "serde_yaml"]
[dependencies]
askama_escape = { version = "0.3.0", path = "../askama_escape" }
humansize = { version = "1.1.0", optional = true }
+# 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"] }
num-traits = { version = "0.2.6", optional = true }
serde = { version = "1.0", optional = true, features = ["derive"] }
serde_derive = { version = "1.0", optional = true }
diff --git a/askama_shared/src/lib.rs b/askama_shared/src/lib.rs
index 8a64c22..b2f1271 100644
--- a/askama_shared/src/lib.rs
+++ b/askama_shared/src/lib.rs
@@ -16,6 +16,7 @@ mod error;
pub use crate::error::{Error, Result};
pub mod filters;
pub mod helpers;
+pub mod parser;
#[derive(Debug)]
pub struct Config<'a> {
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());