summaryrefslogtreecommitdiff
path: root/Biz/Language/Bs/Cli.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Biz/Language/Bs/Cli.hs')
-rw-r--r--Biz/Language/Bs/Cli.hs64
1 files changed, 0 insertions, 64 deletions
diff --git a/Biz/Language/Bs/Cli.hs b/Biz/Language/Bs/Cli.hs
deleted file mode 100644
index d2ac1e4..0000000
--- a/Biz/Language/Bs/Cli.hs
+++ /dev/null
@@ -1,64 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-
-module Language.Bs.Cli
- ( run,
- )
-where
-
-import Data.String
-import Data.Text.IO as TIO
-import Language.Bs.Eval -- evalFile :: T.Text -> IO ()
-import Language.Bs.Repl -- Repl.mainLoop :: IO ()
-import Options.Applicative
-import Protolude
-import System.Directory
-
--- SOURCES
---http://book.realworldhaskell.org/read/io.html
--- https://github.com/pcapriotti/optparse-applicative
--- https://hackage.haskell.org/package/optparse-applicative
-
-runScript :: FilePath -> IO ()
-runScript fname = do
- exists <- doesFileExist fname
- if exists
- then TIO.readFile fname >>= evalFile fname
- else TIO.putStrLn "File does not exist."
-
-data LineOpts = UseReplLineOpts | RunScriptLineOpts String
-
-parseLineOpts :: Parser LineOpts
-parseLineOpts = runScriptOpt <|> runReplOpt
- where
- runScriptOpt =
- RunScriptLineOpts
- <$> strOption
- ( long "script"
- <> short 's'
- <> metavar "SCRIPT"
- <> help "File containing the script you want to run"
- )
- runReplOpt =
- UseReplLineOpts
- <$ flag'
- ()
- ( long "repl"
- <> short 'r'
- <> help "Run as interavtive read/evaluate/print/loop"
- )
-
-schemeEntryPoint :: LineOpts -> IO ()
-schemeEntryPoint UseReplLineOpts = mainLoop --repl
-schemeEntryPoint (RunScriptLineOpts script) = runScript script
-
-run :: IO ()
-run = execParser opts >>= schemeEntryPoint
- where
- opts =
- info
- (helper <*> parseLineOpts)
- ( fullDesc
- <> header "Executable binary for Write You A Scheme v2.0"
- <> progDesc "contains an entry point for both running scripts and repl"
- )