on master help sign in
Allow querying the registered error handlers
3b06788David Christiansen
src/Idris/AbsSyntaxTree.hs+1
@@ -261,6 +261,7 @@ data Command = Quit
261 | SetColour ColourType IdrisColour
261 | SetColour ColourType IdrisColour
262 | ColourOn
262 | ColourOn
263 | ColourOff
263 | ColourOff
264+ | ListErrorHandlers
264
265
265data Opt = Filename String
266data Opt = Filename String
266 | Ver
267 | Ver
src/Idris/REPL.hs+6
@@ -925,6 +925,12 @@ process h fn ColourOn
925process h fn ColourOff
925process h fn ColourOff
926 = do ist <- getIState
926 = do ist <- getIState
927 putIState $ ist { idris_colourRepl = False }
927 putIState $ ist { idris_colourRepl = False }
928+process h fn ListErrorHandlers =
929+ do ist <- getIState
930+ case idris_errorhandlers ist of
931+ [] -> iPrintResult "No registered error handlers"
932+ handlers ->
933+ iPrintResult $ "Registered error handlers: " ++ (concat . intersperse ", " . map show) handlers
928
934
929classInfo :: ClassInfo -> Idris ()
935classInfo :: ClassInfo -> Idris ()
930classInfo ci = do iputStrLn "Methods:\n"
936classInfo ci = do iputStrLn "Methods:\n"
src/Idris/REPLParser.hs+1
@@ -96,6 +96,7 @@ pCmd = do P.whiteSpace; try (do cmd ["q", "quit"]; eof; return Quit)
96 eof; return (AddProof n))
96 eof; return (AddProof n))
97 <|> try (do cmd ["x"]; P.whiteSpace; t <- P.fullExpr defaultSyntax; return (ExecVal t))
97 <|> try (do cmd ["x"]; P.whiteSpace; t <- P.fullExpr defaultSyntax; return (ExecVal t))
98 <|> try (do cmd ["patt"]; P.whiteSpace; t <- P.fullExpr defaultSyntax; return (Pattelab t))
98 <|> try (do cmd ["patt"]; P.whiteSpace; t <- P.fullExpr defaultSyntax; return (Pattelab t))
99+ <|> try (do cmd ["errorhandlers"]; eof ; return ListErrorHandlers)
99 <|> do P.whiteSpace; do eof; return NOP
100 <|> do P.whiteSpace; do eof; return NOP
100 <|> do t <- P.fullExpr defaultSyntax; return (Eval t)
101 <|> do t <- P.fullExpr defaultSyntax; return (Eval t)
101
102