on master help sign in
Allow querying the registered error handlers
75933d6David Christiansen
src/Idris/AbsSyntaxTree.hs+1
@@ -260,6 +260,7 @@ data Command = Quit
260 | SetColour ColourType IdrisColour
260 | SetColour ColourType IdrisColour
261 | ColourOn
261 | ColourOn
262 | ColourOff
262 | ColourOff
263+ | ListErrorHandlers
263
264
264data Opt = Filename String
265data Opt = Filename String
265 | Ver
266 | Ver
src/Idris/REPL.hs+6
@@ -907,6 +907,12 @@ process h fn ColourOn
907process h fn ColourOff
907process h fn ColourOff
908 = do ist <- getIState
908 = do ist <- getIState
909 putIState $ ist { idris_colourRepl = False }
909 putIState $ ist { idris_colourRepl = False }
910+process h fn ListErrorHandlers =
911+ do ist <- getIState
912+ case idris_errorhandlers ist of
913+ [] -> iPrintResult "No registered error handlers"
914+ handlers ->
915+ iPrintResult $ "Registered error handlers: " ++ (concat . intersperse ", " . map show) handlers
910
916
911classInfo :: ClassInfo -> Idris ()
917classInfo :: ClassInfo -> Idris ()
912classInfo ci = do iputStrLn "Methods:\n"
918classInfo 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