{-# LANGUAGE TypeFamilies #-}
module Ide.Plugin.Cabal.Completion.Completer.Types where
import Development.IDE as D
import Distribution.PackageDescription (GenericPackageDescription)
import Ide.Plugin.Cabal.Completion.Types
import Language.LSP.Protocol.Types (CompletionItem)
type Completer = Recorder (WithPriority Log) -> CompleterData -> IO [CompletionItem]
data CompleterData = CompleterData
{
CompleterData -> IO (Maybe GenericPackageDescription)
getLatestGPD :: IO (Maybe GenericPackageDescription),
CompleterData -> CabalPrefixInfo
cabalPrefixInfo :: CabalPrefixInfo,
CompleterData -> Maybe StanzaName
stanzaName :: Maybe StanzaName
}