diff --git a/main/Main.hs b/main/Main.hs index 98b55420..55a23ba1 100644 --- a/main/Main.hs +++ b/main/Main.hs @@ -69,7 +69,7 @@ main = do Right args -> ihaskell args ihaskell :: Args -> IO () -ihaskell (Args (ShowHelp help) _) = putStrLn help +ihaskell (Args (ShowDefault helpStr) args) = showDefault helpStr args ihaskell (Args ConvertLhs args) = showingHelp ConvertLhs args $ convert args ihaskell (Args InstallKernelSpec args) = showingHelp InstallKernelSpec args $ do let kernelSpecOpts = parseKernelArgs args @@ -82,6 +82,14 @@ ihaskell a@(Args (Kernel Nothing) _) = do hPutStrLn stderr "This may be a bug!" hPrint stderr a +showDefault :: String -> [Argument] -> IO () +showDefault helpStr flags = + case find (== Version) flags of + Just _ -> + putStrLn VERSION_ipython_kernel + Nothing -> + putStrLn helpStr + showingHelp :: IHaskellMode -> [Argument] -> IO () -> IO () showingHelp mode flags act = case find (== Help) flags of diff --git a/src/IHaskell/Flags.hs b/src/IHaskell/Flags.hs index 6c0cab0b..59b74e24 100644 --- a/src/IHaskell/Flags.hs +++ b/src/IHaskell/Flags.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE CPP, NoImplicitPrelude, DeriveFunctor #-} +{-# LANGUAGE NoImplicitPrelude, DeriveFunctor #-} module IHaskell.Flags ( IHaskellMode(..), @@ -58,7 +58,7 @@ data NotebookFormat = LhsMarkdown deriving (Eq, Show) -- Which mode IHaskell is being invoked in. -data IHaskellMode = ShowHelp String +data IHaskellMode = ShowDefault String | InstallKernelSpec | ConvertLhs | Kernel (Maybe String) @@ -71,9 +71,7 @@ parseFlags flags = in case modeIndex of Nothing -> -- Treat no mode as 'console'. - if "--version" `elem` flags || "-V" `elem` flags - then Left VERSION_ipython_kernel - else process ihaskellArgs flags + process ihaskellArgs flags Just 0 -> process ihaskellArgs flags Just idx -> @@ -179,7 +177,7 @@ lhsStyleTex = LhsStyle "" "" "\\begin{code}" "\\end{code}" "\\begin{verbatim}" " ihaskellArgs :: Mode Args ihaskellArgs = let noMode = mode "IHaskell" defaultReport descr noArgs [helpFlag, versionFlag] - defaultReport = Args (ShowHelp helpStr) [] + defaultReport = Args (ShowDefault helpStr) [] descr = "Haskell for Interactive Computing." helpFlag = flagHelpSimple (add Help) versionFlag = flagVersion (add Version)