@@ -675,12 +675,14 @@ pWhereblock n syn
675675 return (concat ds, map (\x -> (x, decoration syn x)) dns)
676676
677677pDirective :: IParser [PDecl]
678−pDirective = do lchar '%'; reserved "lib"; lib <- strlit;
679− return [PDirective (addLib lib)]
680− <|> do lchar '%'; reserved "link"; obj <- strlit;
681− return [PDirective (do datadir <- lift $ getDataDir
682− o <- lift $ findInPath [".", datadir] obj
683− addObjectFile o)]
678+pDirective = try (do lchar '%'; reserved "lib"; lib <- strlit;
679+ return [PDirective (addLib lib)])
680+ <|> try (do lchar '%'; reserved "link"; obj <- strlit;
681+ return [PDirective (do datadir <- lift $ getDataDir
682+ o <- lift $ findInPath [".", datadir] obj
683+ addObjectFile o)])
684+ <|> do lchar '%'; reserved "logging"; i <- natural;
685+ return [PDirective (setLogLevel (fromInteger i))]
684686
685687pTactic :: SyntaxInfo -> IParser PTactic
686688pTactic syn = do reserved "intro"; ns <- sepBy pName (lchar ',')