From e302ba57e0aa21308f7ad078e1fa2982338ed6c3 Mon Sep 17 00:00:00 2001
From: Malthe Borch <mborch@gmail.com>
Date: Sat, 18 May 2019 03:44:43 +0000
Subject: [PATCH] Use syn instead of literalext (#174)

---
 maud_macros/Cargo.toml   |  2 +-
 maud_macros/src/parse.rs | 12 +++++++-----
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/maud_macros/Cargo.toml b/maud_macros/Cargo.toml
index 9ecaeb4..9aacb5a 100644
--- a/maud_macros/Cargo.toml
+++ b/maud_macros/Cargo.toml
@@ -11,7 +11,7 @@ description = "Compile-time HTML templates."
 edition = "2018"
 
 [dependencies]
-literalext = { version = "0.1", default-features = false, features = ["proc-macro"] }
+syn = "0.15.34"
 matches = "0.1.6"
 maud_htmlescape = { version = "0.17.0", path = "../maud_htmlescape" }
 
diff --git a/maud_macros/src/parse.rs b/maud_macros/src/parse.rs
index d83866b..0e84d07 100644
--- a/maud_macros/src/parse.rs
+++ b/maud_macros/src/parse.rs
@@ -10,7 +10,7 @@ use proc_macro::{
 use std::collections::HashMap;
 use std::mem;
 
-use literalext::LiteralExt;
+use syn::{LitStr, parse_str};
 
 use crate::ast;
 use crate::ParseResult;
@@ -191,10 +191,12 @@ impl Parser {
 
     /// Parses and renders a literal string.
     fn literal(&mut self, lit: &Literal) -> ParseResult<ast::Markup> {
-        let content = lit.parse_string().unwrap_or_else(|| {
-            lit.span().error("expected string").emit();
-            String::new()  // Insert a dummy value
-        });
+        let content = parse_str::<LitStr>(&lit.to_string())
+            .map(|l| l.value())
+            .unwrap_or_else(|_| {
+                lit.span().error("expected string").emit();
+                String::new()  // Insert a dummy value
+            });
         Ok(ast::Markup::Literal {
             content,
             span: lit.span(),