{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeOperators #-}
module Language.LSP.Types.TextDocument where
import Data.Aeson
import Data.Aeson.TH
import Data.Default
import Data.Text ( Text )
import Language.LSP.Types.Common
import Language.LSP.Types.DocumentFilter
import Language.LSP.Types.Location
import Language.LSP.Types.Uri
import Language.LSP.Types.Utils
data TextDocumentIdentifier =
TextDocumentIdentifier
{ TextDocumentIdentifier -> Uri
_uri :: Uri
} deriving (Int -> TextDocumentIdentifier -> ShowS
[TextDocumentIdentifier] -> ShowS
TextDocumentIdentifier -> String
(Int -> TextDocumentIdentifier -> ShowS)
-> (TextDocumentIdentifier -> String)
-> ([TextDocumentIdentifier] -> ShowS)
-> Show TextDocumentIdentifier
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TextDocumentIdentifier] -> ShowS
$cshowList :: [TextDocumentIdentifier] -> ShowS
show :: TextDocumentIdentifier -> String
$cshow :: TextDocumentIdentifier -> String
showsPrec :: Int -> TextDocumentIdentifier -> ShowS
$cshowsPrec :: Int -> TextDocumentIdentifier -> ShowS
Show, ReadPrec [TextDocumentIdentifier]
ReadPrec TextDocumentIdentifier
Int -> ReadS TextDocumentIdentifier
ReadS [TextDocumentIdentifier]
(Int -> ReadS TextDocumentIdentifier)
-> ReadS [TextDocumentIdentifier]
-> ReadPrec TextDocumentIdentifier
-> ReadPrec [TextDocumentIdentifier]
-> Read TextDocumentIdentifier
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TextDocumentIdentifier]
$creadListPrec :: ReadPrec [TextDocumentIdentifier]
readPrec :: ReadPrec TextDocumentIdentifier
$creadPrec :: ReadPrec TextDocumentIdentifier
readList :: ReadS [TextDocumentIdentifier]
$creadList :: ReadS [TextDocumentIdentifier]
readsPrec :: Int -> ReadS TextDocumentIdentifier
$creadsPrec :: Int -> ReadS TextDocumentIdentifier
Read, TextDocumentIdentifier -> TextDocumentIdentifier -> Bool
(TextDocumentIdentifier -> TextDocumentIdentifier -> Bool)
-> (TextDocumentIdentifier -> TextDocumentIdentifier -> Bool)
-> Eq TextDocumentIdentifier
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TextDocumentIdentifier -> TextDocumentIdentifier -> Bool
$c/= :: TextDocumentIdentifier -> TextDocumentIdentifier -> Bool
== :: TextDocumentIdentifier -> TextDocumentIdentifier -> Bool
$c== :: TextDocumentIdentifier -> TextDocumentIdentifier -> Bool
Eq)
deriveJSON lspOptions ''TextDocumentIdentifier
type TextDocumentVersion = Maybe Int
makeExtendingDatatype "VersionedTextDocumentIdentifier" [''TextDocumentIdentifier]
[ ("_version", [t| TextDocumentVersion |])]
deriveJSON lspOptions ''VersionedTextDocumentIdentifier
data TextDocumentItem =
TextDocumentItem {
TextDocumentItem -> Uri
_uri :: Uri
, TextDocumentItem -> Text
_languageId :: Text
, TextDocumentItem -> Int
_version :: Int
, TextDocumentItem -> Text
_text :: Text
} deriving (Int -> TextDocumentItem -> ShowS
[TextDocumentItem] -> ShowS
TextDocumentItem -> String
(Int -> TextDocumentItem -> ShowS)
-> (TextDocumentItem -> String)
-> ([TextDocumentItem] -> ShowS)
-> Show TextDocumentItem
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TextDocumentItem] -> ShowS
$cshowList :: [TextDocumentItem] -> ShowS
show :: TextDocumentItem -> String
$cshow :: TextDocumentItem -> String
showsPrec :: Int -> TextDocumentItem -> ShowS
$cshowsPrec :: Int -> TextDocumentItem -> ShowS
Show, ReadPrec [TextDocumentItem]
ReadPrec TextDocumentItem
Int -> ReadS TextDocumentItem
ReadS [TextDocumentItem]
(Int -> ReadS TextDocumentItem)
-> ReadS [TextDocumentItem]
-> ReadPrec TextDocumentItem
-> ReadPrec [TextDocumentItem]
-> Read TextDocumentItem
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TextDocumentItem]
$creadListPrec :: ReadPrec [TextDocumentItem]
readPrec :: ReadPrec TextDocumentItem
$creadPrec :: ReadPrec TextDocumentItem
readList :: ReadS [TextDocumentItem]
$creadList :: ReadS [TextDocumentItem]
readsPrec :: Int -> ReadS TextDocumentItem
$creadsPrec :: Int -> ReadS TextDocumentItem
Read, TextDocumentItem -> TextDocumentItem -> Bool
(TextDocumentItem -> TextDocumentItem -> Bool)
-> (TextDocumentItem -> TextDocumentItem -> Bool)
-> Eq TextDocumentItem
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TextDocumentItem -> TextDocumentItem -> Bool
$c/= :: TextDocumentItem -> TextDocumentItem -> Bool
== :: TextDocumentItem -> TextDocumentItem -> Bool
$c== :: TextDocumentItem -> TextDocumentItem -> Bool
Eq)
deriveJSON lspOptions ''TextDocumentItem
data TextDocumentPositionParams =
TextDocumentPositionParams
{
TextDocumentPositionParams -> TextDocumentIdentifier
_textDocument :: TextDocumentIdentifier
,
TextDocumentPositionParams -> Position
_position :: Position
} deriving (Int -> TextDocumentPositionParams -> ShowS
[TextDocumentPositionParams] -> ShowS
TextDocumentPositionParams -> String
(Int -> TextDocumentPositionParams -> ShowS)
-> (TextDocumentPositionParams -> String)
-> ([TextDocumentPositionParams] -> ShowS)
-> Show TextDocumentPositionParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TextDocumentPositionParams] -> ShowS
$cshowList :: [TextDocumentPositionParams] -> ShowS
show :: TextDocumentPositionParams -> String
$cshow :: TextDocumentPositionParams -> String
showsPrec :: Int -> TextDocumentPositionParams -> ShowS
$cshowsPrec :: Int -> TextDocumentPositionParams -> ShowS
Show, ReadPrec [TextDocumentPositionParams]
ReadPrec TextDocumentPositionParams
Int -> ReadS TextDocumentPositionParams
ReadS [TextDocumentPositionParams]
(Int -> ReadS TextDocumentPositionParams)
-> ReadS [TextDocumentPositionParams]
-> ReadPrec TextDocumentPositionParams
-> ReadPrec [TextDocumentPositionParams]
-> Read TextDocumentPositionParams
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TextDocumentPositionParams]
$creadListPrec :: ReadPrec [TextDocumentPositionParams]
readPrec :: ReadPrec TextDocumentPositionParams
$creadPrec :: ReadPrec TextDocumentPositionParams
readList :: ReadS [TextDocumentPositionParams]
$creadList :: ReadS [TextDocumentPositionParams]
readsPrec :: Int -> ReadS TextDocumentPositionParams
$creadsPrec :: Int -> ReadS TextDocumentPositionParams
Read, TextDocumentPositionParams -> TextDocumentPositionParams -> Bool
(TextDocumentPositionParams -> TextDocumentPositionParams -> Bool)
-> (TextDocumentPositionParams
-> TextDocumentPositionParams -> Bool)
-> Eq TextDocumentPositionParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TextDocumentPositionParams -> TextDocumentPositionParams -> Bool
$c/= :: TextDocumentPositionParams -> TextDocumentPositionParams -> Bool
== :: TextDocumentPositionParams -> TextDocumentPositionParams -> Bool
$c== :: TextDocumentPositionParams -> TextDocumentPositionParams -> Bool
Eq)
deriveJSON lspOptions ''TextDocumentPositionParams
data TextDocumentSyncClientCapabilities =
TextDocumentSyncClientCapabilities
{
TextDocumentSyncClientCapabilities -> Maybe Bool
_dynamicRegistration :: Maybe Bool
, TextDocumentSyncClientCapabilities -> Maybe Bool
_willSave :: Maybe Bool
, TextDocumentSyncClientCapabilities -> Maybe Bool
_willSaveWaitUntil :: Maybe Bool
, TextDocumentSyncClientCapabilities -> Maybe Bool
_didSave :: Maybe Bool
} deriving (Int -> TextDocumentSyncClientCapabilities -> ShowS
[TextDocumentSyncClientCapabilities] -> ShowS
TextDocumentSyncClientCapabilities -> String
(Int -> TextDocumentSyncClientCapabilities -> ShowS)
-> (TextDocumentSyncClientCapabilities -> String)
-> ([TextDocumentSyncClientCapabilities] -> ShowS)
-> Show TextDocumentSyncClientCapabilities
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TextDocumentSyncClientCapabilities] -> ShowS
$cshowList :: [TextDocumentSyncClientCapabilities] -> ShowS
show :: TextDocumentSyncClientCapabilities -> String
$cshow :: TextDocumentSyncClientCapabilities -> String
showsPrec :: Int -> TextDocumentSyncClientCapabilities -> ShowS
$cshowsPrec :: Int -> TextDocumentSyncClientCapabilities -> ShowS
Show, ReadPrec [TextDocumentSyncClientCapabilities]
ReadPrec TextDocumentSyncClientCapabilities
Int -> ReadS TextDocumentSyncClientCapabilities
ReadS [TextDocumentSyncClientCapabilities]
(Int -> ReadS TextDocumentSyncClientCapabilities)
-> ReadS [TextDocumentSyncClientCapabilities]
-> ReadPrec TextDocumentSyncClientCapabilities
-> ReadPrec [TextDocumentSyncClientCapabilities]
-> Read TextDocumentSyncClientCapabilities
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TextDocumentSyncClientCapabilities]
$creadListPrec :: ReadPrec [TextDocumentSyncClientCapabilities]
readPrec :: ReadPrec TextDocumentSyncClientCapabilities
$creadPrec :: ReadPrec TextDocumentSyncClientCapabilities
readList :: ReadS [TextDocumentSyncClientCapabilities]
$creadList :: ReadS [TextDocumentSyncClientCapabilities]
readsPrec :: Int -> ReadS TextDocumentSyncClientCapabilities
$creadsPrec :: Int -> ReadS TextDocumentSyncClientCapabilities
Read, TextDocumentSyncClientCapabilities
-> TextDocumentSyncClientCapabilities -> Bool
(TextDocumentSyncClientCapabilities
-> TextDocumentSyncClientCapabilities -> Bool)
-> (TextDocumentSyncClientCapabilities
-> TextDocumentSyncClientCapabilities -> Bool)
-> Eq TextDocumentSyncClientCapabilities
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TextDocumentSyncClientCapabilities
-> TextDocumentSyncClientCapabilities -> Bool
$c/= :: TextDocumentSyncClientCapabilities
-> TextDocumentSyncClientCapabilities -> Bool
== :: TextDocumentSyncClientCapabilities
-> TextDocumentSyncClientCapabilities -> Bool
$c== :: TextDocumentSyncClientCapabilities
-> TextDocumentSyncClientCapabilities -> Bool
Eq)
deriveJSON lspOptions ''TextDocumentSyncClientCapabilities
instance Default TextDocumentSyncClientCapabilities where
def :: TextDocumentSyncClientCapabilities
def = Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> TextDocumentSyncClientCapabilities
TextDocumentSyncClientCapabilities Maybe Bool
forall a. Default a => a
def Maybe Bool
forall a. Default a => a
def Maybe Bool
forall a. Default a => a
def Maybe Bool
forall a. Default a => a
def
data SaveOptions =
SaveOptions
{
SaveOptions -> Maybe Bool
_includeText :: Maybe Bool
} deriving (Int -> SaveOptions -> ShowS
[SaveOptions] -> ShowS
SaveOptions -> String
(Int -> SaveOptions -> ShowS)
-> (SaveOptions -> String)
-> ([SaveOptions] -> ShowS)
-> Show SaveOptions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SaveOptions] -> ShowS
$cshowList :: [SaveOptions] -> ShowS
show :: SaveOptions -> String
$cshow :: SaveOptions -> String
showsPrec :: Int -> SaveOptions -> ShowS
$cshowsPrec :: Int -> SaveOptions -> ShowS
Show, ReadPrec [SaveOptions]
ReadPrec SaveOptions
Int -> ReadS SaveOptions
ReadS [SaveOptions]
(Int -> ReadS SaveOptions)
-> ReadS [SaveOptions]
-> ReadPrec SaveOptions
-> ReadPrec [SaveOptions]
-> Read SaveOptions
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SaveOptions]
$creadListPrec :: ReadPrec [SaveOptions]
readPrec :: ReadPrec SaveOptions
$creadPrec :: ReadPrec SaveOptions
readList :: ReadS [SaveOptions]
$creadList :: ReadS [SaveOptions]
readsPrec :: Int -> ReadS SaveOptions
$creadsPrec :: Int -> ReadS SaveOptions
Read, SaveOptions -> SaveOptions -> Bool
(SaveOptions -> SaveOptions -> Bool)
-> (SaveOptions -> SaveOptions -> Bool) -> Eq SaveOptions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SaveOptions -> SaveOptions -> Bool
$c/= :: SaveOptions -> SaveOptions -> Bool
== :: SaveOptions -> SaveOptions -> Bool
$c== :: SaveOptions -> SaveOptions -> Bool
Eq)
data TextDocumentSyncKind
=
TdSyncNone
|
TdSyncFull
|
TdSyncIncremental
deriving (ReadPrec [TextDocumentSyncKind]
ReadPrec TextDocumentSyncKind
Int -> ReadS TextDocumentSyncKind
ReadS [TextDocumentSyncKind]
(Int -> ReadS TextDocumentSyncKind)
-> ReadS [TextDocumentSyncKind]
-> ReadPrec TextDocumentSyncKind
-> ReadPrec [TextDocumentSyncKind]
-> Read TextDocumentSyncKind
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TextDocumentSyncKind]
$creadListPrec :: ReadPrec [TextDocumentSyncKind]
readPrec :: ReadPrec TextDocumentSyncKind
$creadPrec :: ReadPrec TextDocumentSyncKind
readList :: ReadS [TextDocumentSyncKind]
$creadList :: ReadS [TextDocumentSyncKind]
readsPrec :: Int -> ReadS TextDocumentSyncKind
$creadsPrec :: Int -> ReadS TextDocumentSyncKind
Read, TextDocumentSyncKind -> TextDocumentSyncKind -> Bool
(TextDocumentSyncKind -> TextDocumentSyncKind -> Bool)
-> (TextDocumentSyncKind -> TextDocumentSyncKind -> Bool)
-> Eq TextDocumentSyncKind
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TextDocumentSyncKind -> TextDocumentSyncKind -> Bool
$c/= :: TextDocumentSyncKind -> TextDocumentSyncKind -> Bool
== :: TextDocumentSyncKind -> TextDocumentSyncKind -> Bool
$c== :: TextDocumentSyncKind -> TextDocumentSyncKind -> Bool
Eq, Int -> TextDocumentSyncKind -> ShowS
[TextDocumentSyncKind] -> ShowS
TextDocumentSyncKind -> String
(Int -> TextDocumentSyncKind -> ShowS)
-> (TextDocumentSyncKind -> String)
-> ([TextDocumentSyncKind] -> ShowS)
-> Show TextDocumentSyncKind
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TextDocumentSyncKind] -> ShowS
$cshowList :: [TextDocumentSyncKind] -> ShowS
show :: TextDocumentSyncKind -> String
$cshow :: TextDocumentSyncKind -> String
showsPrec :: Int -> TextDocumentSyncKind -> ShowS
$cshowsPrec :: Int -> TextDocumentSyncKind -> ShowS
Show)
instance ToJSON TextDocumentSyncKind where
toJSON :: TextDocumentSyncKind -> Value
toJSON TextDocumentSyncKind
TdSyncNone = Scientific -> Value
Number Scientific
0
toJSON TextDocumentSyncKind
TdSyncFull = Scientific -> Value
Number Scientific
1
toJSON TextDocumentSyncKind
TdSyncIncremental = Scientific -> Value
Number Scientific
2
instance FromJSON TextDocumentSyncKind where
parseJSON :: Value -> Parser TextDocumentSyncKind
parseJSON (Number Scientific
0) = TextDocumentSyncKind -> Parser TextDocumentSyncKind
forall (f :: * -> *) a. Applicative f => a -> f a
pure TextDocumentSyncKind
TdSyncNone
parseJSON (Number Scientific
1) = TextDocumentSyncKind -> Parser TextDocumentSyncKind
forall (f :: * -> *) a. Applicative f => a -> f a
pure TextDocumentSyncKind
TdSyncFull
parseJSON (Number Scientific
2) = TextDocumentSyncKind -> Parser TextDocumentSyncKind
forall (f :: * -> *) a. Applicative f => a -> f a
pure TextDocumentSyncKind
TdSyncIncremental
parseJSON Value
_ = Parser TextDocumentSyncKind
forall a. Monoid a => a
mempty
data TextDocumentSyncOptions =
TextDocumentSyncOptions
{
TextDocumentSyncOptions -> Maybe Bool
_openClose :: Maybe Bool
,
TextDocumentSyncOptions -> Maybe TextDocumentSyncKind
_change :: Maybe TextDocumentSyncKind
, TextDocumentSyncOptions -> Maybe Bool
_willSave :: Maybe Bool
, TextDocumentSyncOptions -> Maybe Bool
_willSaveWaitUntil :: Maybe Bool
, TextDocumentSyncOptions -> Maybe (Bool |? SaveOptions)
_save :: Maybe (Bool |? SaveOptions)
} deriving (Int -> TextDocumentSyncOptions -> ShowS
[TextDocumentSyncOptions] -> ShowS
TextDocumentSyncOptions -> String
(Int -> TextDocumentSyncOptions -> ShowS)
-> (TextDocumentSyncOptions -> String)
-> ([TextDocumentSyncOptions] -> ShowS)
-> Show TextDocumentSyncOptions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TextDocumentSyncOptions] -> ShowS
$cshowList :: [TextDocumentSyncOptions] -> ShowS
show :: TextDocumentSyncOptions -> String
$cshow :: TextDocumentSyncOptions -> String
showsPrec :: Int -> TextDocumentSyncOptions -> ShowS
$cshowsPrec :: Int -> TextDocumentSyncOptions -> ShowS
Show, ReadPrec [TextDocumentSyncOptions]
ReadPrec TextDocumentSyncOptions
Int -> ReadS TextDocumentSyncOptions
ReadS [TextDocumentSyncOptions]
(Int -> ReadS TextDocumentSyncOptions)
-> ReadS [TextDocumentSyncOptions]
-> ReadPrec TextDocumentSyncOptions
-> ReadPrec [TextDocumentSyncOptions]
-> Read TextDocumentSyncOptions
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TextDocumentSyncOptions]
$creadListPrec :: ReadPrec [TextDocumentSyncOptions]
readPrec :: ReadPrec TextDocumentSyncOptions
$creadPrec :: ReadPrec TextDocumentSyncOptions
readList :: ReadS [TextDocumentSyncOptions]
$creadList :: ReadS [TextDocumentSyncOptions]
readsPrec :: Int -> ReadS TextDocumentSyncOptions
$creadsPrec :: Int -> ReadS TextDocumentSyncOptions
Read, TextDocumentSyncOptions -> TextDocumentSyncOptions -> Bool
(TextDocumentSyncOptions -> TextDocumentSyncOptions -> Bool)
-> (TextDocumentSyncOptions -> TextDocumentSyncOptions -> Bool)
-> Eq TextDocumentSyncOptions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TextDocumentSyncOptions -> TextDocumentSyncOptions -> Bool
$c/= :: TextDocumentSyncOptions -> TextDocumentSyncOptions -> Bool
== :: TextDocumentSyncOptions -> TextDocumentSyncOptions -> Bool
$c== :: TextDocumentSyncOptions -> TextDocumentSyncOptions -> Bool
Eq)
deriveJSON lspOptions ''TextDocumentSyncOptions
data TextDocumentRegistrationOptions =
TextDocumentRegistrationOptions
{ TextDocumentRegistrationOptions -> Maybe DocumentSelector
_documentSelector :: Maybe DocumentSelector
} deriving (Int -> TextDocumentRegistrationOptions -> ShowS
[TextDocumentRegistrationOptions] -> ShowS
TextDocumentRegistrationOptions -> String
(Int -> TextDocumentRegistrationOptions -> ShowS)
-> (TextDocumentRegistrationOptions -> String)
-> ([TextDocumentRegistrationOptions] -> ShowS)
-> Show TextDocumentRegistrationOptions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TextDocumentRegistrationOptions] -> ShowS
$cshowList :: [TextDocumentRegistrationOptions] -> ShowS
show :: TextDocumentRegistrationOptions -> String
$cshow :: TextDocumentRegistrationOptions -> String
showsPrec :: Int -> TextDocumentRegistrationOptions -> ShowS
$cshowsPrec :: Int -> TextDocumentRegistrationOptions -> ShowS
Show, ReadPrec [TextDocumentRegistrationOptions]
ReadPrec TextDocumentRegistrationOptions
Int -> ReadS TextDocumentRegistrationOptions
ReadS [TextDocumentRegistrationOptions]
(Int -> ReadS TextDocumentRegistrationOptions)
-> ReadS [TextDocumentRegistrationOptions]
-> ReadPrec TextDocumentRegistrationOptions
-> ReadPrec [TextDocumentRegistrationOptions]
-> Read TextDocumentRegistrationOptions
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TextDocumentRegistrationOptions]
$creadListPrec :: ReadPrec [TextDocumentRegistrationOptions]
readPrec :: ReadPrec TextDocumentRegistrationOptions
$creadPrec :: ReadPrec TextDocumentRegistrationOptions
readList :: ReadS [TextDocumentRegistrationOptions]
$creadList :: ReadS [TextDocumentRegistrationOptions]
readsPrec :: Int -> ReadS TextDocumentRegistrationOptions
$creadsPrec :: Int -> ReadS TextDocumentRegistrationOptions
Read, TextDocumentRegistrationOptions
-> TextDocumentRegistrationOptions -> Bool
(TextDocumentRegistrationOptions
-> TextDocumentRegistrationOptions -> Bool)
-> (TextDocumentRegistrationOptions
-> TextDocumentRegistrationOptions -> Bool)
-> Eq TextDocumentRegistrationOptions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TextDocumentRegistrationOptions
-> TextDocumentRegistrationOptions -> Bool
$c/= :: TextDocumentRegistrationOptions
-> TextDocumentRegistrationOptions -> Bool
== :: TextDocumentRegistrationOptions
-> TextDocumentRegistrationOptions -> Bool
$c== :: TextDocumentRegistrationOptions
-> TextDocumentRegistrationOptions -> Bool
Eq)
deriveJSON lspOptions ''TextDocumentRegistrationOptions
data DidOpenTextDocumentParams =
DidOpenTextDocumentParams
{
DidOpenTextDocumentParams -> TextDocumentItem
_textDocument :: TextDocumentItem
} deriving (Int -> DidOpenTextDocumentParams -> ShowS
[DidOpenTextDocumentParams] -> ShowS
DidOpenTextDocumentParams -> String
(Int -> DidOpenTextDocumentParams -> ShowS)
-> (DidOpenTextDocumentParams -> String)
-> ([DidOpenTextDocumentParams] -> ShowS)
-> Show DidOpenTextDocumentParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DidOpenTextDocumentParams] -> ShowS
$cshowList :: [DidOpenTextDocumentParams] -> ShowS
show :: DidOpenTextDocumentParams -> String
$cshow :: DidOpenTextDocumentParams -> String
showsPrec :: Int -> DidOpenTextDocumentParams -> ShowS
$cshowsPrec :: Int -> DidOpenTextDocumentParams -> ShowS
Show, ReadPrec [DidOpenTextDocumentParams]
ReadPrec DidOpenTextDocumentParams
Int -> ReadS DidOpenTextDocumentParams
ReadS [DidOpenTextDocumentParams]
(Int -> ReadS DidOpenTextDocumentParams)
-> ReadS [DidOpenTextDocumentParams]
-> ReadPrec DidOpenTextDocumentParams
-> ReadPrec [DidOpenTextDocumentParams]
-> Read DidOpenTextDocumentParams
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DidOpenTextDocumentParams]
$creadListPrec :: ReadPrec [DidOpenTextDocumentParams]
readPrec :: ReadPrec DidOpenTextDocumentParams
$creadPrec :: ReadPrec DidOpenTextDocumentParams
readList :: ReadS [DidOpenTextDocumentParams]
$creadList :: ReadS [DidOpenTextDocumentParams]
readsPrec :: Int -> ReadS DidOpenTextDocumentParams
$creadsPrec :: Int -> ReadS DidOpenTextDocumentParams
Read, DidOpenTextDocumentParams -> DidOpenTextDocumentParams -> Bool
(DidOpenTextDocumentParams -> DidOpenTextDocumentParams -> Bool)
-> (DidOpenTextDocumentParams -> DidOpenTextDocumentParams -> Bool)
-> Eq DidOpenTextDocumentParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DidOpenTextDocumentParams -> DidOpenTextDocumentParams -> Bool
$c/= :: DidOpenTextDocumentParams -> DidOpenTextDocumentParams -> Bool
== :: DidOpenTextDocumentParams -> DidOpenTextDocumentParams -> Bool
$c== :: DidOpenTextDocumentParams -> DidOpenTextDocumentParams -> Bool
Eq)
deriveJSON lspOptions ''DidOpenTextDocumentParams
makeExtendingDatatype "TextDocumentChangeRegistrationOptions"
[''TextDocumentRegistrationOptions]
[("_syncKind", [t| TextDocumentSyncKind |])]
deriveJSON lspOptions ''TextDocumentChangeRegistrationOptions
{-# DEPRECATED _rangeLength "Use _range instead" #-}
data TextDocumentContentChangeEvent =
TextDocumentContentChangeEvent
{
TextDocumentContentChangeEvent -> Maybe Range
_range :: Maybe Range
, TextDocumentContentChangeEvent -> TextDocumentVersion
_rangeLength :: Maybe Int
, TextDocumentContentChangeEvent -> Text
_text :: Text
}
deriving (ReadPrec [TextDocumentContentChangeEvent]
ReadPrec TextDocumentContentChangeEvent
Int -> ReadS TextDocumentContentChangeEvent
ReadS [TextDocumentContentChangeEvent]
(Int -> ReadS TextDocumentContentChangeEvent)
-> ReadS [TextDocumentContentChangeEvent]
-> ReadPrec TextDocumentContentChangeEvent
-> ReadPrec [TextDocumentContentChangeEvent]
-> Read TextDocumentContentChangeEvent
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TextDocumentContentChangeEvent]
$creadListPrec :: ReadPrec [TextDocumentContentChangeEvent]
readPrec :: ReadPrec TextDocumentContentChangeEvent
$creadPrec :: ReadPrec TextDocumentContentChangeEvent
readList :: ReadS [TextDocumentContentChangeEvent]
$creadList :: ReadS [TextDocumentContentChangeEvent]
readsPrec :: Int -> ReadS TextDocumentContentChangeEvent
$creadsPrec :: Int -> ReadS TextDocumentContentChangeEvent
Read,Int -> TextDocumentContentChangeEvent -> ShowS
[TextDocumentContentChangeEvent] -> ShowS
TextDocumentContentChangeEvent -> String
(Int -> TextDocumentContentChangeEvent -> ShowS)
-> (TextDocumentContentChangeEvent -> String)
-> ([TextDocumentContentChangeEvent] -> ShowS)
-> Show TextDocumentContentChangeEvent
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TextDocumentContentChangeEvent] -> ShowS
$cshowList :: [TextDocumentContentChangeEvent] -> ShowS
show :: TextDocumentContentChangeEvent -> String
$cshow :: TextDocumentContentChangeEvent -> String
showsPrec :: Int -> TextDocumentContentChangeEvent -> ShowS
$cshowsPrec :: Int -> TextDocumentContentChangeEvent -> ShowS
Show,TextDocumentContentChangeEvent
-> TextDocumentContentChangeEvent -> Bool
(TextDocumentContentChangeEvent
-> TextDocumentContentChangeEvent -> Bool)
-> (TextDocumentContentChangeEvent
-> TextDocumentContentChangeEvent -> Bool)
-> Eq TextDocumentContentChangeEvent
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TextDocumentContentChangeEvent
-> TextDocumentContentChangeEvent -> Bool
$c/= :: TextDocumentContentChangeEvent
-> TextDocumentContentChangeEvent -> Bool
== :: TextDocumentContentChangeEvent
-> TextDocumentContentChangeEvent -> Bool
$c== :: TextDocumentContentChangeEvent
-> TextDocumentContentChangeEvent -> Bool
Eq)
deriveJSON lspOptions ''TextDocumentContentChangeEvent
data DidChangeTextDocumentParams =
DidChangeTextDocumentParams
{
DidChangeTextDocumentParams -> VersionedTextDocumentIdentifier
_textDocument :: VersionedTextDocumentIdentifier
, DidChangeTextDocumentParams -> List TextDocumentContentChangeEvent
_contentChanges :: List TextDocumentContentChangeEvent
} deriving (Int -> DidChangeTextDocumentParams -> ShowS
[DidChangeTextDocumentParams] -> ShowS
DidChangeTextDocumentParams -> String
(Int -> DidChangeTextDocumentParams -> ShowS)
-> (DidChangeTextDocumentParams -> String)
-> ([DidChangeTextDocumentParams] -> ShowS)
-> Show DidChangeTextDocumentParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DidChangeTextDocumentParams] -> ShowS
$cshowList :: [DidChangeTextDocumentParams] -> ShowS
show :: DidChangeTextDocumentParams -> String
$cshow :: DidChangeTextDocumentParams -> String
showsPrec :: Int -> DidChangeTextDocumentParams -> ShowS
$cshowsPrec :: Int -> DidChangeTextDocumentParams -> ShowS
Show,ReadPrec [DidChangeTextDocumentParams]
ReadPrec DidChangeTextDocumentParams
Int -> ReadS DidChangeTextDocumentParams
ReadS [DidChangeTextDocumentParams]
(Int -> ReadS DidChangeTextDocumentParams)
-> ReadS [DidChangeTextDocumentParams]
-> ReadPrec DidChangeTextDocumentParams
-> ReadPrec [DidChangeTextDocumentParams]
-> Read DidChangeTextDocumentParams
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DidChangeTextDocumentParams]
$creadListPrec :: ReadPrec [DidChangeTextDocumentParams]
readPrec :: ReadPrec DidChangeTextDocumentParams
$creadPrec :: ReadPrec DidChangeTextDocumentParams
readList :: ReadS [DidChangeTextDocumentParams]
$creadList :: ReadS [DidChangeTextDocumentParams]
readsPrec :: Int -> ReadS DidChangeTextDocumentParams
$creadsPrec :: Int -> ReadS DidChangeTextDocumentParams
Read,DidChangeTextDocumentParams -> DidChangeTextDocumentParams -> Bool
(DidChangeTextDocumentParams
-> DidChangeTextDocumentParams -> Bool)
-> (DidChangeTextDocumentParams
-> DidChangeTextDocumentParams -> Bool)
-> Eq DidChangeTextDocumentParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DidChangeTextDocumentParams -> DidChangeTextDocumentParams -> Bool
$c/= :: DidChangeTextDocumentParams -> DidChangeTextDocumentParams -> Bool
== :: DidChangeTextDocumentParams -> DidChangeTextDocumentParams -> Bool
$c== :: DidChangeTextDocumentParams -> DidChangeTextDocumentParams -> Bool
Eq)
deriveJSON lspOptions ''DidChangeTextDocumentParams
data TextDocumentSaveReason
= SaveManual
| SaveAfterDelay
| SaveFocusOut
deriving (Int -> TextDocumentSaveReason -> ShowS
[TextDocumentSaveReason] -> ShowS
TextDocumentSaveReason -> String
(Int -> TextDocumentSaveReason -> ShowS)
-> (TextDocumentSaveReason -> String)
-> ([TextDocumentSaveReason] -> ShowS)
-> Show TextDocumentSaveReason
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TextDocumentSaveReason] -> ShowS
$cshowList :: [TextDocumentSaveReason] -> ShowS
show :: TextDocumentSaveReason -> String
$cshow :: TextDocumentSaveReason -> String
showsPrec :: Int -> TextDocumentSaveReason -> ShowS
$cshowsPrec :: Int -> TextDocumentSaveReason -> ShowS
Show, ReadPrec [TextDocumentSaveReason]
ReadPrec TextDocumentSaveReason
Int -> ReadS TextDocumentSaveReason
ReadS [TextDocumentSaveReason]
(Int -> ReadS TextDocumentSaveReason)
-> ReadS [TextDocumentSaveReason]
-> ReadPrec TextDocumentSaveReason
-> ReadPrec [TextDocumentSaveReason]
-> Read TextDocumentSaveReason
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TextDocumentSaveReason]
$creadListPrec :: ReadPrec [TextDocumentSaveReason]
readPrec :: ReadPrec TextDocumentSaveReason
$creadPrec :: ReadPrec TextDocumentSaveReason
readList :: ReadS [TextDocumentSaveReason]
$creadList :: ReadS [TextDocumentSaveReason]
readsPrec :: Int -> ReadS TextDocumentSaveReason
$creadsPrec :: Int -> ReadS TextDocumentSaveReason
Read, TextDocumentSaveReason -> TextDocumentSaveReason -> Bool
(TextDocumentSaveReason -> TextDocumentSaveReason -> Bool)
-> (TextDocumentSaveReason -> TextDocumentSaveReason -> Bool)
-> Eq TextDocumentSaveReason
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TextDocumentSaveReason -> TextDocumentSaveReason -> Bool
$c/= :: TextDocumentSaveReason -> TextDocumentSaveReason -> Bool
== :: TextDocumentSaveReason -> TextDocumentSaveReason -> Bool
$c== :: TextDocumentSaveReason -> TextDocumentSaveReason -> Bool
Eq)
instance ToJSON TextDocumentSaveReason where
toJSON :: TextDocumentSaveReason -> Value
toJSON TextDocumentSaveReason
SaveManual = Scientific -> Value
Number Scientific
1
toJSON TextDocumentSaveReason
SaveAfterDelay = Scientific -> Value
Number Scientific
2
toJSON TextDocumentSaveReason
SaveFocusOut = Scientific -> Value
Number Scientific
3
instance FromJSON TextDocumentSaveReason where
parseJSON :: Value -> Parser TextDocumentSaveReason
parseJSON (Number Scientific
1) = TextDocumentSaveReason -> Parser TextDocumentSaveReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure TextDocumentSaveReason
SaveManual
parseJSON (Number Scientific
2) = TextDocumentSaveReason -> Parser TextDocumentSaveReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure TextDocumentSaveReason
SaveAfterDelay
parseJSON (Number Scientific
3) = TextDocumentSaveReason -> Parser TextDocumentSaveReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure TextDocumentSaveReason
SaveFocusOut
parseJSON Value
_ = Parser TextDocumentSaveReason
forall a. Monoid a => a
mempty
data WillSaveTextDocumentParams =
WillSaveTextDocumentParams
{
WillSaveTextDocumentParams -> TextDocumentIdentifier
_textDocument :: TextDocumentIdentifier
, WillSaveTextDocumentParams -> TextDocumentSaveReason
_reason :: TextDocumentSaveReason
} deriving (Int -> WillSaveTextDocumentParams -> ShowS
[WillSaveTextDocumentParams] -> ShowS
WillSaveTextDocumentParams -> String
(Int -> WillSaveTextDocumentParams -> ShowS)
-> (WillSaveTextDocumentParams -> String)
-> ([WillSaveTextDocumentParams] -> ShowS)
-> Show WillSaveTextDocumentParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [WillSaveTextDocumentParams] -> ShowS
$cshowList :: [WillSaveTextDocumentParams] -> ShowS
show :: WillSaveTextDocumentParams -> String
$cshow :: WillSaveTextDocumentParams -> String
showsPrec :: Int -> WillSaveTextDocumentParams -> ShowS
$cshowsPrec :: Int -> WillSaveTextDocumentParams -> ShowS
Show, ReadPrec [WillSaveTextDocumentParams]
ReadPrec WillSaveTextDocumentParams
Int -> ReadS WillSaveTextDocumentParams
ReadS [WillSaveTextDocumentParams]
(Int -> ReadS WillSaveTextDocumentParams)
-> ReadS [WillSaveTextDocumentParams]
-> ReadPrec WillSaveTextDocumentParams
-> ReadPrec [WillSaveTextDocumentParams]
-> Read WillSaveTextDocumentParams
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [WillSaveTextDocumentParams]
$creadListPrec :: ReadPrec [WillSaveTextDocumentParams]
readPrec :: ReadPrec WillSaveTextDocumentParams
$creadPrec :: ReadPrec WillSaveTextDocumentParams
readList :: ReadS [WillSaveTextDocumentParams]
$creadList :: ReadS [WillSaveTextDocumentParams]
readsPrec :: Int -> ReadS WillSaveTextDocumentParams
$creadsPrec :: Int -> ReadS WillSaveTextDocumentParams
Read, WillSaveTextDocumentParams -> WillSaveTextDocumentParams -> Bool
(WillSaveTextDocumentParams -> WillSaveTextDocumentParams -> Bool)
-> (WillSaveTextDocumentParams
-> WillSaveTextDocumentParams -> Bool)
-> Eq WillSaveTextDocumentParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WillSaveTextDocumentParams -> WillSaveTextDocumentParams -> Bool
$c/= :: WillSaveTextDocumentParams -> WillSaveTextDocumentParams -> Bool
== :: WillSaveTextDocumentParams -> WillSaveTextDocumentParams -> Bool
$c== :: WillSaveTextDocumentParams -> WillSaveTextDocumentParams -> Bool
Eq)
deriveJSON lspOptions ''WillSaveTextDocumentParams
deriveJSON lspOptions ''SaveOptions
makeExtendingDatatype "TextDocumentSaveRegistrationOptions"
[''TextDocumentRegistrationOptions]
[("_includeText", [t| Maybe Bool |])]
deriveJSON lspOptions ''TextDocumentSaveRegistrationOptions
data DidSaveTextDocumentParams =
DidSaveTextDocumentParams
{
DidSaveTextDocumentParams -> TextDocumentIdentifier
_textDocument :: TextDocumentIdentifier
, DidSaveTextDocumentParams -> Maybe Text
_text :: Maybe Text
} deriving (ReadPrec [DidSaveTextDocumentParams]
ReadPrec DidSaveTextDocumentParams
Int -> ReadS DidSaveTextDocumentParams
ReadS [DidSaveTextDocumentParams]
(Int -> ReadS DidSaveTextDocumentParams)
-> ReadS [DidSaveTextDocumentParams]
-> ReadPrec DidSaveTextDocumentParams
-> ReadPrec [DidSaveTextDocumentParams]
-> Read DidSaveTextDocumentParams
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DidSaveTextDocumentParams]
$creadListPrec :: ReadPrec [DidSaveTextDocumentParams]
readPrec :: ReadPrec DidSaveTextDocumentParams
$creadPrec :: ReadPrec DidSaveTextDocumentParams
readList :: ReadS [DidSaveTextDocumentParams]
$creadList :: ReadS [DidSaveTextDocumentParams]
readsPrec :: Int -> ReadS DidSaveTextDocumentParams
$creadsPrec :: Int -> ReadS DidSaveTextDocumentParams
Read,Int -> DidSaveTextDocumentParams -> ShowS
[DidSaveTextDocumentParams] -> ShowS
DidSaveTextDocumentParams -> String
(Int -> DidSaveTextDocumentParams -> ShowS)
-> (DidSaveTextDocumentParams -> String)
-> ([DidSaveTextDocumentParams] -> ShowS)
-> Show DidSaveTextDocumentParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DidSaveTextDocumentParams] -> ShowS
$cshowList :: [DidSaveTextDocumentParams] -> ShowS
show :: DidSaveTextDocumentParams -> String
$cshow :: DidSaveTextDocumentParams -> String
showsPrec :: Int -> DidSaveTextDocumentParams -> ShowS
$cshowsPrec :: Int -> DidSaveTextDocumentParams -> ShowS
Show,DidSaveTextDocumentParams -> DidSaveTextDocumentParams -> Bool
(DidSaveTextDocumentParams -> DidSaveTextDocumentParams -> Bool)
-> (DidSaveTextDocumentParams -> DidSaveTextDocumentParams -> Bool)
-> Eq DidSaveTextDocumentParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DidSaveTextDocumentParams -> DidSaveTextDocumentParams -> Bool
$c/= :: DidSaveTextDocumentParams -> DidSaveTextDocumentParams -> Bool
== :: DidSaveTextDocumentParams -> DidSaveTextDocumentParams -> Bool
$c== :: DidSaveTextDocumentParams -> DidSaveTextDocumentParams -> Bool
Eq)
deriveJSON lspOptions ''DidSaveTextDocumentParams
data DidCloseTextDocumentParams =
DidCloseTextDocumentParams
{
DidCloseTextDocumentParams -> TextDocumentIdentifier
_textDocument :: TextDocumentIdentifier
} deriving (ReadPrec [DidCloseTextDocumentParams]
ReadPrec DidCloseTextDocumentParams
Int -> ReadS DidCloseTextDocumentParams
ReadS [DidCloseTextDocumentParams]
(Int -> ReadS DidCloseTextDocumentParams)
-> ReadS [DidCloseTextDocumentParams]
-> ReadPrec DidCloseTextDocumentParams
-> ReadPrec [DidCloseTextDocumentParams]
-> Read DidCloseTextDocumentParams
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DidCloseTextDocumentParams]
$creadListPrec :: ReadPrec [DidCloseTextDocumentParams]
readPrec :: ReadPrec DidCloseTextDocumentParams
$creadPrec :: ReadPrec DidCloseTextDocumentParams
readList :: ReadS [DidCloseTextDocumentParams]
$creadList :: ReadS [DidCloseTextDocumentParams]
readsPrec :: Int -> ReadS DidCloseTextDocumentParams
$creadsPrec :: Int -> ReadS DidCloseTextDocumentParams
Read,Int -> DidCloseTextDocumentParams -> ShowS
[DidCloseTextDocumentParams] -> ShowS
DidCloseTextDocumentParams -> String
(Int -> DidCloseTextDocumentParams -> ShowS)
-> (DidCloseTextDocumentParams -> String)
-> ([DidCloseTextDocumentParams] -> ShowS)
-> Show DidCloseTextDocumentParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DidCloseTextDocumentParams] -> ShowS
$cshowList :: [DidCloseTextDocumentParams] -> ShowS
show :: DidCloseTextDocumentParams -> String
$cshow :: DidCloseTextDocumentParams -> String
showsPrec :: Int -> DidCloseTextDocumentParams -> ShowS
$cshowsPrec :: Int -> DidCloseTextDocumentParams -> ShowS
Show,DidCloseTextDocumentParams -> DidCloseTextDocumentParams -> Bool
(DidCloseTextDocumentParams -> DidCloseTextDocumentParams -> Bool)
-> (DidCloseTextDocumentParams
-> DidCloseTextDocumentParams -> Bool)
-> Eq DidCloseTextDocumentParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DidCloseTextDocumentParams -> DidCloseTextDocumentParams -> Bool
$c/= :: DidCloseTextDocumentParams -> DidCloseTextDocumentParams -> Bool
== :: DidCloseTextDocumentParams -> DidCloseTextDocumentParams -> Bool
$c== :: DidCloseTextDocumentParams -> DidCloseTextDocumentParams -> Bool
Eq)
deriveJSON lspOptions ''DidCloseTextDocumentParams