-- 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