Commit b2c8b1f0 authored by Nicholas Luo's avatar Nicholas Luo

Create showDefault to show version when flagged

parent a70ae834
......@@ -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
......
{-# 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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment