From 3b215d80b5e8f1271a7076a24e6a5a4353154246 Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Mon, 6 Jan 2025 21:39:53 +0100 Subject: Better implementation of :version Thanks geekosaur :) --- src/Ghci.hs | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/Ghci.hs b/src/Ghci.hs index ae3bac9..dbd901b 100644 --- a/src/Ghci.hs +++ b/src/Ghci.hs @@ -47,7 +47,6 @@ data Ghci = Ghci { ghciProc :: ProcessHandle , ghciStdin :: Handle , ghciStdout :: Handle - , ghciVersion :: String } data ParseSettings = ParseSettings @@ -75,21 +74,13 @@ makeGhci = do , std_out = UseHandle pipeIn , std_err = UseHandle pipeIn } - versionLine <- hGetLine pipeOut - let version - | take 19 versionLine == "yahb2-ghci-version=" = - takeWhile (not . isSpace) (drop 19 versionLine) - | otherwise = - "" - ghciPutStrLn stdinH ":set -interactive-print=Yahb2Defs.limitedPrint" ghciPutStrLn stdinH ":m" ghciPutStrLn stdinH ":script initdefs.hs" hFlush stdinH return Ghci { ghciProc = proch , ghciStdin = stdinH - , ghciStdout = pipeOut - , ghciVersion = version } + , ghciStdout = pipeOut } runStmtClever :: Ghci -> ParseSettings -> String -> IO (Ghci, Result String) runStmtClever ghci pset line = @@ -109,7 +100,7 @@ runStmtClever ghci pset line = | cmd == "version" -> -- no startsWith because :version is not a ghci command, and we -- don't want to shadow other actual ghci commands - return (ghci, Return (ghciVersion ghci)) + runStmt ghci pset "Prelude.putStrLn (Data.List.intercalate \".\" (Prelude.map Prelude.show (Data.Version.versionBranch System.Info.fullCompilerVersion)))" _ -> runStmt ghci pset line _ -> runStmt ghci pset line where -- cgit v1.2.3-70-g09d2