diff options
Diffstat (limited to 'ghc/GhciMonad.hs')
-rw-r--r-- | ghc/GhciMonad.hs | 20 |
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 |