From 3640d75c994b34e47601d65a1ecbfe0762b7a15c Mon Sep 17 00:00:00 2001 From: mrkkrp Date: Fri, 11 Mar 2016 14:09:57 +0600 Subject: [PATCH] Allow lines of dashes in route files See #1180. --- yesod-core/Yesod/Routes/Parse.hs | 4 ++-- yesod-core/test/Hierarchy.hs | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/yesod-core/Yesod/Routes/Parse.hs b/yesod-core/Yesod/Routes/Parse.hs index c1491b84..ba0466e1 100644 --- a/yesod-core/Yesod/Routes/Parse.hs +++ b/yesod-core/Yesod/Routes/Parse.hs @@ -18,7 +18,7 @@ import Language.Haskell.TH.Quote import qualified System.IO as SIO import Yesod.Routes.TH import Yesod.Routes.Overlap (findOverlapNames) -import Data.List (foldl') +import Data.List (foldl', isPrefixOf) import Data.Maybe (mapMaybe) import qualified Data.Set as Set @@ -86,7 +86,7 @@ resourcesFromString = spaces = takeWhile (== ' ') thisLine (others, remainder) = parse indent otherLines' (this, otherLines') = - case takeWhile (/= "--") $ words thisLine of + case takeWhile (not . isPrefixOf "--") $ words thisLine of (pattern:rest0) | Just (constr:rest) <- stripColonLast rest0 , Just attrs <- mapM parseAttr rest -> diff --git a/yesod-core/test/Hierarchy.hs b/yesod-core/test/Hierarchy.hs index 6c746014..b1d56ccd 100644 --- a/yesod-core/test/Hierarchy.hs +++ b/yesod-core/test/Hierarchy.hs @@ -78,6 +78,8 @@ do let resources = [parseRoutes| / HomeR GET +---------------------------------------- + /!#Int BackwardsR GET /admin/#Int AdminR: