mirror of
https://github.com/IHaskell/IHaskell.git
synced 2025-04-15 19:06:06 +00:00
Create showDefault to show version when flagged
This commit is contained in:
parent
a70ae834b6
commit
b2c8b1f059
10
main/Main.hs
10
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
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user