Skip to content

Commit 39b8a61

Browse files
committed
Don't let Agda print to stdout
1 parent 56c2203 commit 39b8a61

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/Options.hs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,13 @@ data Options = Options
4343
optRawResponses :: Bool,
4444
optSetup :: Bool,
4545
optHelp :: Bool,
46-
optVersion :: Bool
46+
optVersion :: Bool,
47+
optStdin :: Bool
4748
}
4849

4950
defaultOptions :: Options
5051
defaultOptions =
51-
Options {optViaTCP = Nothing, optRawAgdaOptions = [], optRawResponses = False, optSetup = False, optHelp = False, optVersion = False}
52+
Options {optViaTCP = Nothing, optRawAgdaOptions = [], optRawResponses = False, optSetup = False, optHelp = False, optVersion = False, optStdin = False}
5253

5354
options :: [OptDescr (Options -> Options)]
5455
options =
@@ -84,7 +85,12 @@ options =
8485
['V']
8586
["version"]
8687
(NoArg (\opts -> opts {optVersion = True}))
87-
"print version information and exit"
88+
"print version information and exit",
89+
Option
90+
[]
91+
["stdio"]
92+
(NoArg (\opts -> opts {optStdin = True}))
93+
"connect via stdio"
8894
]
8995

9096
versionNumber :: Int

src/Server/Model/AgdaLib.hs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ initAgdaLibWithOrigin origin = do
7171
let libName = ""
7272
let tcState = TCM.initState
7373
#endif
74-
tcStateRef <- liftIO $ newIORef tcState
74+
let persistentState = TCM.stPersistentState tcState
75+
let tcState' = tcState { TCM.stPersistentState = persistentState { TCM.stInteractionOutputCallback = \_ -> return () } }
76+
tcStateRef <- liftIO $ newIORef tcState'
7577
let tcEnv = TCM.initEnv
7678
let optionsPragma = OptionsPragma [] empty
7779
return $ AgdaLib libName [] optionsPragma [] tcStateRef tcEnv origin

0 commit comments

Comments
 (0)