leksah-0.15.0.1: Haskell IDE written in Haskell

Safe HaskellNone
LanguageHaskell98

IDE.Core.Types

Description

The core state of ide. This module is imported from every other module, | and all data structures of the state are declared here, to avoid circular | module dependencies.

Synopsis

Documentation

data IDE Source

The IDE state

Constructors

IDE 

Fields

frameState :: FrameState IDEM

state of the windows framework

recentPanes :: [PaneName]

a list of panes which were selected last

specialKeys :: SpecialKeyTable IDERef

a structure for emacs like keystrokes

specialKey :: SpecialKeyCons IDERef

the first of a double keystroke

candy :: CandyTable

table for source candy

prefs :: Prefs

configuration preferences

workspace :: Maybe Workspace

may be a workspace (set of packages)

activePack :: Maybe IDEPackage
 
activeExe :: Maybe Text
 
bufferProjCache :: Map FilePath [IDEPackage]
 
allLogRefs :: [LogRef]
 
currentEBC :: (Maybe LogRef, Maybe LogRef, Maybe LogRef)
 
currentHist :: Int
 
systemInfo :: Maybe GenScope

the system scope

packageInfo :: Maybe (GenScope, GenScope)

the second are the imports

workspaceInfo :: Maybe (GenScope, GenScope)

the second are the imports

workspInfoCache :: PackageDescrCache
 
handlers :: Map Text [(Unique, IDEEvent -> IDEM IDEEvent)]

event handling table

currentState :: IDEState
 
guiHistory :: (Bool, [GUIHistory], Int)
 
findbar :: (Bool, Maybe (Toolbar, ListStore Text))
 
toolbar :: (Bool, Maybe Toolbar)
 
recentFiles :: [FilePath]
 
recentWorkspaces :: [FilePath]
 
runningTool :: Maybe ProcessHandle
 
debugState :: Maybe (IDEPackage, ToolState)
 
completion :: ((Int, Int), Maybe CompletionWindow)
 
yiControl :: Control
 
serverQueue :: Maybe (MVar (ServerCommand, ServerAnswer -> IDEM ()))
 
server :: Maybe Handle
 
vcsData :: (Map FilePath MenuItem, Maybe (Maybe Text))
 
logLaunches :: Map Text LogLaunchData
 
autoCommand :: IDEAction
 
autoURI :: Maybe Text
 

data IDEState Source

Constructors

IsStartingUp

Leksah is in startup mode

IsShuttingDown

Leksah is about to go down

IsRunning

Leksah is running

IsFlipping TreeView

The flipper is used to switch between sources

IsCompleting Connections

The completion feature is used

type IDERef = IORef IDE Source

A mutable reference to the IDE state

type IDEM = ReaderT IDERef IO Source

The IDE Monad

type IDEAction = IDEM () Source

A shorthand for a reader monad for a mutable reference to the IDE state which does not return a value

class (Functor m, Monad m, MonadIO m) => MonadIDE m where Source

Methods

liftIDE :: IDEM a -> m a Source

(?>>=) :: Monad m => m (Maybe a) -> (a -> m ()) -> m () Source

wsAllPackages :: Workspace -> [IDEPackage] Source

Includes sandbox sources

data ActionDescr alpha Source

ActionDescr is a data structure from which GtkActions are build, which are used for menus, toolbars, and accelerator keystrokes

Constructors

AD 

logRefFullFilePath Source

Arguments

:: LogRef

The log ref

-> FilePath

the result

data LogLaunch Source

Constructors

LogLaunch 

Instances

data LogLaunchData Source

Other types

type GUIHistory = (GUIHistory', GUIHistory') Source

the first one is the new and the second the old state