Skip to content

Commit b08a696

Browse files
committed
use toAbort
1 parent 95a2162 commit b08a696

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

src/Formula/Parsing/Delayed.hs

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,21 @@ import Text.Parsec (ParseError, parse)
1515
import Text.Parsec.String (Parser)
1616
import ParsingHelpers (fully)
1717

18-
import Control.OutputCapable.Blocks (LangM, LangM', Language, OutputCapable, english, german)
18+
import Control.OutputCapable.Blocks (
19+
LangM,
20+
LangM',
21+
Language,
22+
OutputCapable,
23+
ReportT,
24+
english,
25+
german,
26+
indent,
27+
translate
28+
)
29+
import Control.OutputCapable.Blocks.Generic (
30+
toAbort,
31+
)
1932
import Control.Monad.State (State)
20-
import Data.Functor (($>))
2133
import Data.Map (Map)
2234

2335
import LogicTasks.Helpers (reject)
@@ -50,21 +62,20 @@ displayParseError err = do
5062
german $ show err
5163

5264
parseDelayedAbortOrProcess ::
53-
OutputCapable m
65+
(Monad m, OutputCapable (ReportT o m))
5466
=> Parser a
5567
-> (Maybe ParseError -> ParseError -> State (Map Language String) ())
5668
-> Parser ()
5769
-> Delayed a
58-
-> (a -> LangM' m b)
59-
-> LangM' m b
70+
-> (a -> LangM' (ReportT o m) b)
71+
-> LangM' (ReportT o m) b
6072
parseDelayedAbortOrProcess p messaging fallBackParser delayedAnswer whatToDo =
6173
case parseDelayed (fully p) delayedAnswer of
62-
Left err -> reject (
74+
Left err -> toAbort (indent $ translate $
6375
messaging (either Just (const Nothing) $
6476
parseDelayedRaw (fully fallBackParser) delayedAnswer)
6577
err
6678
)
67-
$> undefined
6879
Right x -> whatToDo x
6980

7081
parseDelayedWithAndThen ::

0 commit comments

Comments
 (0)