module Language.PureScript.Interactive.Message where
import Prelude
import Data.List (intercalate)
import Data.Version (showVersion)
import qualified Paths_purescript as Paths
import qualified Language.PureScript.Interactive.Directive as D
import Language.PureScript.Interactive.Types
guideURL :: String
guideURL :: [Char]
guideURL = [Char]
"https://github.com/purescript/documentation/blob/master/guides/PSCi.md"
helpMessage :: String
helpMessage :: [Char]
helpMessage = [Char]
"The following commands are available:\n\n " forall a. [a] -> [a] -> [a]
++
forall a. [a] -> [[a]] -> [a]
intercalate [Char]
"\n " (forall a b. (a -> b) -> [a] -> [b]
map (Directive, [Char], [Char]) -> [Char]
line [(Directive, [Char], [Char])]
D.help) forall a. [a] -> [a] -> [a]
++
[Char]
"\n\n" forall a. [a] -> [a] -> [a]
++ [Char]
extraHelp
where
line :: (Directive, String, String) -> String
line :: (Directive, [Char], [Char]) -> [Char]
line (Directive
dir, [Char]
arg, [Char]
desc) =
let cmd :: [Char]
cmd = Char
':' forall a. a -> [a] -> [a]
: Directive -> [Char]
D.stringFor Directive
dir
in [[Char]] -> [Char]
unwords [ [Char]
cmd
, forall a. Int -> a -> [a]
replicate (Int
11 forall a. Num a => a -> a -> a
- forall (t :: * -> *) a. Foldable t => t a -> Int
length [Char]
cmd) Char
' '
, [Char]
arg
, forall a. Int -> a -> [a]
replicate (Int
11 forall a. Num a => a -> a -> a
- forall (t :: * -> *) a. Foldable t => t a -> Int
length [Char]
arg) Char
' '
, [Char]
desc
]
extraHelp :: [Char]
extraHelp =
[Char]
"Further information is available on the PureScript documentation repository:\n" forall a. [a] -> [a] -> [a]
++
[Char]
" --> " forall a. [a] -> [a] -> [a]
++ [Char]
guideURL
prologueMessage :: String
prologueMessage :: [Char]
prologueMessage = [[Char]] -> [Char]
unlines
[ [Char]
"PSCi, version " forall a. [a] -> [a] -> [a]
++ Version -> [Char]
showVersion Version
Paths.version
, [Char]
"Type :? for help"
]
noInputMessage :: String
noInputMessage :: [Char]
noInputMessage = [[Char]] -> [Char]
unlines
[ [Char]
"purs repl: No input files; try running `pulp psci` instead."
, [Char]
"For help getting started, visit " forall a. [a] -> [a] -> [a]
++ [Char]
guideURL
, [Char]
"Usage: For basic information, try the `--help' option."
]
supportModuleMessage :: String
supportModuleMessage :: [Char]
supportModuleMessage = [[Char]] -> [Char]
unlines
[ [Char]
"purs repl: PSCi requires the psci-support package."
, [Char]
"For help getting started, visit " forall a. [a] -> [a] -> [a]
++ [Char]
guideURL
]
quitMessage :: String
quitMessage :: [Char]
quitMessage = [Char]
"See ya!"