leksah-0.12.1.2: Haskell IDE written in Haskell

Safe HaskellSafe-Infered

IDE.Core.State

Contents

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

Convenience methods for accesing the IDE State

readIDE :: (IDE -> beta) -> IDEM betaSource

Read an attribute of the contents

modifyIDE :: (IDE -> (IDE, beta)) -> IDEM betaSource

Variation on modifyIDE_ that lets you return a value

modifyIDE_ :: (IDE -> IDE) -> IDEM ()Source

Modify the contents, without returning a value

withIDE :: (IDE -> IO alpha) -> IDEM alphaSource

reifyIDE :: (IDERef -> IO a) -> IDEM aSource

A reader monad for a mutable reference to the IDE state

catchIDE :: Exception e => IDEM a -> (e -> IO a) -> IDEM aSource