Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- descriptor :: Recorder (WithPriority Log) -> PluginId -> PluginDescriptor IdeState
- descriptorForModules :: Recorder (WithPriority Log) -> (ModuleName -> Bool) -> PluginId -> PluginDescriptor IdeState
- extractMinimalImports :: Maybe HscEnvEq -> Maybe TcModuleResult -> IO ([LImportDecl GhcRn], Maybe [LImportDecl GhcRn])
- within :: Range -> SrcSpan -> Bool
- abbreviateImportTitle :: Text -> Text
- newtype Log = LogShake Log
Documentation
descriptor :: Recorder (WithPriority Log) -> PluginId -> PluginDescriptor IdeState Source #
The "main" function of a plugin
:: Recorder (WithPriority Log) | |
-> (ModuleName -> Bool) | Predicate to select modules that will be annotated |
-> PluginId | |
-> PluginDescriptor IdeState |
extractMinimalImports :: Maybe HscEnvEq -> Maybe TcModuleResult -> IO ([LImportDecl GhcRn], Maybe [LImportDecl GhcRn]) Source #
Use the ghc api to extract a minimal, explicit set of imports for this module
abbreviateImportTitle :: Text -> Text Source #
The title of the command is ideally the minimal explicit import decl, but we don't want to create a really massive code lens (and the decl can be extremely large!). So we abbreviate it to fit a max column size, and indicate how many more items are in the list after the abbreviation