Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- modulesCompleter :: (Maybe StanzaName -> GenericPackageDescription -> [FilePath]) -> Completer
- filePathsForExposedModules :: Recorder (WithPriority Log) -> [FilePath] -> CabalPrefixInfo -> IO [Text]
- mkExposedModulePathCompletion :: PathCompletionInfo -> FilePath -> IO Text
- fpToExposedModulePath :: FilePath -> FilePath -> Text
- exposedModulePathToFp :: Text -> FilePath
Documentation
modulesCompleter :: (Maybe StanzaName -> GenericPackageDescription -> [FilePath]) -> Completer Source #
Completer to be used when module paths can be completed for the field.
Takes an extraction function which extracts the source directories to be used by the completer.
filePathsForExposedModules :: Recorder (WithPriority Log) -> [FilePath] -> CabalPrefixInfo -> IO [Text] Source #
Takes a list of source directories and returns a list of path completions relative to any of the passed source directories which fit the passed prefix info.
mkExposedModulePathCompletion :: PathCompletionInfo -> FilePath -> IO Text Source #
Takes a pathCompletionInfo and a path segment and generates the whole filepath to be written on completion including a possibly already written prefix; using the cabal syntax for exposed modules.
Examples:
When the partial directory path `Dir.Dir2.` is stored in the PathCompletionInfo
and the completed file hs
is passed along with that PathCompletionInfo,
the result would be HaskellFile
When the partial directory path `Dir.` is stored in the PathCompletionInfo
and the completed directory Dir2
is passed along with that PathCompletionInfo,
the result would be `Dir1.Dir2.`
fpToExposedModulePath :: FilePath -> FilePath -> Text Source #
Takes a source directory path and a module path and returns
the module path relative to the source directory
in exposed module syntax where the separators are .
and the file ending is removed.
Synopsis:
.fpToExposedModulePath
sourceDir modPath
exposedModulePathToFp :: Text -> FilePath Source #
Takes a path in the exposed module syntax and translates it to a platform-compatible file path.