summaryrefslogtreecommitdiff
path: root/ghc/GhciMonad.hs
diff options
context:
space:
mode:
Diffstat (limited to 'ghc/GhciMonad.hs')
-rw-r--r--ghc/GhciMonad.hs20
1 files changed, 16 insertions, 4 deletions
diff --git a/ghc/GhciMonad.hs b/ghc/GhciMonad.hs
index c094b0844c..c1abe4f923 100644
--- a/ghc/GhciMonad.hs
+++ b/ghc/GhciMonad.hs
@@ -14,7 +14,7 @@ module GhciMonad (
GHCi(..), startGHCi,
GHCiState(..), setGHCiState, getGHCiState, modifyGHCiState,
GHCiOption(..), isOptionSet, setOption, unsetOption,
- Command,
+ Command(..),
BreakLocation(..),
TickArray,
getDynFlags,
@@ -58,9 +58,6 @@ import Control.Monad.IO.Class
-----------------------------------------------------------------------------
-- GHCi monad
--- the Bool means: True = we should exit GHCi (:quit)
-type Command = (String, String -> InputT GHCi Bool, CompletionFunc GHCi)
-
data GHCiState = GHCiState
{
progname :: String,
@@ -111,6 +108,21 @@ data GHCiState = GHCiState
type TickArray = Array Int [(BreakIndex,SrcSpan)]
+-- | A GHCi command
+data Command
+ = Command
+ { cmdName :: String
+ -- ^ Name of GHCi command (e.g. "exit")
+ , cmdAction :: String -> InputT GHCi Bool
+ -- ^ The 'Bool' value denotes whether to exit GHCi
+ , cmdHidden :: Bool
+ -- ^ Commands which are excluded from default completion
+ -- and @:help@ summary. This is usually set for commands not
+ -- useful for interactive use but rather for IDEs.
+ , cmdCompletionFunc :: CompletionFunc GHCi
+ -- ^ 'CompletionFunc' for arguments
+ }
+
data GHCiOption
= ShowTiming -- show time/allocs after evaluation
| ShowType -- show the type of expressions