lsp-types-1.0.0.0: src/Language/LSP/Types/TypeDefinition.hs
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE TemplateHaskell #-}
module Language.LSP.Types.TypeDefinition where
import Data.Aeson.TH
import Language.LSP.Types.Progress
import Language.LSP.Types.StaticRegistrationOptions
import Language.LSP.Types.TextDocument
import Language.LSP.Types.Utils
data TypeDefinitionClientCapabilities = TypeDefinitionClientCapabilities
{ -- | Whether implementation supports dynamic registration. If this is set
-- to 'True'
-- the client supports the new 'TypeDefinitionRegistrationOptions' return
-- value for the corresponding server capability as well.
_dynamicRegistration :: Maybe Bool,
-- | The client supports additional metadata in the form of definition links.
--
-- Since LSP 3.14.0
_linkSupport :: Maybe Bool
}
deriving (Read, Show, Eq)
deriveJSON lspOptions ''TypeDefinitionClientCapabilities
makeExtendingDatatype "TypeDefinitionOptions" [''WorkDoneProgressOptions] []
deriveJSON lspOptions ''TypeDefinitionOptions
makeExtendingDatatype "TypeDefinitionRegistrationOptions"
[ ''TextDocumentRegistrationOptions
, ''TypeDefinitionOptions
, ''StaticRegistrationOptions
] []
deriveJSON lspOptions ''TypeDefinitionRegistrationOptions
makeExtendingDatatype "TypeDefinitionParams"
[ ''TextDocumentPositionParams
, ''WorkDoneProgressParams
, ''PartialResultParams
] []
deriveJSON lspOptions ''TypeDefinitionParams