packages feed

reflex-dom-th 0.3.2 → 0.3.3

raw patch · 5 files changed

+26/−3 lines, 5 filesdep +gettext-th

Dependencies added: gettext-th

Files

CHANGELOG.md view
@@ -1,5 +1,8 @@ # Revision history for reflex-dom-th +## 0.3.3+* gettext-th support+ ## 0.3.2 * ghc 8.10 support  
README.md view
@@ -63,3 +63,11 @@                           </ul> |] ```		        ++There is also support for translatable text from [gettext-th](https://hackage.haskell.org/package/gettext-th). ++To add translatable text in a template File (see domFile) ++```+<div>[__|Hello world|]</div>+```
reflex-dom-th.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.4 name:               reflex-dom-th-version:            0.3.2+version:            0.3.3  -- A short (one-line) description of the package. synopsis: reflex-dom-th transpiles HTML templates to haskell code for reflex-dom@@ -33,12 +33,13 @@   exposed-modules:           Reflex.Dom.TH.Parser         , Reflex.Dom.TH-  default-extensions: TemplateHaskell, TupleSections, DeriveLift, RecordWildCards, QuasiQuotes, OverloadedStrings, FlexibleContexts+  default-extensions: TemplateHaskell, TupleSections, DeriveLift, RecordWildCards, QuasiQuotes, OverloadedStrings, FlexibleContexts, ScopedTypeVariables   build-depends:               base >= 4 && < 5             , array             , containers             , megaparsec+            , gettext-th             , mtl             , reflex-dom-core             , template-haskell
src/Reflex/Dom/TH.hs view
@@ -22,6 +22,8 @@ import Instances.TH.Lift() import Control.Monad.Reader +import I18N.Gettext.TH (gettext)+ type Ref = Int  data ChildResult =@@ -44,6 +46,7 @@                          , cDynAttrs :: Maybe String                          , cChilds :: Chain }                | CText String+               | CGettext String                | CComment String                | CWidget String (Maybe Ref)                deriving Show@@ -75,6 +78,7 @@       CBind (toC e) CREmpty (compile etail inRefs)   where     toC (TText t) = CText t+    toC (TGettext t) = CGettext t     toC (TComment c) = CComment c     toC _ = error "internal"                            @@ -132,6 +136,8 @@      return [| $(el'WithAttr tag attr tDynAttrs) $(cs) |] cnode (CText "") = return $ [| blank |] cnode (CText txt) = return $ [| text txt |]+cnode (CGettext txt') =   +  return $ appE [| text |] (quoteExp gettext txt') cnode (CWidget x _) = return $ unboundVarE $ mkName x cnode (CComment txt) = return [| comment txt |] 
src/Reflex/Dom/TH/Parser.hs view
@@ -27,6 +27,7 @@                          , tDynAttrs :: Maybe String                          , tChilds :: [TElement] }                | TText String+               | TGettext String                | TComment String                | TWidget String (Maybe Ref)                deriving Show@@ -79,6 +80,10 @@ varRef :: Parser String varRef =  string "{{" *> space *> varName <* string "}}" <* space +gettext :: Parser TElement+gettext = TGettext <$> (string "[__|" *> space *> manyTill anySingle (string "|]"))++ widget :: Parser TElement widget =  TWidget <$> (string "{{" *> space *> varName) <*> (refOpt <* (string "}}")) @@ -86,7 +91,7 @@ text =  TText <$>  dropWhileEnd isSpace <$>  someTill anySingle (lookAhead (char '<' *> return () <|> string "{{" *> return () ))  element :: Parser TElement     -element = (comment <|>  node <|> widget <|> text) <* space+element = (comment <|>  node <|> widget <|> gettext <|> text) <* space    template :: Parser [TElement] template = do