@@ -258,7 +258,7 @@ proofArg cmd name = do
258258 upd <- option False $ do
259259 P.lchar '!'
260260 return True
261− l <- P.natural
261+ l <- fmap fst P.natural
262262 n <- P.name;
263263 return (Right (cmd upd (fromInteger l) n))
264264
@@ -282,7 +282,8 @@ cmd_consolewidth name = do
282282 pConsoleWidth :: P.IdrisParser ConsoleWidth
283283 pConsoleWidth = do discard (P.symbol "auto"); return AutomaticWidth
284284 <|> do discard (P.symbol "infinite"); return InfinitelyWide
285− <|> do n <- fmap fromInteger P.natural; return (ColsWide n)
285+ <|> do n <- fmap (fromInteger . fst) P.natural
286+ return (ColsWide n)
286287
287288cmd_execute :: String -> P.IdrisParser (Either String Command)
288289cmd_execute name = do
@@ -307,7 +308,7 @@ cmd_pprint :: String -> P.IdrisParser (Either String Command)
307308cmd_pprint name = do
308309 fmt <- ppFormat
309310 P.whiteSpace
310− n <- fmap fromInteger P.natural
311+ n <- fmap (fromInteger . fst) P.natural
311312 P.whiteSpace
312313 t <- P.fullExpr defaultSyntax
313314 return (Right (PPrint fmt n t))
@@ -349,16 +350,16 @@ cmd_compile name = do
349350cmd_addproof :: String -> P.IdrisParser (Either String Command)
350351cmd_addproof name = do
351352 n <- option Nothing $ do
352− x <- P.name;
353+ x <- P.name
353354 return (Just x)
354355 eof
355356 return (Right (AddProof n))
356357
357358cmd_log :: String -> P.IdrisParser (Either String Command)
358359cmd_log name = do
359− i <- P.natural
360+ i <- fmap (fromIntegral . fst) P.natural
360361 eof
361− return (Right (LogLvl (fromIntegral i)))
362+ return (Right (LogLvl i))
362363
363364cmd_let :: String -> P.IdrisParser (Either String Command)
364365cmd_let name = do
@@ -370,9 +371,9 @@ cmd_unlet name = (Right . Undefine) `fmap` many P.name
370371
371372cmd_loadto :: String -> P.IdrisParser (Either String Command)
372373cmd_loadto name = do
373− toline <- P.natural
374+ toline <- fmap (fromInteger . fst) P.natural
374375 f <- many anyChar;
375− return (Right (Load f (Just (fromInteger toline))))
376+ return (Right (Load f (Just toline)))
376377
377378cmd_colour :: String -> P.IdrisParser (Either String Command)
378379cmd_colour name = fmap Right pSetColourCmd
@@ -452,19 +453,19 @@ packageBasedCmd valParser cmd name = do
452453 return (Right (cmd pkgs val))
453454
454455cmd_search :: String -> P.IdrisParser (Either String Command)
455−cmd_search = packageBasedCmd
456+cmd_search = packageBasedCmd
456457 (P.typeExpr (defaultSyntax { implicitAllowed = True })) Search
457458
458459cmd_proofsearch :: String -> P.IdrisParser (Either String Command)
459460cmd_proofsearch name = do
460461 upd <- option False (do P.lchar '!'; return True)
461− l <- P.natural; n <- P.name;
462+ l <- fmap (fromInteger . fst) P.natural; n <- P.name
462463 hints <- many P.fnName
463− return (Right (DoProofSearch upd True (fromInteger l) n hints))
464+ return (Right (DoProofSearch upd True l n hints))
464465
465466cmd_refine :: String -> P.IdrisParser (Either String Command)
466467cmd_refine name = do
467468 upd <- option False (do P.lchar '!'; return True)
468− l <- P.natural; n <- P.name;
469+ l <- fmap (fromInteger . fst) P.natural; n <- P.name
469470 hint <- P.fnName
470− return (Right (DoProofSearch upd False (fromInteger l) n [hint]))
471+ return (Right (DoProofSearch upd False l n [hint]))