-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Simple interface to the FP Complete IDE API. -- -- A server and library for communicating with the FP Complete IDE API. @package fpco-api @version 1.2.0.2 -- | Server configuration. module FP.Server.Config -- | Default url to accept commands on. defaultUrl :: Text -- | Default port to accept commands on. defaultPort :: Integer -- | A very minimal library for broadcasting events to listeners. module FP.API.Signal data Signal m a Signal :: (IORef (IntMap (a -> m ()))) -> Signal m a newSignal :: IO (Signal m a) sendSignal :: MonadIO m => Signal m a -> a -> m () subscribeSignal :: Signal m a -> (IO () -> a -> m ()) -> IO (IO ()) -- | Block, watching for a particular value (indicated by Just). -- Once a Just value is seen, stop subscribing, and return the -- value. The Maybe Int argument specifies an optional timeout -- in microseconds. If the function instead times out, then -- Nothing is yielded. blockOnSignal :: MonadIO m => Maybe Int -> Signal m a -> (a -> m (Maybe b)) -> IO (Maybe b) module FP.API.Runner data RunnerException RunnerException :: Text -> RunnerException fromString :: String -> Text toString :: Text -> String decodeBytes :: ByteString -> Text encodeBytes :: Text -> ByteString data Filters Filters :: Text -> [Text] -> Filters filtersRoot :: Filters -> Text filtersBlacklist :: Filters -> [Text] -- | The standard ByteString instances in aeson are broken: they assume -- UTF8 encoding. This type instead uses base64 for proper -- round-tripping. newtype ByteString64 ByteString64 :: ByteString -> ByteString64 unByteString64 :: ByteString64 -> ByteString newtype WrappedUTCTime WrappedUTCTime :: UTCTime -> WrappedUTCTime unWrappedUTCTime :: WrappedUTCTime -> UTCTime toPicoSeconds :: UTCTime -> Integer fromPicoSeconds :: Integer -> UTCTime newtype ProjectId ProjectId :: Int -> ProjectId unProjectId :: ProjectId -> Int unProjectIdString :: ProjectId -> String unProjectIdText :: ProjectId -> Text newtype RunConfigId RunConfigId :: Int -> RunConfigId unRunConfigId :: RunConfigId -> Int newtype JobId JobId :: Int -> JobId unJobId :: JobId -> Int newtype CompileId CompileId :: Int -> CompileId unCompileId :: CompileId -> Int newtype ProcId ProcId :: Int -> ProcId unProcId :: ProcId -> Int newtype GitShellId GitShellId :: Int -> GitShellId unGitShellId :: GitShellId -> Int newtype FormattedTime FormattedTime :: Text -> FormattedTime unFormattedTime :: FormattedTime -> Text newtype ModuleName ModuleName :: Text -> ModuleName unModuleName :: ModuleName -> Text moduleNameString :: ModuleName -> String data ModuleStatus WrongExtension :: ModuleStatus NotTextual :: ModuleStatus CFile :: ModuleStatus BootFile :: ModuleName -> ModuleStatus HeaderFilenameMismatch :: ModuleName -> ModuleStatus -- | This can also be valid for data files, if the user has manually -- excluded them. ModuleOk :: ModuleName -> ModuleStatus newtype FileName FileName :: ByteString -> FileName unFileName :: FileName -> ByteString unFileNameText :: FileName -> Text unFileNameString :: FileName -> String fileNameFromText :: Text -> FileName fileNameFromString :: String -> FileName data EncFileName EncFileNameText :: Text -> EncFileName unEncFileNameText :: EncFileName -> Text EncFileNameBase64 :: Text -> Text -> EncFileName unEncFileNameText :: EncFileName -> Text encFileNameBase64 :: EncFileName -> Text encodeBase64FileName :: FileName -> Text decodeBase64FileName :: Text -> FileName encFileName :: FileName -> EncFileName unEncFileName :: EncFileName -> FileName encFileNameFromByteString :: ByteString -> EncFileName encFileNameFromText :: Text -> EncFileName encFileNameFromString :: String -> EncFileName unEncFileNameString :: EncFileName -> String data FileType SourceFile :: FileType DataFile :: FileType data FileDesc FileDesc :: EncFileName -> ModuleStatus -> Bool -> FileType -> FileDesc fdEncFileName :: FileDesc -> EncFileName fdModuleStatus :: FileDesc -> ModuleStatus fdUserExcluded :: FileDesc -> Bool fdFileType :: FileDesc -> FileType -- | When a file in the project representation is changed by a -- ProjectUpdate request, it often results in a change reflected -- in what we know about the file. This change is reported in the -- UpdateActions structure using this FileUpdate type. data FileUpdate FileUpdated :: FileDesc -> FileUpdate FileRemoved :: Bool -> FileUpdate -- | A project's target is a single module containing a function named -- main. This type reflects if any change in the current target -- has been made. data TargetUpdate TargetSet :: EncFileName -> TargetUpdate TargetCleared :: TargetUpdate -- | After a ProjectUpdate request is processed, a set of -- UpdateActions will result to reflect what changes have been -- made to the project representation (and subsequently, what changes may -- need to be reflected in the ide-backend, the database, and other -- caches). data UpdateActions UpdateActions :: [(EncFileName, FileUpdate)] -> Maybe TargetUpdate -> UpdateActions _uaUpdates :: UpdateActions -> [(EncFileName, FileUpdate)] _uaNewTarget :: UpdateActions -> Maybe TargetUpdate -- | Describe a compilation which has been accepted by the -- isolation-runner. This includes sufficient information to tell what is -- in the compilation, and to distinguish it from any other -- compilation. data CompileDesc CompileDesc :: CompileIdent -> UpdateActions -> Maybe Filters -> CompileDesc cdCompileIdent :: CompileDesc -> CompileIdent cdUpdateActions :: CompileDesc -> UpdateActions cdFilters :: CompileDesc -> Maybe Filters -- | Identifies a compilation, by combining a SessionId with a -- CompileId. data CompileIdent CompileIdent :: SessionId -> CompileId -> CompileIdent ciSession :: CompileIdent -> SessionId ciCompile :: CompileIdent -> CompileId -- | Backend session ID. newtype SessionId SessionId :: Text -> SessionId newtype MailboxId MailboxId :: Text -> MailboxId data NewFileInfo NewFileInfo :: Text -> Maybe ModuleName -> NewFileInfo fiPath :: NewFileInfo -> Text fiModule :: NewFileInfo -> Maybe ModuleName data RenameType RenamePlain :: RenameType RenameHeader :: RenameType RenameHeaderAndImports :: RenameType RenameHeaderAndImportsForce :: RenameType data RenameFileOutput RenameFileOutput :: (Maybe FayTutorialToken) -> (Maybe Text) -> (Maybe CompileDesc) -> RenameFileOutput WarnImportRenaming :: [EncFileName] -> RenameFileOutput data SaveFileOutput SaveFileOutput :: FayTutorialToken -> (Maybe CompileDesc) -> SaveFileOutput data FayFileContent FayFileContent :: Maybe Text -> FayTutorialToken -> FayFileContent dfcContent :: FayFileContent -> Maybe Text dfcToken :: FayFileContent -> FayTutorialToken -- | A token for the tutorial. type FayTutorialToken = TutorialConcurrentToken -- | Token for a tutorial. newtype TutorialConcurrentToken TutorialConcurrentToken' :: Int -> TutorialConcurrentToken unTutorialConcurrentToken :: TutorialConcurrentToken -> Int incrToken :: TutorialConcurrentToken -> TutorialConcurrentToken data TypeInfo TypeInfo :: SourceSpan -> Text -> [Text] -> TypeInfo data SourceSpan SourceSpan :: EncFileName -> Int -> Int -> Int -> Int -> SourceSpan spanFilePath :: SourceSpan -> EncFileName spanFromLine :: SourceSpan -> Int spanFromColumn :: SourceSpan -> Int spanToLine :: SourceSpan -> Int spanToColumn :: SourceSpan -> Int data EitherSpan ProperSpan :: SourceSpan -> EitherSpan TextSpan :: Text -> EitherSpan -- | The timing separation between JobStillRunning messages. Note -- that the actual interval will always be larger than this due to -- network overhead, etc. jobStillRunningTimeoutSeconds :: Int data ProjectMessagesOutput ProjectMessagesOutput :: Maybe ProjectStatusSnapshot -> StatusHash -> Integer -> [RunnerMessage] -> MailboxId -> ProjectMessagesOutput -- | Note: The usage of Maybe here is purely a bandwidth -- optimization. Semantically, it is more correct to simply include the -- snapshot each time. To avoid passing back the same information, -- however, the snapshot is only transferred when the current hash does -- not match the hash provided in the request. pmoStatusSnap :: ProjectMessagesOutput -> Maybe ProjectStatusSnapshot -- | The current hash at the time messages were returned. pmoStatusHash :: ProjectMessagesOutput -> StatusHash -- | The highest message ID we've yet seen, used as next argument in -- ProjectMessagesInput to avoid looking at the same messages -- again. pmoLastMessage :: ProjectMessagesOutput -> Integer pmoMessages :: ProjectMessagesOutput -> [RunnerMessage] pmoMailboxId :: ProjectMessagesOutput -> MailboxId newtype StatusHash StatusHash :: Text -> StatusHash unStatusHash :: StatusHash -> Text data CompileResult CRCanceled :: CompileResult CRSuccess :: CompileResult CRFailure :: CompileResult CRException :: Text -> CompileResult data ProcessResult PRExitSuccess :: ProcessResult PRUserException :: Text -> ProcessResult PRRunningFailed :: Text -> ProcessResult PRGHCException :: Text -> ProcessResult PRForceCanceled :: ProcessResult PRBackendError :: Text -> ProcessResult PRCouldNotLoadModule :: Text -> ProcessResult displayProcessResult :: ProcessResult -> Text data GitShellOutput GSOutput :: Text -> GitShellOutput GSSuccess :: GitShellOutput GSFailure :: Int -> GitShellOutput data RunnerMessage ProjectMessage :: LogLevel -> Text -> RunnerMessage ProcessOutput :: ProcId -> Text -> RunnerMessage ProcessStopped :: ProcId -> ProcessResult -> RunnerMessage GitShellOutput :: GitShellId -> GitShellOutput -> RunnerMessage CompileComplete :: CompileId -> CompileResult -> RunnerMessage ProjectHasOpened :: SessionId -> RunnerMessage -- | If the Bool is True, it indicates that the client should resume -- polling for project messages from a newly created project. If False, -- there is some more severe problem initiating the project, and the -- client should let the user know that the project may require manual -- recovery. ProjectHasClosed :: SessionId -> Bool -> Text -> RunnerMessage -- | FIXME At some point in the future, it would be nice to replace the -- second Text with a Value, to make it clear that we're encoding -- arbitrary JSON values. This is semantically more correct, and more -- efficient, but requires changes to the Fay encode/decode code, and -- therefore is not trivial to implement. IdeCommandOutput :: JobId -> Text -> RunnerMessage JobException :: JobId -> Text -> RunnerMessage -- | Indicates to the client that a job is still being actively worked on. JobStillRunning :: JobId -> RunnerMessage data LogLevel LevelDebug :: LogLevel LevelInfo :: LogLevel LevelWarn :: LogLevel LevelError :: LogLevel LevelOther :: Text -> LogLevel data SdistTarballInfo SdistTarballInfo :: !Text -> !Text -> SdistTarballInfo stiPackageName :: SdistTarballInfo -> !Text stiVersion :: SdistTarballInfo -> !Text data GitHistoryItem GitHistoryItem :: Text -> Text -> Text -> CommitSHA -> GitHistoryItem ghiDate :: GitHistoryItem -> Text ghiAuthor :: GitHistoryItem -> Text ghiLog :: GitHistoryItem -> Text ghiHash :: GitHistoryItem -> CommitSHA data GitRepositoryStatus GitRepositoryPending :: GitRepositoryStatus GitRepositoryReady :: GitRepositoryStatus GitRepositoryInvalid :: Text -> GitRepositoryStatus data ProjectStatusSnapshot ProjectStatusSnapshot :: RunnerOpeningStatus -> RunnerCompileStatus -> ProcessStatusSnapshot -> RunnerBuildStatus -> GitRepositoryStatus -> Maybe Text -> RunnerPictureStatus -> Bool -> ProjectStatusSnapshot snapOpeningStatus :: ProjectStatusSnapshot -> RunnerOpeningStatus snapCompileStatus :: ProjectStatusSnapshot -> RunnerCompileStatus snapProcessStatus :: ProjectStatusSnapshot -> ProcessStatusSnapshot snapBuildStatus :: ProjectStatusSnapshot -> RunnerBuildStatus snapGitStatus :: ProjectStatusSnapshot -> GitRepositoryStatus snapGitCommand :: ProjectStatusSnapshot -> Maybe Text snapPictureStatus :: ProjectStatusSnapshot -> RunnerPictureStatus snapAnyLocalChanges :: ProjectStatusSnapshot -> Bool data IdInfo NoIdInfo :: IdInfo -- | query span, result span, source info IdInfo :: SourceSpan -> DefinitionSource -> IdInfo iiResultSpan :: IdInfo -> SourceSpan iiSourceInfo :: IdInfo -> DefinitionSource data DefinitionSource DefinitionLocal :: Text -> SourceSpan -> DefinitionSource DefinitionTextSpan :: Text -> Text -> DefinitionSource DefinitionImported :: Text -> ModuleId -> ModuleId -> EitherSpan -> EitherSpan -> DefinitionSource DefinitionWiredIn :: Text -> DefinitionSource DefinitionBinder :: Text -> DefinitionSource definitionIdName :: DefinitionSource -> Text data ModuleId ModuleId :: (Maybe EncFileName) -> ModuleName -> PackageId -> ModuleId data AutoCompleteInput AutoCompleteInput :: EncFileName -> Text -> AutoCompleteInput aciFileName :: AutoCompleteInput -> EncFileName aciPrefix :: AutoCompleteInput -> Text data PackageId PackageId :: Text -> Maybe Text -> PackageId packageName :: PackageId -> Text packageVersion :: PackageId -> Maybe Text data SearchResult SearchResult :: SourceSpan -> [Either Text Text] -> SearchResult data HoogleResult HoogleResult :: String -> [(PackageLink, [ModuleLink])] -> String -> String -> HoogleResult hrURL :: HoogleResult -> String hrSources :: HoogleResult -> [(PackageLink, [ModuleLink])] -- | HTML hrTitle :: HoogleResult -> String -- | plain text hrBody :: HoogleResult -> String data PackageLink PackageLink :: String -> String -> PackageLink plName :: PackageLink -> String plURL :: PackageLink -> String data ModuleLink ModuleLink :: String -> String -> ModuleLink mlName :: ModuleLink -> String mlURL :: ModuleLink -> String data RunnerOpeningStatus RunnerProjectOpening :: Text -> RunnerOpeningStatus RunnerProjectOpen :: RunnerOpeningStatus data RunnerCompileStatus RunnerNotCompiling :: RunnerCompileStatus RunnerCompiling :: CompileIdent -> Progress -> RunnerCompileStatus RunnerCompileDone :: CompileIdent -> [SourceInfo] -> RunnerCompileStatus -- | An error or warning in a source module. -- -- Most errors are associated with a span of text, but some have only a -- location point. data SourceInfo SourceInfo :: SourceInfoKind -> EitherSpan -> [(InfoChunkTag, Text)] -> SourceInfo infoKind :: SourceInfo -> SourceInfoKind infoSpan :: SourceInfo -> EitherSpan infoMsg :: SourceInfo -> [(InfoChunkTag, Text)] -- | Severity of a piece of info. data SourceInfoKind SIKError :: SourceInfoKind SIKWarning :: SourceInfoKind SIKMismatch :: SourceInfoKind SIKHint :: SourceInfoKind data InfoChunkTag ICTPlain :: InfoChunkTag ICTModule :: InfoChunkTag -- | Note: Ideally we'd distinguish identifiers, types, exprs, etc ICTCode :: InfoChunkTag -- | The Text is a description of the action (for use in hovertext), -- and the list stores the replacements that should be performed. ICTRefactor :: Text -> [(SourceSpan, Text)] -> InfoChunkTag ICTCollapse :: InfoChunkTag ICTOriginal :: InfoChunkTag data ProcessStatusSnapshot SnapshotNoProcess :: ProcessStatusSnapshot -- | URL to visit project SnapshotProcessRunning :: ProcId -> (Maybe Text) -> ProcessStatusSnapshot -- | Status for the pictures directory. data RunnerPictureStatus RunnerPictureStatus :: [PictureStatus] -> RunnerPictureStatus -- | Status of a picture. data PictureStatus PictureStatus :: Text -> Text -> Text -> PictureStatus -- | The title to use in the IDE UI. pictureName :: PictureStatus -> Text -- | URL of the actual image. pictureUrl :: PictureStatus -> Text -- | Hash of the file contents, whenever the picture changes this is -- updated. pictureHash :: PictureStatus -> Text data RunnerBuildStatus RunnerNotBuilding :: RunnerBuildStatus RunnerBuilding :: Progress -> RunnerBuildStatus RunnerUploading :: RunnerBuildStatus data UploadedBuild UploadedBuild :: Text -> Text -> UploadedBuild ubUrl :: UploadedBuild -> Text ubExe :: UploadedBuild -> Text -- | This type represents intermediate progress information during -- compilation. data Progress Progress :: Int -> Int -> Text -> Progress -- | The current step number -- -- When these Progress messages are generated from progress updates from -- ghc, it is entirely possible that we might get step 426, 1626, -- 3/26; the steps may not be continuous, might even be out of order, and -- may not finish at X/X. progressStep :: Progress -> Int -- | The total number of steps progressNumSteps :: Progress -> Int -- | The parsed message. For instance, in the case of progress messages -- during compilation, progressOrigMsg might be -- --
--   [1 of 2] Compiling M (some/path/to/file.hs, some/other/path/to/file.o)
--   
-- -- while progressMsg will just be 'Compiling M' progressMsg :: Progress -> Text newtype Approot Approot :: Text -> Approot unApproot :: Approot -> Text newtype VirtualHost VirtualHost :: Text -> VirtualHost unVirtualHost :: VirtualHost -> Text approotString :: Approot -> String data ApprootPid ApprootPid :: Approot -> ProcId -> ApprootPid newtype Port Port :: Int -> Port getPort :: Port -> Int data ErrorsAnd x ErrorsAnd :: [String] -> (Maybe (Automatic x)) -> ErrorsAnd x data ModuleIncluded ModuleExcluded :: ModuleIncluded ModuleWrongExtension :: ModuleIncluded ModuleNotTextual :: ModuleIncluded ModuleIsCFile :: ModuleIncluded ModuleIsBootFile :: ModuleName -> ModuleIncluded ModuleHeaderFilenameMismatch :: ModuleName -> ModuleIncluded ModuleNameAmbiguous :: ModuleName -> ModuleIncluded ModuleIncluded :: ModuleName -> ModuleIncluded fileDescToModuleIncluded :: FileDesc -> ModuleIncluded data MergeModifyKind Modified :: MergeModifyKind Added :: MergeModifyKind Deleted :: MergeModifyKind TypeChanged :: MergeModifyKind data MergeModifyPair MergeModifyPair :: MergeModifyKind -> MergeModifyKind -> MergeModifyPair -- | A Git blob SHA in textual form. newtype BlobSHA BlobSHA :: Text -> BlobSHA unBlobSHA :: BlobSHA -> Text -- | A Git commit SHA in textual form. newtype CommitSHA CommitSHA :: Text -> CommitSHA unCommitSHA :: CommitSHA -> Text -- | A Git branch name, such as master, or merge/master. newtype BranchName BranchName :: Text -> BranchName unBranchName :: BranchName -> Text branchToRef :: BranchName -> Text branchFromRef :: Text -> BranchName isMergeBranch :: BranchName -> Bool mergeBranch :: BranchName -> BranchName mergeBranchOrigin :: BranchName -> Maybe BranchName -- | A reference to a specific commit, which can be done by several -- different means. data CommitName CommitByBranch :: BranchName -> CommitName CommitBySHA :: CommitSHA -> CommitName instance PersistFieldSql MergeModifyPair instance PersistField MergeModifyPair instance PersistFieldSql MergeModifyKind instance PersistField MergeModifyKind instance Typeable RunnerException instance Typeable Filters instance Typeable ByteString64 instance Typeable WrappedUTCTime instance Typeable ProjectId instance Typeable RunConfigId instance Typeable JobId instance Typeable CompileId instance Typeable ProcId instance Typeable GitShellId instance Typeable FormattedTime instance Typeable ModuleName instance Typeable ModuleStatus instance Typeable FileName instance Typeable EncFileName instance Typeable FileType instance Typeable FileDesc instance Typeable FileUpdate instance Typeable TargetUpdate instance Typeable UpdateActions instance Typeable SessionId instance Typeable CompileIdent instance Typeable CompileDesc instance Typeable MailboxId instance Typeable NewFileInfo instance Typeable RenameType instance Typeable TutorialConcurrentToken instance Typeable FayFileContent instance Typeable SaveFileOutput instance Typeable RenameFileOutput instance Typeable SourceSpan instance Typeable TypeInfo instance Typeable EitherSpan instance Typeable StatusHash instance Typeable CompileResult instance Typeable ProcessResult instance Typeable GitShellOutput instance Typeable LogLevel instance Typeable RunnerMessage instance Typeable SdistTarballInfo instance Typeable GitRepositoryStatus instance Typeable AutoCompleteInput instance Typeable PackageId instance Typeable ModuleId instance Typeable DefinitionSource instance Typeable IdInfo instance Typeable SearchResult instance Typeable PackageLink instance Typeable ModuleLink instance Typeable HoogleResult instance Typeable RunnerOpeningStatus instance Typeable SourceInfoKind instance Typeable InfoChunkTag instance Typeable SourceInfo instance Typeable ProcessStatusSnapshot instance Typeable PictureStatus instance Typeable RunnerPictureStatus instance Typeable UploadedBuild instance Typeable Progress instance Typeable RunnerBuildStatus instance Typeable RunnerCompileStatus instance Typeable ProjectStatusSnapshot instance Typeable ProjectMessagesOutput instance Typeable Approot instance Typeable VirtualHost instance Typeable ApprootPid instance Typeable Port instance Typeable1 ErrorsAnd instance Typeable ModuleIncluded instance Typeable MergeModifyKind instance Typeable MergeModifyPair instance Typeable BlobSHA instance Typeable CommitSHA instance Typeable GitHistoryItem instance Typeable BranchName instance Typeable CommitName instance Eq RunnerException instance Eq Filters instance Read Filters instance Show Filters instance Data Filters instance Ord Filters instance Generic Filters instance Eq ByteString64 instance Read ByteString64 instance Show ByteString64 instance Data ByteString64 instance Ord ByteString64 instance Serialize ByteString64 instance Generic ByteString64 instance Hashable ByteString64 instance Eq WrappedUTCTime instance Read WrappedUTCTime instance Show WrappedUTCTime instance Data WrappedUTCTime instance Ord WrappedUTCTime instance Serialize WrappedUTCTime instance Generic WrappedUTCTime instance Hashable WrappedUTCTime instance Eq ProjectId instance Read ProjectId instance Show ProjectId instance Data ProjectId instance Num ProjectId instance Enum ProjectId instance Bounded ProjectId instance Real ProjectId instance Integral ProjectId instance Ord ProjectId instance PathPiece ProjectId instance ToJSON ProjectId instance FromJSON ProjectId instance Serialize ProjectId instance Generic ProjectId instance Hashable ProjectId instance Eq RunConfigId instance Read RunConfigId instance Show RunConfigId instance Data RunConfigId instance Num RunConfigId instance Enum RunConfigId instance Bounded RunConfigId instance Real RunConfigId instance Integral RunConfigId instance Ord RunConfigId instance PathPiece RunConfigId instance ToJSON RunConfigId instance FromJSON RunConfigId instance Serialize RunConfigId instance Generic RunConfigId instance Hashable RunConfigId instance NFData RunConfigId instance Eq JobId instance Read JobId instance Show JobId instance Data JobId instance Num JobId instance Enum JobId instance Bounded JobId instance Real JobId instance Integral JobId instance Ord JobId instance PathPiece JobId instance ToJSON JobId instance FromJSON JobId instance Serialize JobId instance Generic JobId instance Hashable JobId instance NFData JobId instance Eq CompileId instance Read CompileId instance Show CompileId instance Data CompileId instance Num CompileId instance Enum CompileId instance Bounded CompileId instance Real CompileId instance Integral CompileId instance Ord CompileId instance PathPiece CompileId instance ToJSON CompileId instance FromJSON CompileId instance Serialize CompileId instance Generic CompileId instance Hashable CompileId instance NFData CompileId instance Eq ProcId instance Read ProcId instance Show ProcId instance Data ProcId instance Num ProcId instance Enum ProcId instance Bounded ProcId instance Real ProcId instance Integral ProcId instance Ord ProcId instance PathPiece ProcId instance ToJSON ProcId instance FromJSON ProcId instance Serialize ProcId instance Generic ProcId instance Hashable ProcId instance NFData ProcId instance Eq GitShellId instance Read GitShellId instance Show GitShellId instance Data GitShellId instance Num GitShellId instance Enum GitShellId instance Bounded GitShellId instance Real GitShellId instance Integral GitShellId instance Ord GitShellId instance PathPiece GitShellId instance ToJSON GitShellId instance FromJSON GitShellId instance Serialize GitShellId instance Generic GitShellId instance Hashable GitShellId instance NFData GitShellId instance Eq FormattedTime instance Read FormattedTime instance Show FormattedTime instance Data FormattedTime instance Ord FormattedTime instance PathPiece FormattedTime instance ToJSON FormattedTime instance FromJSON FormattedTime instance Serialize FormattedTime instance Generic FormattedTime instance Hashable FormattedTime instance NFData FormattedTime instance Eq ModuleName instance Read ModuleName instance Show ModuleName instance Data ModuleName instance Ord ModuleName instance PathPiece ModuleName instance ToJSON ModuleName instance FromJSON ModuleName instance Serialize ModuleName instance Generic ModuleName instance Hashable ModuleName instance NFData ModuleName instance Eq ModuleStatus instance Read ModuleStatus instance Show ModuleStatus instance Data ModuleStatus instance Ord ModuleStatus instance Generic ModuleStatus instance Eq FileName instance Read FileName instance Show FileName instance Data FileName instance Ord FileName instance Generic FileName instance Serialize FileName instance Hashable FileName instance Eq EncFileName instance Read EncFileName instance Show EncFileName instance Data EncFileName instance Ord EncFileName instance Generic EncFileName instance Eq FileType instance Read FileType instance Show FileType instance Data FileType instance Enum FileType instance Bounded FileType instance Ord FileType instance Generic FileType instance Eq FileDesc instance Read FileDesc instance Show FileDesc instance Data FileDesc instance Ord FileDesc instance Generic FileDesc instance Eq FileUpdate instance Read FileUpdate instance Show FileUpdate instance Data FileUpdate instance Ord FileUpdate instance Generic FileUpdate instance Eq TargetUpdate instance Read TargetUpdate instance Show TargetUpdate instance Data TargetUpdate instance Ord TargetUpdate instance Generic TargetUpdate instance Eq UpdateActions instance Read UpdateActions instance Show UpdateActions instance Data UpdateActions instance Ord UpdateActions instance Generic UpdateActions instance Eq SessionId instance Read SessionId instance Show SessionId instance Data SessionId instance Generic SessionId instance NFData SessionId instance Eq CompileIdent instance Read CompileIdent instance Show CompileIdent instance Data CompileIdent instance Generic CompileIdent instance Eq CompileDesc instance Read CompileDesc instance Show CompileDesc instance Data CompileDesc instance Generic CompileDesc instance Eq MailboxId instance Read MailboxId instance Show MailboxId instance Data MailboxId instance Generic MailboxId instance NFData MailboxId instance Read NewFileInfo instance Data NewFileInfo instance Show NewFileInfo instance Eq NewFileInfo instance Read RenameType instance Data RenameType instance Show RenameType instance Eq RenameType instance Eq TutorialConcurrentToken instance Show TutorialConcurrentToken instance Data TutorialConcurrentToken instance Read TutorialConcurrentToken instance Num TutorialConcurrentToken instance Ord TutorialConcurrentToken instance Generic TutorialConcurrentToken instance ToJSON TutorialConcurrentToken instance FromJSON TutorialConcurrentToken instance Serialize TutorialConcurrentToken instance Hashable TutorialConcurrentToken instance PersistField TutorialConcurrentToken instance Random TutorialConcurrentToken instance Read FayFileContent instance Data FayFileContent instance Show FayFileContent instance Eq FayFileContent instance Read SaveFileOutput instance Data SaveFileOutput instance Show SaveFileOutput instance Eq SaveFileOutput instance Read RenameFileOutput instance Data RenameFileOutput instance Show RenameFileOutput instance Eq RenameFileOutput instance Read SourceSpan instance Data SourceSpan instance Show SourceSpan instance Eq SourceSpan instance Ord SourceSpan instance Generic SourceSpan instance Eq TypeInfo instance Read TypeInfo instance Show TypeInfo instance Data TypeInfo instance Ord TypeInfo instance Generic TypeInfo instance Read EitherSpan instance Data EitherSpan instance Show EitherSpan instance Eq EitherSpan instance Ord EitherSpan instance Generic EitherSpan instance Eq StatusHash instance Read StatusHash instance Show StatusHash instance Data StatusHash instance Ord StatusHash instance PathPiece StatusHash instance ToJSON StatusHash instance FromJSON StatusHash instance Serialize StatusHash instance Generic StatusHash instance Hashable StatusHash instance NFData StatusHash instance Eq CompileResult instance Read CompileResult instance Show CompileResult instance Data CompileResult instance Ord CompileResult instance Generic CompileResult instance Eq ProcessResult instance Read ProcessResult instance Show ProcessResult instance Data ProcessResult instance Ord ProcessResult instance Generic ProcessResult instance Eq GitShellOutput instance Read GitShellOutput instance Show GitShellOutput instance Data GitShellOutput instance Generic GitShellOutput instance Eq LogLevel instance Read LogLevel instance Show LogLevel instance Data LogLevel instance Ord LogLevel instance Generic LogLevel instance Eq RunnerMessage instance Read RunnerMessage instance Show RunnerMessage instance Data RunnerMessage instance Generic RunnerMessage instance Read SdistTarballInfo instance Data SdistTarballInfo instance Show SdistTarballInfo instance Eq SdistTarballInfo instance Ord SdistTarballInfo instance Generic SdistTarballInfo instance Eq GitRepositoryStatus instance Read GitRepositoryStatus instance Show GitRepositoryStatus instance Data GitRepositoryStatus instance Ord GitRepositoryStatus instance Generic GitRepositoryStatus instance Eq AutoCompleteInput instance Read AutoCompleteInput instance Show AutoCompleteInput instance Data AutoCompleteInput instance Ord AutoCompleteInput instance Generic AutoCompleteInput instance Eq PackageId instance Read PackageId instance Show PackageId instance Data PackageId instance Ord PackageId instance Generic PackageId instance Eq ModuleId instance Read ModuleId instance Show ModuleId instance Data ModuleId instance Ord ModuleId instance Generic ModuleId instance Eq DefinitionSource instance Read DefinitionSource instance Show DefinitionSource instance Data DefinitionSource instance Ord DefinitionSource instance Generic DefinitionSource instance Eq IdInfo instance Read IdInfo instance Show IdInfo instance Data IdInfo instance Ord IdInfo instance Generic IdInfo instance Eq SearchResult instance Read SearchResult instance Show SearchResult instance Data SearchResult instance Ord SearchResult instance Generic SearchResult instance Eq PackageLink instance Read PackageLink instance Show PackageLink instance Data PackageLink instance Ord PackageLink instance Generic PackageLink instance Eq ModuleLink instance Read ModuleLink instance Show ModuleLink instance Data ModuleLink instance Ord ModuleLink instance Generic ModuleLink instance Eq HoogleResult instance Read HoogleResult instance Show HoogleResult instance Data HoogleResult instance Ord HoogleResult instance Generic HoogleResult instance Eq RunnerOpeningStatus instance Read RunnerOpeningStatus instance Show RunnerOpeningStatus instance Data RunnerOpeningStatus instance Ord RunnerOpeningStatus instance Generic RunnerOpeningStatus instance Read SourceInfoKind instance Data SourceInfoKind instance Show SourceInfoKind instance Eq SourceInfoKind instance Ord SourceInfoKind instance Generic SourceInfoKind instance Read InfoChunkTag instance Data InfoChunkTag instance Show InfoChunkTag instance Eq InfoChunkTag instance Ord InfoChunkTag instance Generic InfoChunkTag instance Read SourceInfo instance Data SourceInfo instance Show SourceInfo instance Eq SourceInfo instance Ord SourceInfo instance Generic SourceInfo instance Read ProcessStatusSnapshot instance Data ProcessStatusSnapshot instance Show ProcessStatusSnapshot instance Eq ProcessStatusSnapshot instance Ord ProcessStatusSnapshot instance Generic ProcessStatusSnapshot instance Eq PictureStatus instance Show PictureStatus instance Generic PictureStatus instance Data PictureStatus instance Ord PictureStatus instance Read PictureStatus instance Eq RunnerPictureStatus instance Read RunnerPictureStatus instance Show RunnerPictureStatus instance Data RunnerPictureStatus instance Generic RunnerPictureStatus instance Ord RunnerPictureStatus instance Eq UploadedBuild instance Read UploadedBuild instance Show UploadedBuild instance Data UploadedBuild instance Ord UploadedBuild instance Generic UploadedBuild instance Eq Progress instance Read Progress instance Show Progress instance Data Progress instance Ord Progress instance Generic Progress instance Eq RunnerBuildStatus instance Read RunnerBuildStatus instance Show RunnerBuildStatus instance Data RunnerBuildStatus instance Ord RunnerBuildStatus instance Generic RunnerBuildStatus instance Eq RunnerCompileStatus instance Read RunnerCompileStatus instance Show RunnerCompileStatus instance Data RunnerCompileStatus instance Generic RunnerCompileStatus instance Eq ProjectStatusSnapshot instance Read ProjectStatusSnapshot instance Show ProjectStatusSnapshot instance Data ProjectStatusSnapshot instance Generic ProjectStatusSnapshot instance Eq ProjectMessagesOutput instance Read ProjectMessagesOutput instance Show ProjectMessagesOutput instance Data ProjectMessagesOutput instance Generic ProjectMessagesOutput instance Eq Approot instance Read Approot instance Show Approot instance Data Approot instance Ord Approot instance PathPiece Approot instance ToJSON Approot instance FromJSON Approot instance Serialize Approot instance Generic Approot instance Hashable Approot instance NFData Approot instance Eq VirtualHost instance Read VirtualHost instance Show VirtualHost instance Data VirtualHost instance Ord VirtualHost instance PathPiece VirtualHost instance ToJSON VirtualHost instance FromJSON VirtualHost instance Serialize VirtualHost instance Generic VirtualHost instance Hashable VirtualHost instance Read ApprootPid instance Data ApprootPid instance Show ApprootPid instance Eq ApprootPid instance Eq Port instance Read Port instance Show Port instance Data Port instance Num Port instance Enum Port instance Bounded Port instance Real Port instance Integral Port instance Ord Port instance PathPiece Port instance ToJSON Port instance FromJSON Port instance Serialize Port instance Generic Port instance Hashable Port instance NFData Port instance Read x => Read (ErrorsAnd x) instance Data x => Data (ErrorsAnd x) instance Show x => Show (ErrorsAnd x) instance Eq x => Eq (ErrorsAnd x) instance Read ModuleIncluded instance Data ModuleIncluded instance Show ModuleIncluded instance Eq ModuleIncluded instance Eq MergeModifyKind instance Read MergeModifyKind instance Show MergeModifyKind instance Data MergeModifyKind instance Ord MergeModifyKind instance Generic MergeModifyKind instance Eq MergeModifyPair instance Read MergeModifyPair instance Show MergeModifyPair instance Data MergeModifyPair instance Ord MergeModifyPair instance Generic MergeModifyPair instance Eq BlobSHA instance Read BlobSHA instance Show BlobSHA instance Data BlobSHA instance Ord BlobSHA instance Serialize BlobSHA instance Generic BlobSHA instance Hashable BlobSHA instance ToJSON BlobSHA instance FromJSON BlobSHA instance PathPiece BlobSHA instance PersistField BlobSHA instance ToMarkup BlobSHA instance ToMessage BlobSHA instance Eq CommitSHA instance Read CommitSHA instance Show CommitSHA instance Data CommitSHA instance Ord CommitSHA instance Serialize CommitSHA instance Generic CommitSHA instance Hashable CommitSHA instance NFData CommitSHA instance ToJSON CommitSHA instance FromJSON CommitSHA instance PathPiece CommitSHA instance PersistField CommitSHA instance ToMarkup CommitSHA instance ToMessage CommitSHA instance Read GitHistoryItem instance Data GitHistoryItem instance Show GitHistoryItem instance Eq GitHistoryItem instance Ord GitHistoryItem instance Generic GitHistoryItem instance Eq BranchName instance Read BranchName instance Show BranchName instance Data BranchName instance Ord BranchName instance Serialize BranchName instance Generic BranchName instance Hashable BranchName instance ToJSON BranchName instance FromJSON BranchName instance PathPiece BranchName instance Eq CommitName instance Read CommitName instance Show CommitName instance Data CommitName instance Ord CommitName instance Generic CommitName instance Datatype D1Filters instance Constructor C1_0Filters instance Selector S1_0_0Filters instance Selector S1_0_1Filters instance Datatype D1ByteString64 instance Constructor C1_0ByteString64 instance Selector S1_0_0ByteString64 instance Datatype D1WrappedUTCTime instance Constructor C1_0WrappedUTCTime instance Selector S1_0_0WrappedUTCTime instance Datatype D1ProjectId instance Constructor C1_0ProjectId instance Selector S1_0_0ProjectId instance Datatype D1RunConfigId instance Constructor C1_0RunConfigId instance Selector S1_0_0RunConfigId instance Datatype D1JobId instance Constructor C1_0JobId instance Selector S1_0_0JobId instance Datatype D1CompileId instance Constructor C1_0CompileId instance Selector S1_0_0CompileId instance Datatype D1ProcId instance Constructor C1_0ProcId instance Selector S1_0_0ProcId instance Datatype D1GitShellId instance Constructor C1_0GitShellId instance Selector S1_0_0GitShellId instance Datatype D1FormattedTime instance Constructor C1_0FormattedTime instance Selector S1_0_0FormattedTime instance Datatype D1ModuleName instance Constructor C1_0ModuleName instance Selector S1_0_0ModuleName instance Datatype D1ModuleStatus instance Constructor C1_0ModuleStatus instance Constructor C1_1ModuleStatus instance Constructor C1_2ModuleStatus instance Constructor C1_3ModuleStatus instance Constructor C1_4ModuleStatus instance Constructor C1_5ModuleStatus instance Datatype D1FileName instance Constructor C1_0FileName instance Selector S1_0_0FileName instance Datatype D1EncFileName instance Constructor C1_0EncFileName instance Constructor C1_1EncFileName instance Selector S1_0_0EncFileName instance Selector S1_1_0EncFileName instance Selector S1_1_1EncFileName instance Datatype D1FileType instance Constructor C1_0FileType instance Constructor C1_1FileType instance Datatype D1FileDesc instance Constructor C1_0FileDesc instance Selector S1_0_0FileDesc instance Selector S1_0_1FileDesc instance Selector S1_0_2FileDesc instance Selector S1_0_3FileDesc instance Datatype D1FileUpdate instance Constructor C1_0FileUpdate instance Constructor C1_1FileUpdate instance Datatype D1TargetUpdate instance Constructor C1_0TargetUpdate instance Constructor C1_1TargetUpdate instance Datatype D1UpdateActions instance Constructor C1_0UpdateActions instance Selector S1_0_0UpdateActions instance Selector S1_0_1UpdateActions instance Datatype D1SessionId instance Constructor C1_0SessionId instance Datatype D1CompileIdent instance Constructor C1_0CompileIdent instance Selector S1_0_0CompileIdent instance Selector S1_0_1CompileIdent instance Datatype D1CompileDesc instance Constructor C1_0CompileDesc instance Selector S1_0_0CompileDesc instance Selector S1_0_1CompileDesc instance Selector S1_0_2CompileDesc instance Datatype D1MailboxId instance Constructor C1_0MailboxId instance Datatype D1TutorialConcurrentToken instance Constructor C1_0TutorialConcurrentToken instance Selector S1_0_0TutorialConcurrentToken instance Datatype D1SourceSpan instance Constructor C1_0SourceSpan instance Selector S1_0_0SourceSpan instance Selector S1_0_1SourceSpan instance Selector S1_0_2SourceSpan instance Selector S1_0_3SourceSpan instance Selector S1_0_4SourceSpan instance Datatype D1TypeInfo instance Constructor C1_0TypeInfo instance Datatype D1EitherSpan instance Constructor C1_0EitherSpan instance Constructor C1_1EitherSpan instance Datatype D1StatusHash instance Constructor C1_0StatusHash instance Selector S1_0_0StatusHash instance Datatype D1CompileResult instance Constructor C1_0CompileResult instance Constructor C1_1CompileResult instance Constructor C1_2CompileResult instance Constructor C1_3CompileResult instance Datatype D1ProcessResult instance Constructor C1_0ProcessResult instance Constructor C1_1ProcessResult instance Constructor C1_2ProcessResult instance Constructor C1_3ProcessResult instance Constructor C1_4ProcessResult instance Constructor C1_5ProcessResult instance Constructor C1_6ProcessResult instance Datatype D1GitShellOutput instance Constructor C1_0GitShellOutput instance Constructor C1_1GitShellOutput instance Constructor C1_2GitShellOutput instance Datatype D1LogLevel instance Constructor C1_0LogLevel instance Constructor C1_1LogLevel instance Constructor C1_2LogLevel instance Constructor C1_3LogLevel instance Constructor C1_4LogLevel instance Datatype D1RunnerMessage instance Constructor C1_0RunnerMessage instance Constructor C1_1RunnerMessage instance Constructor C1_2RunnerMessage instance Constructor C1_3RunnerMessage instance Constructor C1_4RunnerMessage instance Constructor C1_5RunnerMessage instance Constructor C1_6RunnerMessage instance Constructor C1_7RunnerMessage instance Constructor C1_8RunnerMessage instance Constructor C1_9RunnerMessage instance Datatype D1SdistTarballInfo instance Constructor C1_0SdistTarballInfo instance Selector S1_0_0SdistTarballInfo instance Selector S1_0_1SdistTarballInfo instance Datatype D1GitRepositoryStatus instance Constructor C1_0GitRepositoryStatus instance Constructor C1_1GitRepositoryStatus instance Constructor C1_2GitRepositoryStatus instance Datatype D1AutoCompleteInput instance Constructor C1_0AutoCompleteInput instance Selector S1_0_0AutoCompleteInput instance Selector S1_0_1AutoCompleteInput instance Datatype D1PackageId instance Constructor C1_0PackageId instance Selector S1_0_0PackageId instance Selector S1_0_1PackageId instance Datatype D1ModuleId instance Constructor C1_0ModuleId instance Datatype D1DefinitionSource instance Constructor C1_0DefinitionSource instance Constructor C1_1DefinitionSource instance Constructor C1_2DefinitionSource instance Constructor C1_3DefinitionSource instance Constructor C1_4DefinitionSource instance Datatype D1IdInfo instance Constructor C1_0IdInfo instance Constructor C1_1IdInfo instance Selector S1_1_0IdInfo instance Selector S1_1_1IdInfo instance Datatype D1SearchResult instance Constructor C1_0SearchResult instance Datatype D1PackageLink instance Constructor C1_0PackageLink instance Selector S1_0_0PackageLink instance Selector S1_0_1PackageLink instance Datatype D1ModuleLink instance Constructor C1_0ModuleLink instance Selector S1_0_0ModuleLink instance Selector S1_0_1ModuleLink instance Datatype D1HoogleResult instance Constructor C1_0HoogleResult instance Selector S1_0_0HoogleResult instance Selector S1_0_1HoogleResult instance Selector S1_0_2HoogleResult instance Selector S1_0_3HoogleResult instance Datatype D1RunnerOpeningStatus instance Constructor C1_0RunnerOpeningStatus instance Constructor C1_1RunnerOpeningStatus instance Datatype D1SourceInfoKind instance Constructor C1_0SourceInfoKind instance Constructor C1_1SourceInfoKind instance Constructor C1_2SourceInfoKind instance Constructor C1_3SourceInfoKind instance Datatype D1InfoChunkTag instance Constructor C1_0InfoChunkTag instance Constructor C1_1InfoChunkTag instance Constructor C1_2InfoChunkTag instance Constructor C1_3InfoChunkTag instance Constructor C1_4InfoChunkTag instance Constructor C1_5InfoChunkTag instance Datatype D1SourceInfo instance Constructor C1_0SourceInfo instance Selector S1_0_0SourceInfo instance Selector S1_0_1SourceInfo instance Selector S1_0_2SourceInfo instance Datatype D1ProcessStatusSnapshot instance Constructor C1_0ProcessStatusSnapshot instance Constructor C1_1ProcessStatusSnapshot instance Datatype D1PictureStatus instance Constructor C1_0PictureStatus instance Selector S1_0_0PictureStatus instance Selector S1_0_1PictureStatus instance Selector S1_0_2PictureStatus instance Datatype D1RunnerPictureStatus instance Constructor C1_0RunnerPictureStatus instance Datatype D1UploadedBuild instance Constructor C1_0UploadedBuild instance Selector S1_0_0UploadedBuild instance Selector S1_0_1UploadedBuild instance Datatype D1Progress instance Constructor C1_0Progress instance Selector S1_0_0Progress instance Selector S1_0_1Progress instance Selector S1_0_2Progress instance Datatype D1RunnerBuildStatus instance Constructor C1_0RunnerBuildStatus instance Constructor C1_1RunnerBuildStatus instance Constructor C1_2RunnerBuildStatus instance Datatype D1RunnerCompileStatus instance Constructor C1_0RunnerCompileStatus instance Constructor C1_1RunnerCompileStatus instance Constructor C1_2RunnerCompileStatus instance Datatype D1ProjectStatusSnapshot instance Constructor C1_0ProjectStatusSnapshot instance Selector S1_0_0ProjectStatusSnapshot instance Selector S1_0_1ProjectStatusSnapshot instance Selector S1_0_2ProjectStatusSnapshot instance Selector S1_0_3ProjectStatusSnapshot instance Selector S1_0_4ProjectStatusSnapshot instance Selector S1_0_5ProjectStatusSnapshot instance Selector S1_0_6ProjectStatusSnapshot instance Selector S1_0_7ProjectStatusSnapshot instance Datatype D1ProjectMessagesOutput instance Constructor C1_0ProjectMessagesOutput instance Selector S1_0_0ProjectMessagesOutput instance Selector S1_0_1ProjectMessagesOutput instance Selector S1_0_2ProjectMessagesOutput instance Selector S1_0_3ProjectMessagesOutput instance Selector S1_0_4ProjectMessagesOutput instance Datatype D1Approot instance Constructor C1_0Approot instance Selector S1_0_0Approot instance Datatype D1VirtualHost instance Constructor C1_0VirtualHost instance Selector S1_0_0VirtualHost instance Datatype D1Port instance Constructor C1_0Port instance Selector S1_0_0Port instance Datatype D1MergeModifyKind instance Constructor C1_0MergeModifyKind instance Constructor C1_1MergeModifyKind instance Constructor C1_2MergeModifyKind instance Constructor C1_3MergeModifyKind instance Datatype D1MergeModifyPair instance Constructor C1_0MergeModifyPair instance Datatype D1BlobSHA instance Constructor C1_0BlobSHA instance Selector S1_0_0BlobSHA instance Datatype D1CommitSHA instance Constructor C1_0CommitSHA instance Selector S1_0_0CommitSHA instance Datatype D1GitHistoryItem instance Constructor C1_0GitHistoryItem instance Selector S1_0_0GitHistoryItem instance Selector S1_0_1GitHistoryItem instance Selector S1_0_2GitHistoryItem instance Selector S1_0_3GitHistoryItem instance Datatype D1BranchName instance Constructor C1_0BranchName instance Selector S1_0_0BranchName instance Datatype D1CommitName instance Constructor C1_0CommitName instance Constructor C1_1CommitName instance FromJSON CommitName instance ToJSON CommitName instance Hashable CommitName instance Serialize CommitName instance PersistFieldSql CommitSHA instance PersistFieldSql BlobSHA instance Hashable MergeModifyPair instance Serialize MergeModifyPair instance FromJSON MergeModifyPair instance ToJSON MergeModifyPair instance Hashable MergeModifyKind instance Serialize MergeModifyKind instance FromJSON MergeModifyKind instance ToJSON MergeModifyKind instance NFData Progress instance Hashable Progress instance Serialize Progress instance FromJSON Progress instance ToJSON Progress instance NFData UploadedBuild instance Hashable UploadedBuild instance Serialize UploadedBuild instance FromJSON UploadedBuild instance ToJSON UploadedBuild instance Monoid RunnerBuildStatus instance FromJSON RunnerBuildStatus instance ToJSON RunnerBuildStatus instance NFData RunnerBuildStatus instance Hashable RunnerBuildStatus instance Serialize RunnerBuildStatus instance NFData PictureStatus instance Hashable PictureStatus instance Serialize PictureStatus instance FromJSON PictureStatus instance ToJSON PictureStatus instance Monoid RunnerPictureStatus instance NFData RunnerPictureStatus instance Hashable RunnerPictureStatus instance Serialize RunnerPictureStatus instance FromJSON RunnerPictureStatus instance ToJSON RunnerPictureStatus instance NFData ProcessStatusSnapshot instance Hashable ProcessStatusSnapshot instance Serialize ProcessStatusSnapshot instance FromJSON ProcessStatusSnapshot instance ToJSON ProcessStatusSnapshot instance NFData InfoChunkTag instance Hashable InfoChunkTag instance Serialize InfoChunkTag instance FromJSON InfoChunkTag instance ToJSON InfoChunkTag instance NFData SourceInfoKind instance Hashable SourceInfoKind instance Serialize SourceInfoKind instance FromJSON SourceInfoKind instance ToJSON SourceInfoKind instance NFData SourceInfo instance Hashable SourceInfo instance Serialize SourceInfo instance FromJSON SourceInfo instance ToJSON SourceInfo instance Monoid RunnerCompileStatus instance NFData RunnerCompileStatus instance Hashable RunnerCompileStatus instance Serialize RunnerCompileStatus instance FromJSON RunnerCompileStatus instance ToJSON RunnerCompileStatus instance FromJSON RunnerOpeningStatus instance ToJSON RunnerOpeningStatus instance Monoid RunnerOpeningStatus instance NFData RunnerOpeningStatus instance Hashable RunnerOpeningStatus instance Serialize RunnerOpeningStatus instance NFData ModuleLink instance Hashable ModuleLink instance Serialize ModuleLink instance FromJSON ModuleLink instance ToJSON ModuleLink instance NFData PackageLink instance Hashable PackageLink instance Serialize PackageLink instance FromJSON PackageLink instance ToJSON PackageLink instance NFData HoogleResult instance Hashable HoogleResult instance Serialize HoogleResult instance FromJSON HoogleResult instance ToJSON HoogleResult instance NFData SearchResult instance Hashable SearchResult instance Serialize SearchResult instance FromJSON SearchResult instance ToJSON SearchResult instance NFData PackageId instance Hashable PackageId instance Serialize PackageId instance FromJSON PackageId instance ToJSON PackageId instance NFData AutoCompleteInput instance Hashable AutoCompleteInput instance Serialize AutoCompleteInput instance FromJSON AutoCompleteInput instance ToJSON AutoCompleteInput instance NFData ModuleId instance Hashable ModuleId instance Serialize ModuleId instance FromJSON ModuleId instance ToJSON ModuleId instance NFData DefinitionSource instance Hashable DefinitionSource instance Serialize DefinitionSource instance FromJSON DefinitionSource instance ToJSON DefinitionSource instance NFData IdInfo instance Hashable IdInfo instance Serialize IdInfo instance FromJSON IdInfo instance ToJSON IdInfo instance NFData ProjectStatusSnapshot instance Hashable ProjectStatusSnapshot instance Serialize ProjectStatusSnapshot instance FromJSON ProjectStatusSnapshot instance ToJSON ProjectStatusSnapshot instance NFData GitRepositoryStatus instance Hashable GitRepositoryStatus instance Serialize GitRepositoryStatus instance FromJSON GitRepositoryStatus instance ToJSON GitRepositoryStatus instance NFData GitHistoryItem instance Hashable GitHistoryItem instance Serialize GitHistoryItem instance FromJSON GitHistoryItem instance ToJSON GitHistoryItem instance NFData SdistTarballInfo instance Hashable SdistTarballInfo instance Serialize SdistTarballInfo instance FromJSON SdistTarballInfo instance ToJSON SdistTarballInfo instance NFData LogLevel instance Hashable LogLevel instance Serialize LogLevel instance FromJSON LogLevel instance ToJSON LogLevel instance NFData RunnerMessage instance Hashable RunnerMessage instance Serialize RunnerMessage instance FromJSON RunnerMessage instance ToJSON RunnerMessage instance NFData GitShellOutput instance Hashable GitShellOutput instance Serialize GitShellOutput instance FromJSON GitShellOutput instance ToJSON GitShellOutput instance NFData ProcessResult instance Hashable ProcessResult instance Serialize ProcessResult instance FromJSON ProcessResult instance ToJSON ProcessResult instance NFData CompileResult instance Hashable CompileResult instance Serialize CompileResult instance FromJSON CompileResult instance ToJSON CompileResult instance NFData ProjectMessagesOutput instance Hashable ProjectMessagesOutput instance Serialize ProjectMessagesOutput instance FromJSON ProjectMessagesOutput instance ToJSON ProjectMessagesOutput instance NFData EitherSpan instance Hashable EitherSpan instance Serialize EitherSpan instance FromJSON EitherSpan instance ToJSON EitherSpan instance NFData SourceSpan instance Hashable SourceSpan instance Serialize SourceSpan instance FromJSON SourceSpan instance ToJSON SourceSpan instance NFData TypeInfo instance Hashable TypeInfo instance Serialize TypeInfo instance FromJSON TypeInfo instance ToJSON TypeInfo instance PersistFieldSql TutorialConcurrentToken instance Default TutorialConcurrentToken instance Hashable MailboxId instance Serialize MailboxId instance FromJSON MailboxId instance ToJSON MailboxId instance Hashable SessionId instance Serialize SessionId instance FromJSON SessionId instance ToJSON SessionId instance NFData CompileIdent instance Hashable CompileIdent instance Serialize CompileIdent instance FromJSON CompileIdent instance ToJSON CompileIdent instance Semigroup CompileDesc instance Hashable CompileDesc instance Serialize CompileDesc instance FromJSON CompileDesc instance ToJSON CompileDesc instance Monoid UpdateActions instance Semigroup UpdateActions instance Hashable UpdateActions instance Serialize UpdateActions instance FromJSON UpdateActions instance ToJSON UpdateActions instance Hashable TargetUpdate instance Serialize TargetUpdate instance FromJSON TargetUpdate instance ToJSON TargetUpdate instance Hashable FileUpdate instance Serialize FileUpdate instance FromJSON FileUpdate instance ToJSON FileUpdate instance Hashable FileDesc instance Serialize FileDesc instance FromJSON FileDesc instance ToJSON FileDesc instance Hashable FileType instance Serialize FileType instance FromJSON FileType instance ToJSON FileType instance NFData EncFileName instance Hashable EncFileName instance Serialize EncFileName instance FromJSON EncFileName instance ToJSON EncFileName instance FromJSON FileName instance ToJSON FileName instance Hashable ModuleStatus instance Serialize ModuleStatus instance FromJSON ModuleStatus instance ToJSON ModuleStatus instance Serialize Text instance FromJSON WrappedUTCTime instance ToJSON WrappedUTCTime instance Hashable UTCTime instance Serialize UTCTime instance FromJSON ByteString64 instance ToJSON ByteString64 instance Hashable Filters instance Serialize Filters instance FromJSON Filters instance ToJSON Filters instance Exception RunnerException instance Show RunnerException module FP.API.Types data ProjectState Workspaces :: ProjectState UserState :: ProjectState type Returns' a = Returns (CanFail a) data CanFail a Success :: (Automatic a) -> CanFail a Failure :: Text -> CanFail a newtype CanFailT m a CanFailT :: m (CanFail a) -> CanFailT m a runCanFailT :: CanFailT m a -> m (CanFail a) type MonadFail m = MonadIO m failure :: MonadFail m => Text -> m a mapCanFailT :: (m (CanFail a) -> n (CanFail b)) -> CanFailT m a -> CanFailT n b eitherFail :: MonadFail m => m (Either Text a) -> m a eitherToCanFail :: Show e => Either e a -> CanFail a -- | Try the given action, returning a Failure if it throw a -- RunnerException, otherwise returning Success or propagation any -- exceptions. tryOrFail :: (MonadBaseControl IO m, MonadFail m) => m a -> m (CanFail a) maybeFail :: MonadFail m => Text -> m (Maybe a) -> m a data RunnerProjectClosed RunnerProjectClosed :: (Maybe SessionId) -> RunnerProjectClosed data GetProjectMessages GetProjectMessages :: ProjectMessagesRequest -> (Returns' ProjectMessagesOutput) -> GetProjectMessages data ProjectMessagesRequest PMRFirstRequest :: ProjectMessagesRequest -- | The message sequence number and status hash we last got back. PMRLaterRequest :: Integer -> StatusHash -> MailboxId -> ProjectMessagesRequest data IdeCommand GetInitialProjectInfo :: Text -> (Returns' InitialProjectInfo) -> IdeCommand ReparseProjectSettings :: (Returns' (Maybe RunnerProjectClosed)) -> IdeCommand SetSettings :: SetSettingsInput -> (Returns' (Either CompileIdent RunnerProjectClosed)) -> IdeCommand SetPublic :: Bool -> (Returns' ()) -> IdeCommand GetPublic :: (Returns' Bool) -> IdeCommand SetProjectMetadata :: Text -> Text -> (Returns' ()) -> IdeCommand SaveProjectState :: ProjectState -> Text -> (Returns' ()) -> IdeCommand DeleteProject :: Text -> (Returns' ()) -> IdeCommand ResetProjectSettings :: Text -> (Returns' RunnerProjectClosed) -> IdeCommand SdistTarball :: (Returns' (Either Text SdistTarballInfo)) -> IdeCommand RestartBackend :: Text -> (Returns' RunnerProjectClosed) -> IdeCommand GenerateHaddocks :: (Returns' Text) -> IdeCommand Ping :: (Returns' ()) -> IdeCommand AddFile :: NewFileInfo -> (Returns' SaveFileOutput) -> IdeCommand SaveFile :: EncFileName -> Text -> FayTutorialToken -> (Returns' SaveFileOutput) -> IdeCommand DeleteFile :: EncFileName -> (Returns' (Maybe CompileDesc)) -> IdeCommand RenameFile :: EncFileName -> NewFileInfo -> RenameType -> (Returns' RenameFileOutput) -> IdeCommand GetFile :: EncFileName -> (Returns' FayFileContent) -> IdeCommand GetFileToken :: EncFileName -> (Returns' FayTutorialToken) -> IdeCommand GetAllFiles :: (Returns' [FileDesc]) -> IdeCommand SetModuleExclusion :: EncFileName -> Bool -> (Returns' (Maybe CompileDesc)) -> IdeCommand ReformatModule :: EncFileName -> (Returns' (Maybe CompileDesc)) -> IdeCommand RenderFileMarkdown :: EncFileName -> (Returns' HtmlReply) -> IdeCommand GetTypeInfo :: SourceSpan -> (Returns' (Maybe TypeInfo)) -> IdeCommand GetTypeInfoDominators :: SourceSpan -> (Returns' [TypeInfo]) -> IdeCommand GetFindUsages :: SourceSpan -> (Returns' [SearchResult]) -> IdeCommand GetDefinitionSource :: SourceSpan -> (Returns' IdInfo) -> IdeCommand GetAutocompletions :: AutoCompleteInput -> (Returns' [Text]) -> IdeCommand -- | module context, is it exact?, number to query, offset in result, -- number to yield, query contents IdeHoogleSearch :: (Maybe EncFileName) -> Bool -> Int -> Int -> Int -> Text -> (Returns' (Text, [HoogleResult], Maybe Int)) -> IdeCommand -- | query, offset, limit, case sensitive? SearchProject :: SearchQuery -> Int -> Int -> Bool -> (Returns' [SearchResult]) -> IdeCommand SetTarget :: (Maybe (Either EncFileName RunConfigId)) -> (Returns' (Maybe CompileDesc)) -> IdeCommand GetTarget :: (Returns' (Maybe (Either EncFileName RunConfigId))) -> IdeCommand -- | True == run compiled code, False == run bytecode jww (2014-02-04): -- Make these use the current target. RunTarget :: Bool -> (Returns' ProcId) -> IdeCommand -- | module to compile and extra files to include in tarball CompileBinary :: EncFileName -> [(Text, Text)] -> (Returns' UploadedBuild) -> IdeCommand GetGitHistory :: Int -> Int -> (Returns' [GitHistoryItem]) -> IdeCommand IsProjectDirty :: (Returns' Bool) -> IdeCommand SetRoot :: Text -> Text -> (Returns' CompileDesc) -> IdeCommand SetRemotes :: RemotesList -> (Returns' ()) -> IdeCommand GetGitConfig :: Text -> (Returns' Text) -> IdeCommand SetGitConfig :: Text -> Text -> (Returns' ()) -> IdeCommand -- | Text == Log message GitCommit :: Text -> (Returns' CommitSHA) -> IdeCommand GitReset :: (Returns' RunnerProjectClosed) -> IdeCommand -- | Text == URL GitPush :: Text -> (Returns' GitPushResult) -> IdeCommand -- | Text == URL GitPushIgnoreDirty :: Text -> (Returns' ()) -> IdeCommand -- | Text == URL GitPull :: Text -> (Returns' GitPullResult) -> IdeCommand -- | Text == URL GitMergeAbort :: (Returns' RunnerProjectClosed) -> IdeCommand -- | Text == URL, Msg GitMergeDone :: MaybeText -> (Returns' GitResolvedResult) -> IdeCommand GitResolveFile :: EncFileName -> (Returns' ()) -> IdeCommand GitDiff :: (Returns' Text) -> IdeCommand StartGitShell :: (Returns' GitShellId) -> IdeCommand GitShellInput :: GitShellId -> Text -> (Returns' ()) -> IdeCommand ApplyGitShell :: GitShellId -> (Returns' RunnerProjectClosed) -> IdeCommand CancelGitShell :: GitShellId -> (Returns' ()) -> IdeCommand CreateBranch :: BranchName -> CommitName -> (Returns' ()) -> IdeCommand DeleteBranch :: BranchName -> (Returns' ()) -> IdeCommand CheckoutBranch :: BranchName -> (Returns' GitCheckoutResult) -> IdeCommand RenameRefactoring :: SourceSpan -> Text -> RefactoringContext -> (Returns' RefactoringOutput) -> IdeCommand ExtractRefactoring :: SourceSpan -> Text -> RefactoringContext -> (Returns' RefactoringOutput) -> IdeCommand GetKeterYaml :: FayDeploymentId -> ModuleName -> (Returns' KeterYaml) -> IdeCommand SetRunConfigs :: [(RunConfigId, RunConfig)] -> (Returns' ()) -> IdeCommand SetDeployments :: [(FayDeploymentId, Deployment)] -> (Returns' ()) -> IdeCommand GetNewRunConfig :: (Returns' NewRunConfig) -> IdeCommand GetNewDeployment :: (Returns' NewDeployment) -> IdeCommand GetNewWebApp :: FayDeploymentId -> (Returns' NewWebApp) -> IdeCommand GetNewBgJob :: FayDeploymentId -> (Returns' NewBgJob) -> IdeCommand CheckHostName :: Text -> (Returns' UseHostName) -> IdeCommand GetRandomHostName :: (Returns' RandomHostName) -> IdeCommand GetDeploymentManagerInfo :: (Returns' DeploymentManagerInfo) -> IdeCommand -- | Bool == whether the stdin was successfully delivered PutStdin :: ProcId -> Text -> (Returns' Bool) -> IdeCommand StopRunningCode :: (Returns' ()) -> IdeCommand -- | Text == GHC environment, Just result gives a failure StartInteractive :: [FileToRun] -> (Returns' (ErrorsAnd ProcId)) -> IdeCommand StartInteractiveWeb :: [FileToRun] -> (Returns' (ErrorsAnd ApprootPid)) -> IdeCommand -- | Bool == is it an exact search?, module source code for import -- statement, query HoogleSearch :: Bool -> Text -> Text -> (Returns' FayHoogleResults) -> IdeCommand GetConflictingPackages :: (Returns' [[(Bool, Text)]]) -> IdeCommand data FayCommand UserAuthedGithub :: (Returns' Bool) -> FayCommand RevokeGithub :: (Returns' ()) -> FayCommand GetGithubUrl :: Text -> (Returns' Text) -> FayCommand SshPublicKey :: (Returns' Text) -> FayCommand GenerateConfiguration :: (Returns' ()) -> FayCommand -- | title, code, environment GetIFilesFromCode :: Text -> Text -> (Maybe Text) -> (Returns' IFiles) -> FayCommand GetIFilesFromURL :: Text -> (Returns' IFiles) -> FayCommand SaveProfile :: Theme -> Int -> Bool -> (Returns' ()) -> FayCommand GetProjectId :: Text -> (Returns' ProjectId) -> FayCommand CloseAllProjects :: (Returns' ()) -> FayCommand SetSettingsSubstitutions :: Text -> (Returns' ()) -> FayCommand GetSettingsSubstitutions :: (Returns' Text) -> FayCommand SeenAnnouncement :: Text -> (Returns' ()) -> FayCommand GetAnnouncements :: (Returns' [(Text, Text, Text)]) -> FayCommand -- | Values passed to the client when initially loading the IDE. data InitialProjectInfo InitialProjectInfo :: Text -> Text -> Maybe Text -> Maybe [MergeConflict] -> [(ProjectState, Text)] -> [FileDesc] -> Maybe (Either EncFileName RunConfigId) -> Bool -> BranchesList -> RemotesList -> [(RunConfigId, RunConfig)] -> [(FayDeploymentId, Deployment)] -> Theme -> Int -> Bool -> IdeLicense -> Bool -> Maybe ProjectSettings -> InitialProjectInfo ipiTitle :: InitialProjectInfo -> Text ipiDesc :: InitialProjectInfo -> Text -- | URL originally cloned from ipiGitUrl :: InitialProjectInfo -> Maybe Text ipiMergeConflicts :: InitialProjectInfo -> Maybe [MergeConflict] ipiState :: InitialProjectInfo -> [(ProjectState, Text)] ipiFiles :: InitialProjectInfo -> [FileDesc] ipiTarget :: InitialProjectInfo -> Maybe (Either EncFileName RunConfigId) ipiPublished :: InitialProjectInfo -> Bool ipiBranches :: InitialProjectInfo -> BranchesList ipiRemotes :: InitialProjectInfo -> RemotesList ipiRunConfigs :: InitialProjectInfo -> [(RunConfigId, RunConfig)] ipiDeployments :: InitialProjectInfo -> [(FayDeploymentId, Deployment)] ipiTheme :: InitialProjectInfo -> Theme ipiFontSize :: InitialProjectInfo -> Int ipiSearchWithRegex :: InitialProjectInfo -> Bool ipiLicense :: InitialProjectInfo -> IdeLicense ipiCanPublish :: InitialProjectInfo -> Bool ipiSettings :: InitialProjectInfo -> Maybe ProjectSettings data IFiles IFiles :: [IFile] -> Text -> IFiles ifilesFiles :: IFiles -> [IFile] ifilesCloneUrl :: IFiles -> Text data IFile IFile :: Text -> IFileContents -> IFile ifileName :: IFile -> Text ifileContent :: IFile -> IFileContents data Base64 Base64 :: Text -> Base64 data IFileContents IFCText :: [IFileContent] -> IFileContents IFCBase64 :: Base64 -> IFileContents data IFileContent IFCStatic :: Text -> IFileContent IFCEditable :: Editable -> IFileContent data Editable Editable :: Maybe Text -> Text -> [SrcSpan] -> Editable editableTitle :: Editable -> Maybe Text editableContent :: Editable -> Text editableMarks :: Editable -> [SrcSpan] data SrcSpan SrcSpan :: SrcLoc -> SrcLoc -> SrcSpan data SrcLoc SrcLoc :: Int -> Int -> SrcLoc srcLocLine :: SrcLoc -> Int srcLocColumn :: SrcLoc -> Int data StdoutResult SRSuccess :: Text -> StdoutResult SRTerminated :: ProcessResult -> StdoutResult data FileToRun FileToRun :: Text -> FTRContent -> FileToRun ftrName :: FileToRun -> Text ftrContent :: FileToRun -> FTRContent data FTRContent FTRCText :: Text -> FTRContent FTRCBinary :: Base64 -> FTRContent data FayHoogleResults FayHoogleBadQuery :: Text -> FayHoogleResults -- | Text == HTML version of query, Int == total count FayHoogleResults :: Text -> [HoogleResult] -> (Maybe Int) -> FayHoogleResults data IdeLicense ILCommunity :: IdeLicense ILPersonal :: IdeLicense ILProfessional :: IdeLicense data MaybeText NoText :: MaybeText JustText :: Text -> MaybeText -- | Result of checking out a branch (or ref, in future). data GitCheckoutResult GCRDirty :: GitCheckoutResult GCROk :: (Maybe RunnerProjectClosed) -> GitCheckoutResult data GitPullResult GPRSuccess :: RunnerProjectClosed -> GitPullResult GPRDirtyTree :: GitPullResult GPRManualMerge :: Text -> RunnerProjectClosed -> GitPullResult data GitPushResult GURSuccess :: GitPushResult GURDirtyTree :: GitPushResult data GitResolvedResult GRRSuccess :: GitResolvedResult GRRStillUnresolved :: [MergeConflict] -> GitResolvedResult data MergeConflict MergeConflict :: EncFileName -> MergeModifyPair -> MergeConflict mergeFile :: MergeConflict -> EncFileName mergeState :: MergeConflict -> MergeModifyPair data RemotesList RemotesList :: [(Text, Text)] -> RemotesList data BranchesList BranchesList :: BranchName -> [BranchName] -> BranchesList data ProjectSettings ProjectSettings :: Text -> [(Text, Maybe Bool)] -> Environment -> [Environment] -> [Text] -> [Text] -> Text -> [[(Bool, Text)]] -> Text -> Text -> Text -> Text -> ProjectSettings psModuleTemplate :: ProjectSettings -> Text -- | three states: on, off, or default (== Nothing) psExtensions :: ProjectSettings -> [(Text, Maybe Bool)] psEnvironment :: ProjectSettings -> Environment psEnvironments :: ProjectSettings -> [Environment] psGhcArgs :: ProjectSettings -> [Text] psBinaryGhcArgs :: ProjectSettings -> [Text] psExtraPackages :: ProjectSettings -> Text psAutoHidden :: ProjectSettings -> [[(Bool, Text)]] psCabalName :: ProjectSettings -> Text psCabalVersion :: ProjectSettings -> Text psRoot :: ProjectSettings -> Text psFilters :: ProjectSettings -> Text data SetExtension SetExtension :: Text -> Bool -> SetExtension data SetSettingsInput SetSettingsInput :: Text -> [SetExtension] -> Text -> [Text] -> [Text] -> Text -> [[(Bool, Text)]] -> Text -> Text -> SetSettingsInput ssiModuleTemplate :: SetSettingsInput -> Text ssiExtensions :: SetSettingsInput -> [SetExtension] ssiEnvironment :: SetSettingsInput -> Text ssiGhcArgs :: SetSettingsInput -> [Text] ssiBinaryGhcArgs :: SetSettingsInput -> [Text] ssiExtraPackages :: SetSettingsInput -> Text ssiAutohidden :: SetSettingsInput -> [[(Bool, Text)]] ssiCabalName :: SetSettingsInput -> Text ssiCabalVersion :: SetSettingsInput -> Text -- | A GHC environment. data Environment Environment :: Text -> Text -> Text -> Text -> Environment envName :: Environment -> Text envTitle :: Environment -> Text envURL :: Environment -> Text envDetailedId :: Environment -> Text data RunGhciOutput RunGhciOutput :: ProcId -> ProjectId -> RunGhciOutput data TopLevelIdentifiers TopLevelIdentifiers :: [TopLevelIdentifier] -> TopLevelIdentifiers data TopLevelIdentifier TopLevelIdentifier :: Int -> Int -> Text -> TopLevelIdentifier tliLine :: TopLevelIdentifier -> Int tliColumn :: TopLevelIdentifier -> Int tliName :: TopLevelIdentifier -> Text data RefactoringContext PortionContext :: SourceSpan -> Text -> RefactoringContext ModuleContext :: ModuleName -> RefactoringContext data RefactoringOutput PortionOutput :: Text -> RefactoringOutput ModuleOutput :: Text -> RefactoringOutput -- | A simple text reply. data TextReply TextReply :: Text -> TextReply unTextReply :: TextReply -> Text -- | An html reply. data HtmlReply HtmlReply :: Text -> HtmlReply unHtmlReply :: HtmlReply -> Text -- | A run configuration for a project. data RunConfig RunConfig :: Text -> Maybe EncFileName -> [Text] -> [(Text, Text)] -> RunConfig rcTitle :: RunConfig -> Text rcMainFile :: RunConfig -> Maybe EncFileName rcArgs :: RunConfig -> [Text] rcEnv :: RunConfig -> [(Text, Text)] -- | Make a new run configuration. data NewRunConfig NewRunConfig :: (RunConfigId, RunConfig) -> NewRunConfig -- | A deployment configuration. data Deployment Deployment :: Text -> [Stanza] -> Deployment depTitle :: Deployment -> Text depStanzas :: Deployment -> [Stanza] -- | Possible stanza types. data Stanza WebAppStanza :: FayWebAppId -> WebApp -> Stanza BgJobStanza :: FayBgJobId -> BgJob -> Stanza data NewDeployment NewDeployment :: (FayDeploymentId, Deployment) -> NewDeployment -- | A web app stanza. data WebApp WebApp :: Text -> Maybe Text -> Maybe EncFileName -> [Text] -> [(Text, Text)] -> Bool -> WebApp wapTitle :: WebApp -> Text wapHostname :: WebApp -> Maybe Text wapFileName :: WebApp -> Maybe EncFileName wapArgs :: WebApp -> [Text] wapEnv :: WebApp -> [(Text, Text)] wapSsl :: WebApp -> Bool data NewWebApp NewWebApp :: (FayWebAppId, WebApp) -> NewWebApp -- | A background job stanza. data BgJob BgJob :: Text -> Maybe EncFileName -> [Text] -> [(Text, Text)] -> Maybe Int -> Int -> BgJob bgTitle :: BgJob -> Text bgFileName :: BgJob -> Maybe EncFileName bgArgs :: BgJob -> [Text] bgEnv :: BgJob -> [(Text, Text)] bgRestartLimit :: BgJob -> Maybe Int bgRestartDelay :: BgJob -> Int -- | Make a new background job. data NewBgJob NewBgJob :: (FayBgJobId, BgJob) -> NewBgJob -- | Result of trying to use a hostname. data UseHostName -- | Host name is in use by someone else, can't be used. HostnameInUse :: UseHostName -- | Host name was already or has now been registered and is now in use. HostnameOK :: UseHostName -- | Couldn't register the hostname due to quota. HostnameQuotaExcess :: UseHostName -- | Invalid hostname. HostnameInvalid :: UseHostName -- | Yaml text for a Keter config. data KeterYaml KeterYaml :: Text -> Text -> KeterYaml keterYaml :: KeterYaml -> Text deployYaml :: KeterYaml -> Text -- | A randomly generated host name. data RandomHostName RandomHostName :: Text -> RandomHostName unRandomHostname :: RandomHostName -> Text -- | A date of expiration, if any. data ExpiryTime ExpiryTime :: (Maybe Integer) -> ExpiryTime data DeploymentManagerInfo DeploymentManagerInfo :: Text -> DeploymentManagerInfo dmiHostname :: DeploymentManagerInfo -> Text data FayDeploymentId FayDeploymentId :: Text -> FayDeploymentId unFayDeploymentId :: FayDeploymentId -> Text data FayBgJobId FayBgJobId :: Text -> FayBgJobId unFayBgJobId :: FayBgJobId -> Text data FayWebAppId FayWebAppId :: Text -> FayWebAppId unFayWebAppId :: FayWebAppId -> Text -- | Themes supported by the IDE. data Theme Panda :: Theme Zenburn :: Theme Monokai :: Theme data SearchQuery SearchQueryRegex :: Text -> SearchQuery SearchQueryPlain :: Text -> SearchQuery instance Typeable1 CanFail instance Typeable RunnerProjectClosed instance Typeable ProjectMessagesRequest instance Typeable GetProjectMessages instance Typeable Base64 instance Typeable SrcLoc instance Typeable SrcSpan instance Typeable Editable instance Typeable IFileContent instance Typeable IFileContents instance Typeable IFile instance Typeable IFiles instance Typeable StdoutResult instance Typeable FTRContent instance Typeable FileToRun instance Typeable FayHoogleResults instance Typeable IdeLicense instance Typeable MaybeText instance Typeable GitCheckoutResult instance Typeable GitPullResult instance Typeable GitPushResult instance Typeable MergeConflict instance Typeable GitResolvedResult instance Typeable RemotesList instance Typeable BranchesList instance Typeable SetExtension instance Typeable SetSettingsInput instance Typeable Environment instance Typeable ProjectSettings instance Typeable RunGhciOutput instance Typeable TopLevelIdentifier instance Typeable TopLevelIdentifiers instance Typeable RefactoringContext instance Typeable RefactoringOutput instance Typeable TextReply instance Typeable HtmlReply instance Typeable RunConfig instance Typeable NewRunConfig instance Typeable WebApp instance Typeable BgJob instance Typeable UseHostName instance Typeable KeterYaml instance Typeable RandomHostName instance Typeable ExpiryTime instance Typeable DeploymentManagerInfo instance Typeable FayDeploymentId instance Typeable FayBgJobId instance Typeable NewBgJob instance Typeable FayWebAppId instance Typeable NewWebApp instance Typeable Stanza instance Typeable Deployment instance Typeable NewDeployment instance Typeable Theme instance Typeable InitialProjectInfo instance Typeable FayCommand instance Typeable SearchQuery instance Typeable IdeCommand instance Functor CanFail instance Read (Automatic a) => Read (CanFail a) instance Data a => Data (CanFail a) instance Show (Automatic a) => Show (CanFail a) instance Eq (Automatic a) => Eq (CanFail a) instance Foldable CanFail instance Traversable CanFail instance Generic (CanFail a) instance Read RunnerProjectClosed instance Data RunnerProjectClosed instance Show RunnerProjectClosed instance Eq RunnerProjectClosed instance Generic RunnerProjectClosed instance Eq ProjectMessagesRequest instance Read ProjectMessagesRequest instance Show ProjectMessagesRequest instance Data ProjectMessagesRequest instance Generic ProjectMessagesRequest instance Read GetProjectMessages instance Data GetProjectMessages instance Show GetProjectMessages instance Eq GetProjectMessages instance Read Base64 instance Data Base64 instance Show Base64 instance Eq Base64 instance Read SrcLoc instance Data SrcLoc instance Show SrcLoc instance Eq SrcLoc instance Read SrcSpan instance Data SrcSpan instance Show SrcSpan instance Eq SrcSpan instance Read Editable instance Data Editable instance Show Editable instance Eq Editable instance Read IFileContent instance Data IFileContent instance Show IFileContent instance Eq IFileContent instance Read IFileContents instance Data IFileContents instance Show IFileContents instance Eq IFileContents instance Read IFile instance Data IFile instance Show IFile instance Eq IFile instance Read IFiles instance Data IFiles instance Show IFiles instance Eq IFiles instance Read StdoutResult instance Data StdoutResult instance Show StdoutResult instance Eq StdoutResult instance Read FTRContent instance Data FTRContent instance Show FTRContent instance Eq FTRContent instance Read FileToRun instance Data FileToRun instance Show FileToRun instance Eq FileToRun instance Read FayHoogleResults instance Data FayHoogleResults instance Show FayHoogleResults instance Eq FayHoogleResults instance Read IdeLicense instance Data IdeLicense instance Show IdeLicense instance Eq IdeLicense instance Generic IdeLicense instance Read MaybeText instance Data MaybeText instance Show MaybeText instance Eq MaybeText instance Read GitCheckoutResult instance Data GitCheckoutResult instance Show GitCheckoutResult instance Eq GitCheckoutResult instance Read GitPullResult instance Data GitPullResult instance Show GitPullResult instance Eq GitPullResult instance Read GitPushResult instance Data GitPushResult instance Show GitPushResult instance Eq GitPushResult instance Read MergeConflict instance Data MergeConflict instance Show MergeConflict instance Eq MergeConflict instance Generic MergeConflict instance Read GitResolvedResult instance Data GitResolvedResult instance Show GitResolvedResult instance Eq GitResolvedResult instance Read RemotesList instance Data RemotesList instance Show RemotesList instance Eq RemotesList instance Generic RemotesList instance Read BranchesList instance Data BranchesList instance Show BranchesList instance Eq BranchesList instance Generic BranchesList instance Read SetExtension instance Data SetExtension instance Show SetExtension instance Eq SetExtension instance Generic SetExtension instance Read SetSettingsInput instance Data SetSettingsInput instance Show SetSettingsInput instance Eq SetSettingsInput instance Generic SetSettingsInput instance Read Environment instance Data Environment instance Show Environment instance Eq Environment instance Generic Environment instance Read ProjectSettings instance Data ProjectSettings instance Show ProjectSettings instance Eq ProjectSettings instance Generic ProjectSettings instance Read RunGhciOutput instance Data RunGhciOutput instance Show RunGhciOutput instance Eq RunGhciOutput instance Read TopLevelIdentifier instance Data TopLevelIdentifier instance Show TopLevelIdentifier instance Eq TopLevelIdentifier instance Read TopLevelIdentifiers instance Data TopLevelIdentifiers instance Show TopLevelIdentifiers instance Eq TopLevelIdentifiers instance Read RefactoringContext instance Data RefactoringContext instance Show RefactoringContext instance Eq RefactoringContext instance Read RefactoringOutput instance Data RefactoringOutput instance Show RefactoringOutput instance Eq RefactoringOutput instance Read TextReply instance Data TextReply instance Show TextReply instance Eq TextReply instance Read HtmlReply instance Data HtmlReply instance Show HtmlReply instance Eq HtmlReply instance Eq RunConfig instance Read RunConfig instance Show RunConfig instance Data RunConfig instance Ord RunConfig instance Generic RunConfig instance Read NewRunConfig instance Data NewRunConfig instance Show NewRunConfig instance Eq NewRunConfig instance Read WebApp instance Data WebApp instance Show WebApp instance Eq WebApp instance Generic WebApp instance Read BgJob instance Data BgJob instance Show BgJob instance Eq BgJob instance Generic BgJob instance Read UseHostName instance Data UseHostName instance Show UseHostName instance Eq UseHostName instance Generic UseHostName instance Read KeterYaml instance Data KeterYaml instance Show KeterYaml instance Eq KeterYaml instance Generic KeterYaml instance Read RandomHostName instance Data RandomHostName instance Show RandomHostName instance Eq RandomHostName instance Generic RandomHostName instance Read ExpiryTime instance Data ExpiryTime instance Show ExpiryTime instance Eq ExpiryTime instance Read DeploymentManagerInfo instance Data DeploymentManagerInfo instance Show DeploymentManagerInfo instance Eq DeploymentManagerInfo instance Generic DeploymentManagerInfo instance Read FayDeploymentId instance Data FayDeploymentId instance Show FayDeploymentId instance Eq FayDeploymentId instance Read FayBgJobId instance Data FayBgJobId instance Show FayBgJobId instance Eq FayBgJobId instance Generic FayBgJobId instance Read NewBgJob instance Data NewBgJob instance Show NewBgJob instance Eq NewBgJob instance Read FayWebAppId instance Data FayWebAppId instance Show FayWebAppId instance Eq FayWebAppId instance Generic FayWebAppId instance Read NewWebApp instance Data NewWebApp instance Show NewWebApp instance Eq NewWebApp instance Read Stanza instance Data Stanza instance Show Stanza instance Eq Stanza instance Generic Stanza instance Read Deployment instance Data Deployment instance Show Deployment instance Eq Deployment instance Generic Deployment instance Read NewDeployment instance Data NewDeployment instance Show NewDeployment instance Eq NewDeployment instance Show Theme instance Eq Theme instance Read Theme instance Data Theme instance Bounded Theme instance Enum Theme instance Read InitialProjectInfo instance Data InitialProjectInfo instance Show InitialProjectInfo instance Eq InitialProjectInfo instance Read FayCommand instance Data FayCommand instance Show FayCommand instance Read SearchQuery instance Data SearchQuery instance Show SearchQuery instance Eq SearchQuery instance Read IdeCommand instance Data IdeCommand instance Show IdeCommand instance Eq IdeCommand instance Datatype D1CanFail instance Constructor C1_0CanFail instance Constructor C1_1CanFail instance Datatype D1RunnerProjectClosed instance Constructor C1_0RunnerProjectClosed instance Datatype D1ProjectMessagesRequest instance Constructor C1_0ProjectMessagesRequest instance Constructor C1_1ProjectMessagesRequest instance Datatype D1IdeLicense instance Constructor C1_0IdeLicense instance Constructor C1_1IdeLicense instance Constructor C1_2IdeLicense instance Datatype D1MergeConflict instance Constructor C1_0MergeConflict instance Selector S1_0_0MergeConflict instance Selector S1_0_1MergeConflict instance Datatype D1RemotesList instance Constructor C1_0RemotesList instance Datatype D1BranchesList instance Constructor C1_0BranchesList instance Datatype D1SetExtension instance Constructor C1_0SetExtension instance Datatype D1SetSettingsInput instance Constructor C1_0SetSettingsInput instance Selector S1_0_0SetSettingsInput instance Selector S1_0_1SetSettingsInput instance Selector S1_0_2SetSettingsInput instance Selector S1_0_3SetSettingsInput instance Selector S1_0_4SetSettingsInput instance Selector S1_0_5SetSettingsInput instance Selector S1_0_6SetSettingsInput instance Selector S1_0_7SetSettingsInput instance Selector S1_0_8SetSettingsInput instance Datatype D1Environment instance Constructor C1_0Environment instance Selector S1_0_0Environment instance Selector S1_0_1Environment instance Selector S1_0_2Environment instance Selector S1_0_3Environment instance Datatype D1ProjectSettings instance Constructor C1_0ProjectSettings instance Selector S1_0_0ProjectSettings instance Selector S1_0_1ProjectSettings instance Selector S1_0_2ProjectSettings instance Selector S1_0_3ProjectSettings instance Selector S1_0_4ProjectSettings instance Selector S1_0_5ProjectSettings instance Selector S1_0_6ProjectSettings instance Selector S1_0_7ProjectSettings instance Selector S1_0_8ProjectSettings instance Selector S1_0_9ProjectSettings instance Selector S1_0_10ProjectSettings instance Selector S1_0_11ProjectSettings instance Datatype D1RunConfig instance Constructor C1_0RunConfig instance Selector S1_0_0RunConfig instance Selector S1_0_1RunConfig instance Selector S1_0_2RunConfig instance Selector S1_0_3RunConfig instance Datatype D1WebApp instance Constructor C1_0WebApp instance Selector S1_0_0WebApp instance Selector S1_0_1WebApp instance Selector S1_0_2WebApp instance Selector S1_0_3WebApp instance Selector S1_0_4WebApp instance Selector S1_0_5WebApp instance Datatype D1BgJob instance Constructor C1_0BgJob instance Selector S1_0_0BgJob instance Selector S1_0_1BgJob instance Selector S1_0_2BgJob instance Selector S1_0_3BgJob instance Selector S1_0_4BgJob instance Selector S1_0_5BgJob instance Datatype D1UseHostName instance Constructor C1_0UseHostName instance Constructor C1_1UseHostName instance Constructor C1_2UseHostName instance Constructor C1_3UseHostName instance Datatype D1KeterYaml instance Constructor C1_0KeterYaml instance Selector S1_0_0KeterYaml instance Selector S1_0_1KeterYaml instance Datatype D1RandomHostName instance Constructor C1_0RandomHostName instance Selector S1_0_0RandomHostName instance Datatype D1DeploymentManagerInfo instance Constructor C1_0DeploymentManagerInfo instance Selector S1_0_0DeploymentManagerInfo instance Datatype D1FayBgJobId instance Constructor C1_0FayBgJobId instance Selector S1_0_0FayBgJobId instance Datatype D1FayWebAppId instance Constructor C1_0FayWebAppId instance Selector S1_0_0FayWebAppId instance Datatype D1Stanza instance Constructor C1_0Stanza instance Constructor C1_1Stanza instance Datatype D1Deployment instance Constructor C1_0Deployment instance Selector S1_0_0Deployment instance Selector S1_0_1Deployment instance FromJSON FayWebAppId instance ToJSON FayWebAppId instance Serialize FayWebAppId instance FromJSON FayBgJobId instance ToJSON FayBgJobId instance Serialize FayBgJobId instance FromJSON DeploymentManagerInfo instance ToJSON DeploymentManagerInfo instance Serialize DeploymentManagerInfo instance FromJSON RandomHostName instance ToJSON RandomHostName instance Serialize RandomHostName instance FromJSON KeterYaml instance ToJSON KeterYaml instance Serialize KeterYaml instance FromJSON UseHostName instance ToJSON UseHostName instance Serialize UseHostName instance FromJSON BgJob instance ToJSON BgJob instance Serialize BgJob instance FromJSON WebApp instance ToJSON WebApp instance Serialize WebApp instance FromJSON Stanza instance ToJSON Stanza instance Serialize Stanza instance FromJSON Deployment instance ToJSON Deployment instance Serialize Deployment instance Hashable RunConfig instance Serialize RunConfig instance FromJSON RunConfig instance ToJSON RunConfig instance FromJSON Environment instance ToJSON Environment instance Serialize Environment instance FromJSON SetSettingsInput instance ToJSON SetSettingsInput instance Serialize SetSettingsInput instance FromJSON SetExtension instance ToJSON SetExtension instance Serialize SetExtension instance FromJSON ProjectSettings instance ToJSON ProjectSettings instance Serialize ProjectSettings instance FromJSON BranchesList instance ToJSON BranchesList instance Serialize BranchesList instance FromJSON RemotesList instance ToJSON RemotesList instance Serialize RemotesList instance FromJSON MergeConflict instance ToJSON MergeConflict instance Serialize MergeConflict instance FromJSON IdeLicense instance ToJSON IdeLicense instance Serialize IdeLicense instance Hashable ProjectMessagesRequest instance Serialize ProjectMessagesRequest instance FromJSON ProjectMessagesRequest instance ToJSON ProjectMessagesRequest instance FromJSON RunnerProjectClosed instance ToJSON RunnerProjectClosed instance Serialize RunnerProjectClosed instance MonadLogger m => MonadLogger (CanFailT m) instance MonadResource m => MonadResource (CanFailT m) instance MonadBaseControl IO m => MonadBaseControl IO (CanFailT m) instance MonadThrow m => MonadThrow (CanFailT m) instance MonadBase IO m => MonadBase IO (CanFailT m) instance MonadIO m => MonadIO (CanFailT m) instance MonadTrans CanFailT instance Monad m => MonadPlus (CanFailT m) instance Monad m => Monad (CanFailT m) instance (Functor m, Monad m) => Alternative (CanFailT m) instance (Functor m, Monad m) => Applicative (CanFailT m) instance Traversable f => Traversable (CanFailT f) instance Foldable f => Foldable (CanFailT f) instance Functor m => Functor (CanFailT m) instance Monad CanFail instance FromJSON a => FromJSON (CanFail a) instance ToJSON a => ToJSON (CanFail a) instance PersistFieldSql ProjectState instance PersistField ProjectState instance Typeable ProjectState instance Show ProjectState instance Eq ProjectState instance Read ProjectState instance Data ProjectState instance Enum ProjectState instance Bounded ProjectState instance Ord ProjectState instance Generic ProjectState instance Datatype D1ProjectState instance Constructor C1_0ProjectState instance Constructor C1_1ProjectState instance Hashable ProjectState instance Serialize ProjectState instance FromJSON ProjectState instance ToJSON ProjectState module FP.API -- | Convert a theme to a string. themeToString :: Theme -> String -- | Get a human-readable name for a theme. themeName :: Theme -> String -- | Get a human-readable description of a string. themeDescription :: Theme -> String -- | Similar to [minBound..maxBound], with our own custom ordering. enumerateThemes :: [Theme] -- | The default theme to use when there is no existing theme. defaultTheme :: Theme -- | The default font size to use. defaultFontSize :: Int defaultSearchStyle :: Bool -- | Default license to use upon initialization. defaultLicense :: IdeLicense -- | Error that can be returned by some commands, which indicates that the -- command requires that the settings file be valid. invalidSettingsError :: Text -- | Error that can be returned by GetProjectMessages, which -- indicates that the backend server hasn't started yet. In order to -- cause the server to run, some normal command needs to be executed (not -- a project messages poll, though). serverSessionNotReadyError :: Text -- | The filepath used for the settings file. projectSettingsPath :: Text -- | Determine whether a git branch name is valid. -- -- TODO: This could be better. See, e.g. the regexes here: -- http:stackoverflow.coma12093994/1164871 validGitBranch :: String -> Bool -- | Action that roles can perform. data Action DoBuildExecutables :: Action DoDeployment :: Action DoPrivateProjects :: Action DoMakeCommercialProducts :: Action DoGitStuff :: Action DoExternalEditor :: Action -- | Give a human readable description for actions that could be used in a -- sentence. describeAction :: Action -> Text -- | Can the given role do the given action? canDo :: IdeLicense -> Action -> Bool -- | Get the name of the license, for use in code IDs and such. licenseName :: IdeLicense -> Text instance Show Action instance Eq Action instance Generic Action instance Datatype D1Action instance Constructor C1_0Action instance Constructor C1_1Action instance Constructor C1_2Action instance Constructor C1_3Action instance Constructor C1_4Action instance Constructor C1_5Action instance Serialize Action module FP.API.Common data ClientRoute MiscCommandRoute :: ClientRoute IdeMessagesRoute :: ProjectId -> ClientRoute IdeAsyncCommandRoute :: ProjectId -> ClientRoute class (Applicative m, MonadIO m, MonadBaseControl IO m, Applicative m', MonadIO m', MonadBaseControl IO m') => FpClient m m' | m -> m' runCallback :: FpClient m m' => m' a -> m a clientInfo :: FpClient m m' => m (ClientInfo m') makeRequest :: (FpClient m m', Data command, Show command) => Text -> Int -> ClientRoute -> command -> m (Maybe ByteString) data ClientInfo m' ClientInfo :: ProjectId -> ProjectCallbacks m' -> IORef (Map EncFileName FayTutorialToken) -> TVar (Maybe CompileId) -> TVar (Maybe SessionId) -> TVar (Maybe ProjectStatusSnapshot) -> Int -> ClientInfo m' ciProjId :: ClientInfo m' -> ProjectId ciCallbacks :: ClientInfo m' -> ProjectCallbacks m' ciTokens :: ClientInfo m' -> IORef (Map EncFileName FayTutorialToken) ciCompileId :: ClientInfo m' -> TVar (Maybe CompileId) ciSessionId :: ClientInfo m' -> TVar (Maybe SessionId) ciLastStatus :: ClientInfo m' -> TVar (Maybe ProjectStatusSnapshot) ciTimeout :: ClientInfo m' -> Int newClientInfo :: Int -> ProjectId -> IO (ClientInfo m') data ProjectCallbacks m' ProjectCallbacks :: IORef (Join JobId (Either Text Value -> m' ()) (Either Text Value)) -> Signal m' (LogLevel, Text) -> Signal m' (ProcId, StdoutResult) -> Signal m' ProjectStatusSnapshot -> Signal m' () -> ProjectCallbacks m' pcJobs :: ProjectCallbacks m' -> IORef (Join JobId (Either Text Value -> m' ()) (Either Text Value)) pcMessage :: ProjectCallbacks m' -> Signal m' (LogLevel, Text) pcProcessOutput :: ProjectCallbacks m' -> Signal m' (ProcId, StdoutResult) pcNewStatus :: ProjectCallbacks m' -> Signal m' ProjectStatusSnapshot pcProjectClosed :: ProjectCallbacks m' -> Signal m' () defaultProjectCallbacks :: IO (ProjectCallbacks m') data ClientException ClientException :: Text -> ClientException clientFail :: Text -> a data Join k a b Join :: (Map k a) -> (Map k b) -> Join k a b emptyJoin :: Ord k => Join k a b joinAInput :: Ord k => Join k a b -> k -> a -> (Join k a b, Maybe b) joinBInput :: Ord k => Join k a b -> k -> b -> (Join k a b, Maybe a) pollProjectMessages :: FpClient m m' => m () handleMessage :: FpClient m m' => RunnerMessage -> m () jobResult :: MonadIO m' => ProjectCallbacks m' -> JobId -> Either Text Value -> m' () jobCallback :: MonadIO m' => ProjectCallbacks m' -> JobId -> (Either Text Value -> m' ()) -> m' () ideCommand :: (Data command, Show command, Data a, Show a, FpClient m m') => (Returns' a -> command) -> m a -- | (for testing purposes) ideCommandFail :: (Data command, Show command, Data a, Show a, FpClient m m') => (Returns' a -> command) -> m () makeFayAsyncCall :: (Data command, Show command, Data a, Show a, FpClient m m') => (Returns' a -> command) -> m (Either Text a) updateSessionCompileId :: (Show a, Data a) => TVar (Maybe CompileId) -> TVar (Maybe SessionId) -> a -> STM Bool fayCommand :: (Data command, Show command, Data a, FpClient m m') => (Returns' a -> command) -> m a callFay :: (Data command, Show command, Data a, FpClient m m') => ClientRoute -> (Returns' a -> command) -> m a makeFayCall :: (Data command, Show command, Data a, FpClient m m') => ClientRoute -> (Returns a -> command) -> m a -- | This is the same thing as makeFayCall, but with a less -- restrictive type that doens't enforce that the return type of the -- command is correct. makeFayCall' :: (Data command, Show command, Data a, FpClient m m') => ClientRoute -> command -> m a handleServerResponse :: (Data a, Monad m) => String -> Maybe ByteString -> m a getAnnouncements :: FpClient m m' => m [(Text, Text, Text)] seenAnnouncement :: FpClient m m' => Text -> m () getSettingsSubstitutions :: FpClient m m' => m Text setSettingsSubstitutions :: FpClient m m' => Text -> m () closeAllProjects :: FpClient m m' => m () getProjectId :: FpClient m m' => Text -> m ProjectId saveProfile :: FpClient m m' => Theme -> Int -> Bool -> m () getIFilesFromURL :: FpClient m m' => Text -> m IFiles getIFilesFromCode :: FpClient m m' => Text -> Text -> Maybe Text -> m IFiles generateConfiguration :: FpClient m m' => m () sshPublicKey :: FpClient m m' => m Text getGithubUrl :: FpClient m m' => Text -> m Text revokeGithub :: FpClient m m' => m () userAuthedGithub :: FpClient m m' => m Bool getConflictingPackagesFail :: FpClient m m' => m () hoogleSearchFail :: FpClient m m' => Bool -> Text -> Text -> m () startInteractiveWebFail :: FpClient m m' => [FileToRun] -> m () startInteractiveFail :: FpClient m m' => [FileToRun] -> m () stopRunningCodeFail :: FpClient m m' => m () putStdinFail :: FpClient m m' => ProcId -> Text -> m () getDeploymentManagerInfoFail :: FpClient m m' => m () getRandomHostNameFail :: FpClient m m' => m () checkHostNameFail :: FpClient m m' => Text -> m () getNewBgJobFail :: FpClient m m' => FayDeploymentId -> m () getNewWebAppFail :: FpClient m m' => FayDeploymentId -> m () getNewDeploymentFail :: FpClient m m' => m () getNewRunConfigFail :: FpClient m m' => m () setDeploymentsFail :: FpClient m m' => [(FayDeploymentId, Deployment)] -> m () setRunConfigsFail :: FpClient m m' => [(RunConfigId, RunConfig)] -> m () getKeterYamlFail :: FpClient m m' => FayDeploymentId -> ModuleName -> m () extractRefactoringFail :: FpClient m m' => SourceSpan -> Text -> RefactoringContext -> m () renameRefactoringFail :: FpClient m m' => SourceSpan -> Text -> RefactoringContext -> m () checkoutBranchFail :: FpClient m m' => BranchName -> m () deleteBranchFail :: FpClient m m' => BranchName -> m () createBranchFail :: FpClient m m' => BranchName -> CommitName -> m () cancelGitShellFail :: FpClient m m' => GitShellId -> m () applyGitShellFail :: FpClient m m' => GitShellId -> m () gitShellInputFail :: FpClient m m' => GitShellId -> Text -> m () startGitShellFail :: FpClient m m' => m () gitDiffFail :: FpClient m m' => m () gitResolveFileFail :: FpClient m m' => EncFileName -> m () gitMergeDoneFail :: FpClient m m' => MaybeText -> m () gitMergeAbortFail :: FpClient m m' => m () gitPullFail :: FpClient m m' => Text -> m () gitPushIgnoreDirtyFail :: FpClient m m' => Text -> m () gitPushFail :: FpClient m m' => Text -> m () gitResetFail :: FpClient m m' => m () gitCommitFail :: FpClient m m' => Text -> m () setGitConfigFail :: FpClient m m' => Text -> Text -> m () getGitConfigFail :: FpClient m m' => Text -> m () setRemotesFail :: FpClient m m' => RemotesList -> m () setRootFail :: FpClient m m' => Text -> Text -> m () isProjectDirtyFail :: FpClient m m' => m () getGitHistoryFail :: FpClient m m' => Int -> Int -> m () compileBinaryFail :: FpClient m m' => EncFileName -> [(Text, Text)] -> m () runTargetFail :: FpClient m m' => Bool -> m () getTargetFail :: FpClient m m' => m () setTargetFail :: FpClient m m' => Maybe (Either EncFileName RunConfigId) -> m () searchProjectFail :: FpClient m m' => SearchQuery -> Int -> Int -> Bool -> m () ideHoogleSearchFail :: FpClient m m' => Maybe EncFileName -> Bool -> Int -> Int -> Int -> Text -> m () getAutocompletionsFail :: FpClient m m' => AutoCompleteInput -> m () getDefinitionSourceFail :: FpClient m m' => SourceSpan -> m () getFindUsagesFail :: FpClient m m' => SourceSpan -> m () getTypeInfoDominatorsFail :: FpClient m m' => SourceSpan -> m () getTypeInfoFail :: FpClient m m' => SourceSpan -> m () renderFileMarkdownFail :: FpClient m m' => EncFileName -> m () reformatModuleFail :: FpClient m m' => EncFileName -> m () setModuleExclusionFail :: FpClient m m' => EncFileName -> Bool -> m () getAllFilesFail :: FpClient m m' => m () getFileTokenFail :: FpClient m m' => EncFileName -> m () getFileFail :: FpClient m m' => EncFileName -> m () renameFileFail :: FpClient m m' => EncFileName -> NewFileInfo -> RenameType -> m () deleteFileFail :: FpClient m m' => EncFileName -> m () saveFileFail :: FpClient m m' => EncFileName -> Text -> FayTutorialToken -> m () addFileFail :: FpClient m m' => NewFileInfo -> m () pingFail :: FpClient m m' => m () generateHaddocksFail :: FpClient m m' => m () restartBackendFail :: FpClient m m' => Text -> m () sdistTarballFail :: FpClient m m' => m () resetProjectSettingsFail :: FpClient m m' => Text -> m () deleteProjectFail :: FpClient m m' => Text -> m () saveProjectStateFail :: FpClient m m' => ProjectState -> Text -> m () setProjectMetadataFail :: FpClient m m' => Text -> Text -> m () getPublicFail :: FpClient m m' => m () setPublicFail :: FpClient m m' => Bool -> m () setSettingsFail :: FpClient m m' => SetSettingsInput -> m () reparseProjectSettingsFail :: FpClient m m' => m () getInitialProjectInfoFail :: FpClient m m' => Text -> m () getConflictingPackages :: FpClient m m' => m [[(Bool, Text)]] hoogleSearch :: FpClient m m' => Bool -> Text -> Text -> m FayHoogleResults startInteractiveWeb :: FpClient m m' => [FileToRun] -> m (ErrorsAnd ApprootPid) startInteractive :: FpClient m m' => [FileToRun] -> m (ErrorsAnd ProcId) stopRunningCode :: FpClient m m' => m () putStdin :: FpClient m m' => ProcId -> Text -> m Bool getDeploymentManagerInfo :: FpClient m m' => m DeploymentManagerInfo getRandomHostName :: FpClient m m' => m RandomHostName checkHostName :: FpClient m m' => Text -> m UseHostName getNewBgJob :: FpClient m m' => FayDeploymentId -> m NewBgJob getNewWebApp :: FpClient m m' => FayDeploymentId -> m NewWebApp getNewDeployment :: FpClient m m' => m NewDeployment getNewRunConfig :: FpClient m m' => m NewRunConfig setDeployments :: FpClient m m' => [(FayDeploymentId, Deployment)] -> m () setRunConfigs :: FpClient m m' => [(RunConfigId, RunConfig)] -> m () getKeterYaml :: FpClient m m' => FayDeploymentId -> ModuleName -> m KeterYaml extractRefactoring :: FpClient m m' => SourceSpan -> Text -> RefactoringContext -> m RefactoringOutput renameRefactoring :: FpClient m m' => SourceSpan -> Text -> RefactoringContext -> m RefactoringOutput checkoutBranch :: FpClient m m' => BranchName -> m GitCheckoutResult deleteBranch :: FpClient m m' => BranchName -> m () createBranch :: FpClient m m' => BranchName -> CommitName -> m () cancelGitShell :: FpClient m m' => GitShellId -> m () applyGitShell :: FpClient m m' => GitShellId -> m RunnerProjectClosed gitShellInput :: FpClient m m' => GitShellId -> Text -> m () startGitShell :: FpClient m m' => m GitShellId gitDiff :: FpClient m m' => m Text gitResolveFile :: FpClient m m' => EncFileName -> m () gitMergeDone :: FpClient m m' => MaybeText -> m GitResolvedResult gitMergeAbort :: FpClient m m' => m RunnerProjectClosed gitPull :: FpClient m m' => Text -> m GitPullResult gitPushIgnoreDirty :: FpClient m m' => Text -> m () gitPush :: FpClient m m' => Text -> m GitPushResult gitReset :: FpClient m m' => m RunnerProjectClosed gitCommit :: FpClient m m' => Text -> m CommitSHA setGitConfig :: FpClient m m' => Text -> Text -> m () getGitConfig :: FpClient m m' => Text -> m Text setRemotes :: FpClient m m' => RemotesList -> m () setRoot :: FpClient m m' => Text -> Text -> m CompileDesc isProjectDirty :: FpClient m m' => m Bool getGitHistory :: FpClient m m' => Int -> Int -> m [GitHistoryItem] compileBinary :: FpClient m m' => EncFileName -> [(Text, Text)] -> m UploadedBuild runTarget :: FpClient m m' => Bool -> m ProcId getTarget :: FpClient m m' => m (Maybe (Either EncFileName RunConfigId)) setTarget :: FpClient m m' => Maybe (Either EncFileName RunConfigId) -> m (Maybe CompileDesc) searchProject :: FpClient m m' => SearchQuery -> Int -> Int -> Bool -> m [SearchResult] ideHoogleSearch :: FpClient m m' => Maybe EncFileName -> Bool -> Int -> Int -> Int -> Text -> m (Text, [HoogleResult], Maybe Int) getAutocompletions :: FpClient m m' => AutoCompleteInput -> m [Text] getDefinitionSource :: FpClient m m' => SourceSpan -> m IdInfo getFindUsages :: FpClient m m' => SourceSpan -> m [SearchResult] getTypeInfoDominators :: FpClient m m' => SourceSpan -> m [TypeInfo] getTypeInfo :: FpClient m m' => SourceSpan -> m (Maybe TypeInfo) renderFileMarkdown :: FpClient m m' => EncFileName -> m HtmlReply reformatModule :: FpClient m m' => EncFileName -> m (Maybe CompileDesc) setModuleExclusion :: FpClient m m' => EncFileName -> Bool -> m (Maybe CompileDesc) getAllFiles :: FpClient m m' => m [FileDesc] getFileToken :: FpClient m m' => EncFileName -> m FayTutorialToken getFile :: FpClient m m' => EncFileName -> m FayFileContent renameFile :: FpClient m m' => EncFileName -> NewFileInfo -> RenameType -> m RenameFileOutput deleteFile :: FpClient m m' => EncFileName -> m (Maybe CompileDesc) saveFile :: FpClient m m' => EncFileName -> Text -> FayTutorialToken -> m SaveFileOutput addFile :: FpClient m m' => NewFileInfo -> m SaveFileOutput ping :: FpClient m m' => m () generateHaddocks :: FpClient m m' => m Text restartBackend :: FpClient m m' => Text -> m RunnerProjectClosed sdistTarball :: FpClient m m' => m (Either Text SdistTarballInfo) resetProjectSettings :: FpClient m m' => Text -> m RunnerProjectClosed deleteProject :: FpClient m m' => Text -> m () saveProjectState :: FpClient m m' => ProjectState -> Text -> m () setProjectMetadata :: FpClient m m' => Text -> Text -> m () getPublic :: FpClient m m' => m Bool setPublic :: FpClient m m' => Bool -> m () setSettings :: FpClient m m' => SetSettingsInput -> m (Either CompileIdent RunnerProjectClosed) reparseProjectSettings :: FpClient m m' => m (Maybe RunnerProjectClosed) getInitialProjectInfo :: FpClient m m' => Text -> m InitialProjectInfo addFile' :: FpClient m m' => NewFileInfo -> m (Maybe CompileDesc) saveFile' :: FpClient m m' => EncFileName -> Text -> m (Maybe CompileDesc) deleteFile' :: FpClient m m' => EncFileName -> m (Maybe CompileDesc) renameFile' :: FpClient m m' => EncFileName -> NewFileInfo -> RenameType -> m RenameFileOutput updateFileToken :: FpClient m m' => EncFileName -> m FayTutorialToken getFile' :: FpClient m m' => EncFileName -> m (Maybe Text) updateToken :: FpClient m m' => EncFileName -> FayTutorialToken -> m () modifyTokens :: FpClient m m' => (Map EncFileName FayTutorialToken -> Map EncFileName FayTutorialToken) -> m () watchStatusOneShot :: FpClient m m' => String -> Maybe Int -> (ProjectStatusSnapshot -> m' (Maybe a)) -> m a instance Typeable ClientException instance Eq ClientRoute instance Ord ClientRoute instance Show ClientRoute instance Show ClientException instance Exception ClientException -- | Valid Haskell qualified module names. module FP.API.ModuleName newtype ModuleName ModuleName :: Text -> ModuleName unModuleName :: ModuleName -> Text toModulePath :: ModuleName -> Text mainModule :: ModuleName checkModuleName :: ModuleName -> Either Text ModuleName -- | Parses normal modules, or main modules with an additional filepath. fromModuleName :: Text -> Maybe ModuleName -- | Determine if the given textual FilePath might be a valid -- module path. isModulePath :: Text -> Bool -- | Guesses a module name from a path, assuming that it ends in -- .hs, and every path component is a component of the name. -- Should be the inverse of toModulePath (other than the -- Just). fromModulePath :: Text -> Maybe ModuleName -- | Server types. module FP.Server.Types -- | Server monad. type ServerM r = ReaderT (ServerState, r) (LoggingT IO) type Server = ServerM ProjectId -- | The configuration for the server and some state. data ServerState ServerState :: ClientConfig -> Config -> TVar (Map ProjectId (ClientInfo Server)) -> ServerState serverCC :: ServerState -> ClientConfig serverConfig :: ServerState -> Config serverProjects :: ServerState -> TVar (Map ProjectId (ClientInfo Server)) -- | Simple command configuration. data ClientConfig CC :: !Text -> !Text -> !Manager -> !(IORef CookieJar) -> !Text -> ClientConfig ccUrl :: ClientConfig -> !Text ccToken :: ClientConfig -> !Text ccManager :: ClientConfig -> !Manager ccCookie :: ClientConfig -> !(IORef CookieJar) ccUserAgent :: ClientConfig -> !Text -- | Configuration for server. data Config Config :: !Text -> !Text -> !Integer -> !Text -> !Bool -> !Bool -> Config configToken :: Config -> !Text configUrl :: Config -> !Text configPort :: Config -> !Integer configAgent :: Config -> !Text configDebug :: Config -> !Bool configStartServer :: Config -> !Bool -- | Message from the client. data Msg MsgSaveModule :: ProjectId -> FilePath -> FilePath -> Msg MsgCheckModule :: ProjectId -> FilePath -> FilePath -> FilePath -> Msg MsgTypeInfo :: ProjectId -> FilePath -> Int -> Int -> Int -> Int -> Msg MsgGetDefinition :: ProjectId -> FilePath -> FilePath -> Int -> Int -> Int -> Int -> Msg MsgAutoComplete :: ProjectId -> FilePath -> Text -> Msg MsgHoogleIdent :: ProjectId -> FilePath -> Text -> Msg MsgHoogleDb :: ProjectId -> Text -> Msg MsgDownloadFiles :: (Either Text ProjectId) -> FilePath -> Msg MsgWriteEmacsConfig :: (Either Text ProjectId) -> FilePath -> Msg MsgRunTarget :: ProjectId -> Msg -- | A message sent when running a process. data ProcessMsg MsgStdin :: Text -> ProcessMsg MsgKill :: (Maybe ()) -> ProcessMsg -- | Reply to the client. data Reply ReplyPong :: () -> Reply ReplyOK :: () -> Reply ReplyCompileMessages :: [CompileMessage] -> Reply ReplyCompileInfos :: [SourceInfo] -> Reply ReplyTypeInfo :: [SpanType] -> Reply ReplyLocation :: DefinitionLoc -> Reply ReplyCompletions :: [Text] -> Reply ReplyHoogleResults :: [HoogleResult] -> Reply ReplyHoogleResult :: HoogleResult -> Reply ReplySaveStatus :: Bool -> Reply ReplyStdout :: Text -> Reply ReplyStderr :: Text -> Reply ReplyWebUrl :: Approot -> Reply data DefinitionLoc DefinitionLoc :: Loc -> DefinitionLoc DefinitionUseless :: Text -> DefinitionLoc DefinitionImport :: Text -> PackageModule -> PackageModule -> (Maybe Loc) -> (Maybe Loc) -> DefinitionLoc data PackageModule PackageModule :: Text -> Text -> PackageModule data Loc Loc :: FilePath -> Int -> Int -> Int -> Int -> Loc -- | A type info thing. data SpanType SpanType :: Int -> Int -> Int -> Int -> Text -> [Text] -> SpanType -- | A message from the compiler about code. data CompileMessage CompileMessage :: Text -> Text -> Text -> CompileMessage instance Show Config instance Generic Msg instance Show Msg instance Generic ProcessMsg instance Show ProcessMsg instance Generic PackageModule instance Show PackageModule instance Generic Loc instance Show Loc instance Generic DefinitionLoc instance Show DefinitionLoc instance Generic SpanType instance Show SpanType instance Show CompileMessage instance Generic CompileMessage instance Generic Reply instance Show Reply instance Datatype D1Msg instance Constructor C1_0Msg instance Constructor C1_1Msg instance Constructor C1_2Msg instance Constructor C1_3Msg instance Constructor C1_4Msg instance Constructor C1_5Msg instance Constructor C1_6Msg instance Constructor C1_7Msg instance Constructor C1_8Msg instance Constructor C1_9Msg instance Datatype D1ProcessMsg instance Constructor C1_0ProcessMsg instance Constructor C1_1ProcessMsg instance Datatype D1PackageModule instance Constructor C1_0PackageModule instance Datatype D1Loc instance Constructor C1_0Loc instance Datatype D1DefinitionLoc instance Constructor C1_0DefinitionLoc instance Constructor C1_1DefinitionLoc instance Constructor C1_2DefinitionLoc instance Datatype D1SpanType instance Constructor C1_0SpanType instance Datatype D1CompileMessage instance Constructor C1_0CompileMessage instance Datatype D1Reply instance Constructor C1_0Reply instance Constructor C1_1Reply instance Constructor C1_2Reply instance Constructor C1_3Reply instance Constructor C1_4Reply instance Constructor C1_5Reply instance Constructor C1_6Reply instance Constructor C1_7Reply instance Constructor C1_8Reply instance Constructor C1_9Reply instance Constructor C1_10Reply instance Constructor C1_11Reply instance Constructor C1_12Reply instance FromJSON CompileMessage instance ToJSON CompileMessage instance FromJSON SpanType instance ToJSON SpanType instance FromJSON Loc instance ToJSON Loc instance FromJSON PackageModule instance ToJSON PackageModule instance FromJSON DefinitionLoc instance ToJSON DefinitionLoc instance FromJSON Reply instance ToJSON Reply instance ToJSON ProcessMsg instance FromJSON ProcessMsg instance ToJSON Msg instance FromJSON Msg instance Default Config -- | Source spans and locations. module FP.Server.Spans -- | Print either a useful span or a useless one. printEitherSpan :: FilePath -> EitherSpan -> Text -- | Print a span as Main.hs:1:23 printSourceSpan :: FilePath -> SourceSpan -> Text toSpanType :: TypeInfo -> SpanType makeEitherLoc :: FilePath -> EitherSpan -> Maybe Loc makeLoc :: FilePath -> SourceSpan -> Loc -- | Main entry point to the server. module FP.Server -- | Run the given Server command with the config. Good for testing in the -- repl. runWithConfig :: ServerM () b -> Config -> IO b -- | Start the server. startServer :: Bool -> ServerM () () -- | Convert an API message to a more structurally convenient reply -- message. convertMsg :: FilePath -> SourceInfo -> CompileMessage instance FpClient (ServerM ProjectId) (ServerM ProjectId)