-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Language support for the PureScript programming language -- -- Please see README.md @package psc-ide @version 0.6.1 module PureScript.Ide.CodecJSON encodeT :: (ToJSON a) => a -> Text decodeT :: (FromJSON a) => Text -> Maybe a module PureScript.Ide.Types type ModuleIdent = Text type DeclIdent = Text type Type = Text data Fixity Infix :: Fixity Infixl :: Fixity Infixr :: Fixity data ExternDecl FunctionDecl :: DeclIdent -> Type -> ExternDecl [functionName] :: ExternDecl -> DeclIdent [functionType] :: ExternDecl -> Type FixityDeclaration :: Fixity -> Int -> DeclIdent -> ExternDecl Dependency :: ModuleIdent -> [Text] -> ExternDecl [dependencyModule] :: ExternDecl -> ModuleIdent [dependencyNames] :: ExternDecl -> [Text] ModuleDecl :: ModuleIdent -> [DeclIdent] -> ExternDecl DataDecl :: DeclIdent -> Text -> ExternDecl Export :: ModuleIdent -> ExternDecl type Module = (ModuleIdent, [ExternDecl]) data Configuration Configuration :: FilePath -> Bool -> Configuration [confOutputPath] :: Configuration -> FilePath [confDebug] :: Configuration -> Bool data PscEnvironment PscEnvironment :: TVar PscState -> Configuration -> PscEnvironment [envStateVar] :: PscEnvironment -> TVar PscState [envConfiguration] :: PscEnvironment -> Configuration type PscIde m = (MonadIO m, MonadReader PscEnvironment m) data PscState PscState :: Map Text [ExternDecl] -> Map ModuleName ExternsFile -> PscState [pscStateModules] :: PscState -> Map Text [ExternDecl] [externsFiles] :: PscState -> Map ModuleName ExternsFile emptyPscState :: PscState newtype Completion Completion :: (ModuleIdent, DeclIdent, Type) -> Completion data ModuleImport ModuleImport :: ModuleIdent -> ImportDeclarationType -> Maybe Text -> ModuleImport [importModuleName] :: ModuleImport -> ModuleIdent [importType] :: ModuleImport -> ImportDeclarationType [importQualifier] :: ModuleImport -> Maybe Text identifierFromDeclarationRef :: DeclarationRef -> String data Success CompletionResult :: [Completion] -> Success TextResult :: Text -> Success MultilineTextResult :: [Text] -> Success PursuitResult :: [PursuitResponse] -> Success ImportList :: [ModuleImport] -> Success ModuleList :: [ModuleIdent] -> Success encodeSuccess :: (ToJSON a) => a -> Value newtype PursuitQuery PursuitQuery :: Text -> PursuitQuery data PursuitSearchType Package :: PursuitSearchType Identifier :: PursuitSearchType data PursuitResponse ModuleResponse :: Text -> Text -> PursuitResponse [moduleResponseName] :: PursuitResponse -> Text [moduleResponsePackage] :: PursuitResponse -> Text DeclarationResponse :: Text -> Text -> Text -> Text -> PursuitResponse [declarationResponseType] :: PursuitResponse -> Text [declarationResponseModule] :: PursuitResponse -> Text [declarationResponseIdent] :: PursuitResponse -> Text [declarationResponsePackage] :: PursuitResponse -> Text instance GHC.Classes.Eq PureScript.Ide.Types.Success instance GHC.Show.Show PureScript.Ide.Types.Success instance GHC.Classes.Eq PureScript.Ide.Types.PursuitResponse instance GHC.Show.Show PureScript.Ide.Types.PursuitResponse instance GHC.Classes.Eq PureScript.Ide.Types.PursuitSearchType instance GHC.Show.Show PureScript.Ide.Types.PursuitSearchType instance GHC.Classes.Eq PureScript.Ide.Types.PursuitQuery instance GHC.Show.Show PureScript.Ide.Types.PursuitQuery instance GHC.Show.Show PureScript.Ide.Types.ModuleImport instance GHC.Classes.Eq PureScript.Ide.Types.Completion instance GHC.Show.Show PureScript.Ide.Types.Completion instance GHC.Show.Show PureScript.Ide.Types.PscState instance GHC.Classes.Ord PureScript.Ide.Types.ExternDecl instance GHC.Classes.Eq PureScript.Ide.Types.ExternDecl instance GHC.Show.Show PureScript.Ide.Types.ExternDecl instance GHC.Classes.Ord PureScript.Ide.Types.Fixity instance GHC.Classes.Eq PureScript.Ide.Types.Fixity instance GHC.Show.Show PureScript.Ide.Types.Fixity instance Data.Aeson.Types.Class.ToJSON PureScript.Ide.Types.ExternDecl instance GHC.Classes.Eq PureScript.Ide.Types.ModuleImport instance Data.Aeson.Types.Class.ToJSON PureScript.Ide.Types.ModuleImport instance Data.Aeson.Types.Class.FromJSON PureScript.Ide.Types.Completion instance Data.Aeson.Types.Class.ToJSON PureScript.Ide.Types.Completion instance Data.Aeson.Types.Class.ToJSON PureScript.Ide.Types.Success instance Data.Aeson.Types.Class.FromJSON PureScript.Ide.Types.PursuitSearchType instance Data.Aeson.Types.Class.FromJSON PureScript.Ide.Types.PursuitQuery instance Data.Aeson.Types.Class.ToJSON PureScript.Ide.Types.PursuitResponse module PureScript.Ide.Filter data Filter -- | Only keeps the given Modules moduleFilter :: [ModuleIdent] -> Filter -- | Only keeps Identifiers that start with the given prefix prefixFilter :: Text -> Filter -- | Only keeps Identifiers that are equal to the search string equalityFilter :: Text -> Filter -- | Only keeps the given Modules and all of their dependencies dependencyFilter :: [ModuleIdent] -> Filter runFilter :: Filter -> [Module] -> [Module] applyFilters :: [Filter] -> [Module] -> [Module] instance GHC.Base.Monoid PureScript.Ide.Filter.Filter instance Data.Aeson.Types.Class.FromJSON PureScript.Ide.Filter.Filter module PureScript.Ide.Matcher data Matcher -- | Matches any occurence of the search string with intersections | | The -- scoring measures how far the matches span the string where | closer is -- better. | Examples: | flMa matches flexMatcher. Score: 14.28 | sons -- matches sortCompletions. Score: 6.25 flexMatcher :: Text -> Matcher runMatcher :: Matcher -> [Completion] -> [Completion] instance GHC.Base.Monoid PureScript.Ide.Matcher.Matcher instance Data.Aeson.Types.Class.FromJSON PureScript.Ide.Matcher.Matcher module PureScript.Ide.Reexports getReexports :: Module -> [ExternDecl] replaceReexport :: ExternDecl -> Module -> Module -> Module emptyModule :: Module isExport :: ExternDecl -> Bool removeExportDecls :: Module -> Module replaceReexports :: Module -> Map ModuleIdent [ExternDecl] -> Module resolveReexports :: Map ModuleIdent [ExternDecl] -> Module -> Module module PureScript.Ide.Error type ErrorMsg = String data PscIdeError GeneralError :: ErrorMsg -> PscIdeError NotFound :: Text -> PscIdeError ModuleNotFound :: ModuleIdent -> PscIdeError ModuleFileNotFound :: ModuleIdent -> PscIdeError ParseError :: ParseError -> ErrorMsg -> PscIdeError textError :: PscIdeError -> Text -- | Specialized version of first from Bifunctors first :: (a -> b) -> Either a r -> Either b r instance GHC.Classes.Eq PureScript.Ide.Error.PscIdeError instance GHC.Show.Show PureScript.Ide.Error.PscIdeError instance Data.Aeson.Types.Class.ToJSON PureScript.Ide.Error.PscIdeError module PureScript.Ide.SourceFile parseModuleFromFile :: (MonadIO m, MonadError PscIdeError m) => FilePath -> m Module getDeclarations :: Module -> [Declaration] getImports :: Module -> [Declaration] getImportsForFile :: (MonadIO m, MonadError PscIdeError m) => FilePath -> m [ModuleImport] getPositionedImports :: Module -> [Declaration] unwrapPositioned :: Declaration -> Declaration unwrapPositionedRef :: DeclarationRef -> DeclarationRef getDeclPosition :: Module -> String -> Maybe SourceSpan goToDefinition :: String -> FilePath -> IO (Maybe SourceSpan) module PureScript.Ide.Pursuit queryUrl :: String jsonOpts :: Text -> Options queryPursuit :: Text -> IO (Response ByteString) handler :: HttpException -> IO [a] searchPursuitForDeclarations :: Text -> IO [PursuitResponse] findPackagesForModuleIdent :: Text -> IO [PursuitResponse] parseType :: Parser (String, String) typeParse :: Text -> Either Text (Text, Text) identifier :: Parser Text instance Data.Aeson.Types.Class.FromJSON PureScript.Ide.Types.PursuitResponse module PureScript.Ide.Externs data ExternDecl FunctionDecl :: DeclIdent -> Type -> ExternDecl [functionName] :: ExternDecl -> DeclIdent [functionType] :: ExternDecl -> Type FixityDeclaration :: Fixity -> Int -> DeclIdent -> ExternDecl Dependency :: ModuleIdent -> [Text] -> ExternDecl [dependencyModule] :: ExternDecl -> ModuleIdent [dependencyNames] :: ExternDecl -> [Text] ModuleDecl :: ModuleIdent -> [DeclIdent] -> ExternDecl DataDecl :: DeclIdent -> Text -> ExternDecl Export :: ModuleIdent -> ExternDecl type ModuleIdent = Text type DeclIdent = Text type Type = Text data Fixity Infix :: Fixity Infixl :: Fixity Infixr :: Fixity readExternFile :: (MonadIO m, MonadError PscIdeError m) => FilePath -> m ExternsFile convertExterns :: ExternsFile -> Module module PureScript.Ide.State getPscIdeState :: PscIde m => m (Map ModuleIdent [ExternDecl]) getExternFiles :: (PscIde m) => m (Map ModuleName ExternsFile) getAllDecls :: PscIde m => m [ExternDecl] getAllModules :: PscIde m => m [Module] getAllModulesWithReexports :: (PscIde m, MonadLogger m) => m [Module] getModule :: (PscIde m, MonadLogger m) => ModuleIdent -> m (Maybe Module) getModuleWithReexports :: (PscIde m, MonadLogger m) => ModuleIdent -> m (Maybe Module) insertModule :: (PscIde m, MonadLogger m) => ExternsFile -> m () insertModule' :: TVar PscState -> ExternsFile -> STM () module PureScript.Ide.CaseSplit data WildcardAnnotations explicitAnnotations :: WildcardAnnotations noAnnotations :: WildcardAnnotations -- | Constructs Patterns to insert into a sourcefile makePattern :: Text -> Int -> Int -> WildcardAnnotations -> [Constructor] -> [Text] addClause :: Text -> WildcardAnnotations -> [Text] caseSplit :: (PscIde m, MonadLogger m, MonadError PscIdeError m) => Text -> m [Constructor] module PureScript.Ide.Command data Command Load :: [ModuleIdent] -> [ModuleIdent] -> Command [loadModules] :: Command -> [ModuleIdent] [loadDependencies] :: Command -> [ModuleIdent] Type :: DeclIdent -> [Filter] -> Command [typeSearch] :: Command -> DeclIdent [typeFilters] :: Command -> [Filter] Complete :: [Filter] -> Matcher -> Command [completeFilters] :: Command -> [Filter] [completeMatcher] :: Command -> Matcher Pursuit :: PursuitQuery -> PursuitSearchType -> Command [pursuitQuery] :: Command -> PursuitQuery [pursuitSearchType] :: Command -> PursuitSearchType List :: ListType -> Command [listType] :: Command -> ListType CaseSplit :: Text -> Int -> Int -> WildcardAnnotations -> Type -> Command [caseSplitLine] :: Command -> Text [caseSplitBegin] :: Command -> Int [caseSplitEnd] :: Command -> Int [caseSplitAnnotations] :: Command -> WildcardAnnotations [caseSplitType] :: Command -> Type AddClause :: Text -> WildcardAnnotations -> Command [addClauseLine] :: Command -> Text [addClauseAnnotations] :: Command -> WildcardAnnotations Cwd :: Command Quit :: Command data ListType LoadedModules :: ListType Imports :: FilePath -> ListType AvailableModules :: ListType instance Data.Aeson.Types.Class.FromJSON PureScript.Ide.Command.ListType instance Data.Aeson.Types.Class.FromJSON PureScript.Ide.Command.Command module PureScript.Ide.Watcher reloadFile :: TVar PscState -> FilePath -> IO () watcher :: TVar PscState -> FilePath -> IO () module PureScript.Ide.Completion -- | Applies the CompletionFilters and the Matcher to the given Modules and -- sorts the found Completions according to the Matching Score getCompletions :: [Filter] -> Matcher -> [Module] -> [Completion] getExactMatches :: DeclIdent -> [Filter] -> [Module] -> [Completion] module PureScript.Ide findCompletions :: (PscIde m, MonadLogger m) => [Filter] -> Matcher -> m Success findType :: (PscIde m, MonadLogger m) => DeclIdent -> [Filter] -> m Success findPursuitCompletions :: (MonadIO m, MonadLogger m) => PursuitQuery -> m Success findPursuitPackages :: (MonadIO m, MonadLogger m) => PursuitQuery -> m Success loadExtern :: (PscIde m, MonadLogger m, MonadError PscIdeError m) => FilePath -> m () printModules :: (PscIde m) => m Success printModules' :: Map ModuleIdent [ExternDecl] -> Success listAvailableModules :: PscIde m => m Success listAvailableModules' :: [FilePath] -> [Text] caseSplit :: (PscIde m, MonadLogger m, MonadError PscIdeError m) => Text -> Int -> Int -> WildcardAnnotations -> Text -> m Success addClause :: Text -> WildcardAnnotations -> Success importsForFile :: (MonadIO m, MonadLogger m, MonadError PscIdeError m) => FilePath -> m Success -- | The first argument is a set of modules to load. The second argument -- denotes modules for which to load dependencies loadModulesAndDeps :: (PscIde m, MonadLogger m, MonadError PscIdeError m) => [ModuleIdent] -> [ModuleIdent] -> m Success loadModuleDependencies :: (PscIde m, MonadLogger m, MonadError PscIdeError m) => ModuleIdent -> m Text loadReexports :: (PscIde m, MonadLogger m, MonadError PscIdeError m) => Module -> m [ModuleIdent] getDependenciesForModule :: Module -> [ModuleIdent] loadModule :: (PscIde m, MonadLogger m, MonadError PscIdeError m) => ModuleIdent -> m Text filePathFromModule :: (PscIde m, MonadError PscIdeError m) => ModuleIdent -> m FilePath -- | Taken from Data.Either.Utils maybeToEither :: MonadError e m => e -> Maybe a -> m a