X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Rakka%2FWiki%2FInterpreter.hs;h=9c40816e47519aedf6ac27a7731f7e8b20dee4f6;hb=656fdb2772ab4de5cd083cbe9e7c1610cccef73b;hp=09f7414671e75c3a7a047826d7b6e8a9f49a9c6d;hpb=4608e8de5f9d72f12055494467283b4dea2faeb5;p=Rakka.git diff --git a/Rakka/Wiki/Interpreter.hs b/Rakka/Wiki/Interpreter.hs index 09f7414..9c40816 100644 --- a/Rakka/Wiki/Interpreter.hs +++ b/Rakka/Wiki/Interpreter.hs @@ -11,25 +11,28 @@ import Rakka.Page import Rakka.Storage import Rakka.SystemConfig import Rakka.Wiki +import Text.XML.HXT.DOM.TypeDefs data Interpreter = InlineCommandInterpreter { - iciName :: String - , iciInterpret :: InterpreterContext -> InlineCommand -> IO InlineElement + iciName :: !String + , iciInterpret :: !(InterpreterContext -> InlineCommand -> IO InlineElement) } | BlockCommandInterpreter { - bciName :: String - , bciInterpret :: InterpreterContext -> BlockCommand -> IO BlockElement + bciName :: !String + , bciInterpret :: !(InterpreterContext -> BlockCommand -> IO BlockElement) } data InterpreterContext = InterpreterContext { - ctxPage :: Maybe Page - , ctxTree :: WikiPage - , ctxStorage :: Storage - , ctxSysConf :: SystemConfig + ctxPageName :: !PageName + , ctxMainPage :: !(Maybe XmlTree) + , ctxMainWiki :: !(Maybe WikiPage) + , ctxTargetWiki :: !WikiPage + , ctxStorage :: !Storage + , ctxSysConf :: !SystemConfig }