on master help sign in
remove dead code from markdown interpolation experiment
commit85eb0dabf5e4cb310fff2631aec5b8ad5ef6477c authorEvan Czaplicki <info@elm-lang.org> dateWed 29 Oct 2014, 02:23 (12 years ago) parent4e61fde
9 files changed+24−40
src/AST/Expression/General.hs+2−2 src/Generate/JavaScript.hs+5−6 src/Parse/Expression.hs+2−11 src/Parse/Helpers.hs+8−10 src/Transform/Canonicalize.hs+2−2 src/Transform/Expression.hs+1−1 src/Transform/SortDefinitions.hs+1−1 src/Transform/Substitute.hs+1−2 src/Type/Constrain/Expression.hs+2−5
src/AST/Expression/General.hs+2−2
@@ -55,7 +55,7 @@ data Expr' ann def var
5555 | Insert (Expr ann def var) String (Expr ann def var)
5656 | Modify (Expr ann def var) [(String, Expr ann def var)]
5757 | Record [(String, Expr ann def var)]
58− | Markdown String String [Expr ann def var]
58+ | Markdown String String
5959 -- for type checking and code gen only
6060 | PortIn String (Type var)
6161 | PortOut String (Type var) (Expr ann def var)
@@ -157,7 +157,7 @@ instance (Pretty def, Pretty var, Var.ToString var) => Pretty (Expr' ann def var
157157 where
158158 field (x,e) = variable x <+> P.equals <+> pretty e
159159
160− Markdown _ _ _ -> P.text "[markdown| ... |]"
160+ Markdown _ _ -> P.text "[markdown| ... |]"
161161
162162 GLShader _ _ _ -> P.text "[glsl| ... |]"
163163
src/Generate/JavaScript.hs+5−6
@@ -180,12 +180,11 @@ expression (A region expr) =
180180 ctor = (prop "ctor", string name)
181181 fields = zipWith (\n e -> (prop ("_" ++ show n), e)) [0..]
182182
183− Markdown uid doc es ->
184− do es' <- mapM expression es
185− return $ Var.value ["Text"] "markdown" `call` (string md : string uid : es')
186− where
187− pad = "<div style=\"height:0;width:0;\">&nbsp;</div>"
188− md = pad ++ MD.toHtml doc ++ pad
183+ Markdown uid doc ->
184+ return $ Var.value ["Text"] "markdown" `call` [ string md, string uid ]
185+ where
186+ pad = "<div style=\"height:0;width:0;\">&nbsp;</div>"
187+ md = pad ++ MD.toHtml doc ++ pad
189188
190189 GLShader _uid src _tipe ->
191190 return $ ObjectLit () [(PropString () "src", literal (Str src))]
src/Parse/Expression.hs+2−11
@@ -59,8 +59,8 @@ listTerm = markdown' <|> shader' <|> braces (try range <|> E.ExplicitList <$> co
5959 markdown' = do
6060 pos <- getPosition
6161 let uid = show (sourceLine pos) ++ ":" ++ show (sourceColumn pos)
62− (rawText, exprs) <- Help.markdown (interpolation uid)
63− return (E.Markdown uid (filter (/='\r') rawText) exprs)
62+ rawText <- Help.markdown
63+ return (E.Markdown uid (filter (/='\r') rawText))
6464
6565 shader' = do
6666 pos <- getPosition
@@ -68,15 +68,6 @@ listTerm = markdown' <|> shader' <|> braces (try range <|> E.ExplicitList <$> co
6868 (rawSrc, tipe) <- Help.shader
6969 return $ E.GLShader uid (filter (/='\r') rawSrc) tipe
7070
71− span uid index =
72− "<span id=\"md-" ++ uid ++ "-" ++ show index ++
73− "\">{{ markdown interpolation is in the pipeline, but still needs more testing }}</span>"
74−
75− interpolation uid exprs = do
76− try (string "{{")
77− e <- padded expr
78− string "}}"
79− return (span uid (length exprs), exprs ++ [e])
8071
8172parensTerm :: IParser Source.Expr
8273parensTerm = try (parens opFn) <|> parens (tupleFn <|> parened)
src/Parse/Helpers.hs+8−10
@@ -2,7 +2,7 @@ module Parse.Helpers where
22
33import Prelude hiding (until)
44import Control.Applicative ((<$>),(<*>))
5−import Control.Monad (guard, join, mzero)
5+import Control.Monad (guard, join)
66import Control.Monad.State (State)
77import Data.Char (isUpper)
88import qualified Data.Map as Map
@@ -261,7 +261,7 @@ ignoreUntil end = go
261261 ignore p = const () <$> p
262262 filler = choice [ try (ignore chr) <|> ignore str
263263 , ignore multiComment
264− , ignore (markdown (\_ -> mzero))
264+ , ignore markdown
265265 , ignore anyChar
266266 ]
267267 go = choice [ Just <$> end
@@ -294,18 +294,16 @@ anyUntilPos pos = go
294294 True -> return []
295295 False -> (:) <$> anyChar <*> go
296296
297−markdown :: ([a] -> IParser (String, [a])) -> IParser (String, [a])
298−markdown interpolation =
297+markdown :: IParser String
298+markdown =
299299 do try (string "[markdown|")
300− closeMarkdown id []
300+ closeMarkdown id
301301 where
302− closeMarkdown markdownBuilder stuff =
302+ closeMarkdown markdownBuilder =
303303 choice [ do try (string "|]")
304− return (markdownBuilder "", stuff)
305− , do (markdown,stuff') <- interpolation stuff
306− closeMarkdown (markdownBuilder . (markdown++)) stuff'
304+ return (markdownBuilder "")
307305 , do c <- anyChar
308− closeMarkdown (markdownBuilder . (c:)) stuff
306+ closeMarkdown (markdownBuilder . (c:))
309307 ]
310308
311309shader :: IParser (String, L.GLShaderTipe)
src/Transform/Canonicalize.hs+2−2
@@ -282,9 +282,9 @@ expression env (A.A ann expr) =
282282 (,) <$> format (pattern env p)
283283 <*> expression (update p env) b
284284
285− Markdown uid md es ->
285+ Markdown uid md ->
286286 do Env.uses ["Text"]
287− Markdown uid md <$> mapM go es
287+ return (Markdown uid md)
288288
289289 PortIn name st ->
290290 PortIn name <$> tipe' env st
src/Transform/Expression.hs+1−1
@@ -48,7 +48,7 @@ crawl portInCheck portOutCheck defsTransform = go
4848 Insert e lbl v -> Insert <$> go e <*> return lbl <*> go v
4949 Modify e fields -> Modify <$> go e <*> mapM (\(k,v) -> (,) k <$> go v) fields
5050 Record fields -> Record <$> mapM (\(k,v) -> (,) k <$> go v) fields
51− Markdown uid md es -> Markdown uid md <$> mapM go es
51+ Markdown uid md -> return $ Markdown uid md
5252 Let defs body -> Let <$> defsTransform defs <*> go body
5353 GLShader uid src gltipe -> return $ GLShader uid src gltipe
5454 PortIn name st ->
src/Transform/SortDefinitions.hs+1−1
@@ -97,7 +97,7 @@ reorder (A ann expr) =
9797 Record fields ->
9898 Record <$> mapM (\(k,v) -> (,) k <$> reorder v) fields
9999
100− Markdown uid md es -> Markdown uid md <$> mapM reorder es
100+ Markdown uid md -> return $ Markdown uid md
101101
102102 GLShader _ _ _ -> return expr
103103
src/Transform/Substitute.hs+1−2
@@ -79,8 +79,7 @@ subst old new expression =
7979
8080 Literal _ -> expression
8181
82− Markdown uid md exprs ->
83− Markdown uid md (map f exprs)
82+ Markdown _ _ -> expression
8483
8584 GLShader _ _ _ -> expression
8685
src/Type/Constrain/Expression.hs+2−5
@@ -151,11 +151,8 @@ constrain env (A region expr) tipe =
151151 recordType = record fields' (termN EmptyRecord1)
152152 return . ex vars . and $ tipe === recordType : cs
153153
154− Markdown _ _ es ->
155− do vars <- forM es $ \_ -> liftIO (variable Flexible)
156− let tvars = map varN vars
157− cs <- zipWithM (constrain env) es tvars
158− return . ex vars $ and ("Text.markdown" <? tipe : cs)
154+ Markdown _ _ ->
155+ return ("Text.markdown" <? tipe)
159156
160157 Let defs body ->
161158 do c <- constrain env body tipe