Safe Haskell | None |
---|---|
Language | Haskell98 |
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.
- window :: FrameState delta -> Window
- errorRefs :: IDE -> [LogRef]
- breakpointRefs :: IDE -> [LogRef]
- contextRefs :: IDE -> [LogRef]
- currentError :: IDE -> Maybe LogRef
- currentBreak :: IDE -> Maybe LogRef
- currentContext :: IDE -> Maybe LogRef
- setCurrentError :: MonadIDE m => Maybe LogRef -> m ()
- setCurrentBreak :: MonadIDE m => Maybe LogRef -> m ()
- setCurrentContext :: MonadIDE m => Maybe LogRef -> m ()
- isInterpreting :: MonadIDE m => m Bool
- isStartingOrClosing :: IDEState -> Bool
- triggerEventIDE :: MonadIDE m => IDEEvent -> m IDEEvent
- deactivatePane :: IDEAction
- readIDE :: MonadIDE m => (IDE -> beta) -> m beta
- modifyIDE :: MonadIDE m => (IDE -> (IDE, beta)) -> m beta
- modifyIDE_ :: MonadIDE m => (IDE -> IDE) -> m ()
- withIDE :: MonadIDE m => (IDE -> IO alpha) -> m alpha
- getIDE :: MonadIDE m => m IDE
- throwIDE :: Text -> a
- reifyIDE :: MonadIDE m => (IDERef -> IO a) -> m a
- reflectIDE :: IDEM a -> IDERef -> IO a
- reflectIDEI :: Sink a IDEM () -> IDERef -> Sink a IO ()
- catchIDE :: Exception e => IDEM a -> (e -> IO a) -> IDEM a
- postSyncIDE :: IDEM a -> IDEM a
- postAsyncIDE :: IDEM () -> IDEM ()
- onIDE :: MonadIO m => object -> Signal object (m1 a) -> ReaderT r m1 a -> ReaderT r m (ConnectId object)
- forkIDE :: IDEAction -> IDEAction
- sysMessage :: MonadIO m => MessageLevel -> Text -> m ()
- data MessageLevel
- ideMessage :: MonadIDE m => MessageLevel -> Text -> m ()
- logMessage :: MonadIDE m => Text -> LogTag -> m ()
- withoutRecordingDo :: IDEAction -> IDEAction
- changePackage :: IDEPackage -> IDEAction
- liftYiControl :: ControlM a -> IDEM a
- liftYi :: YiM a -> IDEM a
- leksahSubDir :: FilePath -> IO (Maybe FilePath)
- leksahOrPackageDir :: FilePath -> IO FilePath -> IO FilePath
- getDataDir :: IO FilePath
- version :: Version
Documentation
window :: FrameState delta -> Window Source
breakpointRefs :: IDE -> [LogRef] Source
contextRefs :: IDE -> [LogRef] Source
currentError :: IDE -> Maybe LogRef Source
currentBreak :: IDE -> Maybe LogRef Source
currentContext :: IDE -> Maybe LogRef Source
setCurrentError :: MonadIDE m => Maybe LogRef -> m () Source
setCurrentBreak :: MonadIDE m => Maybe LogRef -> m () Source
setCurrentContext :: MonadIDE m => Maybe LogRef -> m () Source
isInterpreting :: MonadIDE m => m Bool Source
triggerEventIDE :: MonadIDE m => IDEEvent -> m IDEEvent Source
Convenience methods for accesing the IDE State
modifyIDE :: MonadIDE m => (IDE -> (IDE, beta)) -> m beta Source
Variation on modifyIDE_ that lets you return a value
modifyIDE_ :: MonadIDE m => (IDE -> IDE) -> m () Source
Modify the contents, without returning a value
reifyIDE :: MonadIDE m => (IDERef -> IO a) -> m a Source
A reader monad for a mutable reference to the IDE state
reflectIDE :: IDEM a -> IDERef -> IO a Source
postSyncIDE :: IDEM a -> IDEM a Source
postAsyncIDE :: IDEM () -> IDEM () Source
onIDE :: MonadIO m => object -> Signal object (m1 a) -> ReaderT r m1 a -> ReaderT r m (ConnectId object) Source
sysMessage :: MonadIO m => MessageLevel -> Text -> m () Source
ideMessage :: MonadIDE m => MessageLevel -> Text -> m () Source
logMessage :: MonadIDE m => Text -> LogTag -> m () Source
liftYiControl :: ControlM a -> IDEM a Source
Find a directory relative to the leksah install directory
:: FilePath | Sub directory to look for |
-> IO FilePath | Used to get the package dir if we can't find the leksah one |
-> IO FilePath |
Get the leksah data dir based on the executable name or if that fails use the directroy for the package. This is allows us to make binary packages where the data directory id relative to the leksah executable. This is important for Wind32 where setting environment variables for the locations in a launch script causes problems (you can't pin the exe).