{- ORMOLU_DISABLE -}
{- HLINT ignore -}
-- THIS IS A GENERATED FILE, DO NOT EDIT

{-# OPTIONS_GHC -Wno-unused-imports #-}
{-# OPTIONS_GHC -Wno-unused-matches #-}
{-# OPTIONS_GHC -Wno-deprecations #-}
module Language.LSP.Protocol.Internal.Types.TextDocumentClientCapabilities where

import Control.DeepSeq
import Data.Hashable
import GHC.Generics
import Language.LSP.Protocol.Utils.Misc
import Prettyprinter
import qualified Data.Aeson as Aeson
import qualified Data.Row.Aeson as Aeson
import qualified Data.Row.Hashable as Hashable
import qualified Language.LSP.Protocol.Internal.Types.CallHierarchyClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.CodeActionClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.CodeLensClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.CompletionClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.DeclarationClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.DefinitionClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.DiagnosticClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.DocumentColorClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.DocumentFormattingClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.DocumentHighlightClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.DocumentLinkClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.DocumentOnTypeFormattingClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.DocumentRangeFormattingClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.DocumentSymbolClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.FoldingRangeClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.HoverClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.ImplementationClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.InlayHintClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.InlineValueClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.LinkedEditingRangeClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.MonikerClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.PublishDiagnosticsClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.ReferenceClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.RenameClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.SelectionRangeClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.SemanticTokensClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.SignatureHelpClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.TextDocumentSyncClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.TypeDefinitionClientCapabilities
import qualified Language.LSP.Protocol.Internal.Types.TypeHierarchyClientCapabilities
import qualified Language.LSP.Protocol.Types.Common

{-|
Text document specific client capabilities.
-}
data TextDocumentClientCapabilities = TextDocumentClientCapabilities 
  { {-|
  Defines which synchronization capabilities the client supports.
  -}
  TextDocumentClientCapabilities
-> Maybe TextDocumentSyncClientCapabilities
_synchronization :: (Maybe Language.LSP.Protocol.Internal.Types.TextDocumentSyncClientCapabilities.TextDocumentSyncClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/completion` request.
  -}
  TextDocumentClientCapabilities
-> Maybe CompletionClientCapabilities
_completion :: (Maybe Language.LSP.Protocol.Internal.Types.CompletionClientCapabilities.CompletionClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/hover` request.
  -}
  TextDocumentClientCapabilities -> Maybe HoverClientCapabilities
_hover :: (Maybe Language.LSP.Protocol.Internal.Types.HoverClientCapabilities.HoverClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/signatureHelp` request.
  -}
  TextDocumentClientCapabilities
-> Maybe SignatureHelpClientCapabilities
_signatureHelp :: (Maybe Language.LSP.Protocol.Internal.Types.SignatureHelpClientCapabilities.SignatureHelpClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/declaration` request.

  @since 3.14.0
  -}
  TextDocumentClientCapabilities
-> Maybe DeclarationClientCapabilities
_declaration :: (Maybe Language.LSP.Protocol.Internal.Types.DeclarationClientCapabilities.DeclarationClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/definition` request.
  -}
  TextDocumentClientCapabilities
-> Maybe DefinitionClientCapabilities
_definition :: (Maybe Language.LSP.Protocol.Internal.Types.DefinitionClientCapabilities.DefinitionClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/typeDefinition` request.

  @since 3.6.0
  -}
  TextDocumentClientCapabilities
-> Maybe TypeDefinitionClientCapabilities
_typeDefinition :: (Maybe Language.LSP.Protocol.Internal.Types.TypeDefinitionClientCapabilities.TypeDefinitionClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/implementation` request.

  @since 3.6.0
  -}
  TextDocumentClientCapabilities
-> Maybe ImplementationClientCapabilities
_implementation :: (Maybe Language.LSP.Protocol.Internal.Types.ImplementationClientCapabilities.ImplementationClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/references` request.
  -}
  TextDocumentClientCapabilities -> Maybe ReferenceClientCapabilities
_references :: (Maybe Language.LSP.Protocol.Internal.Types.ReferenceClientCapabilities.ReferenceClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/documentHighlight` request.
  -}
  TextDocumentClientCapabilities
-> Maybe DocumentHighlightClientCapabilities
_documentHighlight :: (Maybe Language.LSP.Protocol.Internal.Types.DocumentHighlightClientCapabilities.DocumentHighlightClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/documentSymbol` request.
  -}
  TextDocumentClientCapabilities
-> Maybe DocumentSymbolClientCapabilities
_documentSymbol :: (Maybe Language.LSP.Protocol.Internal.Types.DocumentSymbolClientCapabilities.DocumentSymbolClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/codeAction` request.
  -}
  TextDocumentClientCapabilities
-> Maybe CodeActionClientCapabilities
_codeAction :: (Maybe Language.LSP.Protocol.Internal.Types.CodeActionClientCapabilities.CodeActionClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/codeLens` request.
  -}
  TextDocumentClientCapabilities -> Maybe CodeLensClientCapabilities
_codeLens :: (Maybe Language.LSP.Protocol.Internal.Types.CodeLensClientCapabilities.CodeLensClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/documentLink` request.
  -}
  TextDocumentClientCapabilities
-> Maybe DocumentLinkClientCapabilities
_documentLink :: (Maybe Language.LSP.Protocol.Internal.Types.DocumentLinkClientCapabilities.DocumentLinkClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/documentColor` and the
  `textDocument/colorPresentation` request.

  @since 3.6.0
  -}
  TextDocumentClientCapabilities
-> Maybe DocumentColorClientCapabilities
_colorProvider :: (Maybe Language.LSP.Protocol.Internal.Types.DocumentColorClientCapabilities.DocumentColorClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/formatting` request.
  -}
  TextDocumentClientCapabilities
-> Maybe DocumentFormattingClientCapabilities
_formatting :: (Maybe Language.LSP.Protocol.Internal.Types.DocumentFormattingClientCapabilities.DocumentFormattingClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/rangeFormatting` request.
  -}
  TextDocumentClientCapabilities
-> Maybe DocumentRangeFormattingClientCapabilities
_rangeFormatting :: (Maybe Language.LSP.Protocol.Internal.Types.DocumentRangeFormattingClientCapabilities.DocumentRangeFormattingClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/onTypeFormatting` request.
  -}
  TextDocumentClientCapabilities
-> Maybe DocumentOnTypeFormattingClientCapabilities
_onTypeFormatting :: (Maybe Language.LSP.Protocol.Internal.Types.DocumentOnTypeFormattingClientCapabilities.DocumentOnTypeFormattingClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/rename` request.
  -}
  TextDocumentClientCapabilities -> Maybe RenameClientCapabilities
_rename :: (Maybe Language.LSP.Protocol.Internal.Types.RenameClientCapabilities.RenameClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/foldingRange` request.

  @since 3.10.0
  -}
  TextDocumentClientCapabilities
-> Maybe FoldingRangeClientCapabilities
_foldingRange :: (Maybe Language.LSP.Protocol.Internal.Types.FoldingRangeClientCapabilities.FoldingRangeClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/selectionRange` request.

  @since 3.15.0
  -}
  TextDocumentClientCapabilities
-> Maybe SelectionRangeClientCapabilities
_selectionRange :: (Maybe Language.LSP.Protocol.Internal.Types.SelectionRangeClientCapabilities.SelectionRangeClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/publishDiagnostics` notification.
  -}
  TextDocumentClientCapabilities
-> Maybe PublishDiagnosticsClientCapabilities
_publishDiagnostics :: (Maybe Language.LSP.Protocol.Internal.Types.PublishDiagnosticsClientCapabilities.PublishDiagnosticsClientCapabilities)
  , {-|
  Capabilities specific to the various call hierarchy requests.

  @since 3.16.0
  -}
  TextDocumentClientCapabilities
-> Maybe CallHierarchyClientCapabilities
_callHierarchy :: (Maybe Language.LSP.Protocol.Internal.Types.CallHierarchyClientCapabilities.CallHierarchyClientCapabilities)
  , {-|
  Capabilities specific to the various semantic token request.

  @since 3.16.0
  -}
  TextDocumentClientCapabilities
-> Maybe SemanticTokensClientCapabilities
_semanticTokens :: (Maybe Language.LSP.Protocol.Internal.Types.SemanticTokensClientCapabilities.SemanticTokensClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/linkedEditingRange` request.

  @since 3.16.0
  -}
  TextDocumentClientCapabilities
-> Maybe LinkedEditingRangeClientCapabilities
_linkedEditingRange :: (Maybe Language.LSP.Protocol.Internal.Types.LinkedEditingRangeClientCapabilities.LinkedEditingRangeClientCapabilities)
  , {-|
  Client capabilities specific to the `textDocument/moniker` request.

  @since 3.16.0
  -}
  TextDocumentClientCapabilities -> Maybe MonikerClientCapabilities
_moniker :: (Maybe Language.LSP.Protocol.Internal.Types.MonikerClientCapabilities.MonikerClientCapabilities)
  , {-|
  Capabilities specific to the various type hierarchy requests.

  @since 3.17.0
  -}
  TextDocumentClientCapabilities
-> Maybe TypeHierarchyClientCapabilities
_typeHierarchy :: (Maybe Language.LSP.Protocol.Internal.Types.TypeHierarchyClientCapabilities.TypeHierarchyClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/inlineValue` request.

  @since 3.17.0
  -}
  TextDocumentClientCapabilities
-> Maybe InlineValueClientCapabilities
_inlineValue :: (Maybe Language.LSP.Protocol.Internal.Types.InlineValueClientCapabilities.InlineValueClientCapabilities)
  , {-|
  Capabilities specific to the `textDocument/inlayHint` request.

  @since 3.17.0
  -}
  TextDocumentClientCapabilities -> Maybe InlayHintClientCapabilities
_inlayHint :: (Maybe Language.LSP.Protocol.Internal.Types.InlayHintClientCapabilities.InlayHintClientCapabilities)
  , {-|
  Capabilities specific to the diagnostic pull model.

  @since 3.17.0
  -}
  TextDocumentClientCapabilities
-> Maybe DiagnosticClientCapabilities
_diagnostic :: (Maybe Language.LSP.Protocol.Internal.Types.DiagnosticClientCapabilities.DiagnosticClientCapabilities)
  }
  deriving stock (Int -> TextDocumentClientCapabilities -> ShowS
[TextDocumentClientCapabilities] -> ShowS
TextDocumentClientCapabilities -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TextDocumentClientCapabilities] -> ShowS
$cshowList :: [TextDocumentClientCapabilities] -> ShowS
show :: TextDocumentClientCapabilities -> String
$cshow :: TextDocumentClientCapabilities -> String
showsPrec :: Int -> TextDocumentClientCapabilities -> ShowS
$cshowsPrec :: Int -> TextDocumentClientCapabilities -> ShowS
Show, TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
$c/= :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
== :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
$c== :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
Eq, Eq TextDocumentClientCapabilities
TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Ordering
TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> TextDocumentClientCapabilities
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> TextDocumentClientCapabilities
$cmin :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> TextDocumentClientCapabilities
max :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> TextDocumentClientCapabilities
$cmax :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> TextDocumentClientCapabilities
>= :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
$c>= :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
> :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
$c> :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
<= :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
$c<= :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
< :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
$c< :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Bool
compare :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Ordering
$ccompare :: TextDocumentClientCapabilities
-> TextDocumentClientCapabilities -> Ordering
Ord, forall x.
Rep TextDocumentClientCapabilities x
-> TextDocumentClientCapabilities
forall x.
TextDocumentClientCapabilities
-> Rep TextDocumentClientCapabilities x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep TextDocumentClientCapabilities x
-> TextDocumentClientCapabilities
$cfrom :: forall x.
TextDocumentClientCapabilities
-> Rep TextDocumentClientCapabilities x
Generic)
  deriving anyclass (TextDocumentClientCapabilities -> ()
forall a. (a -> ()) -> NFData a
rnf :: TextDocumentClientCapabilities -> ()
$crnf :: TextDocumentClientCapabilities -> ()
NFData, Eq TextDocumentClientCapabilities
Int -> TextDocumentClientCapabilities -> Int
TextDocumentClientCapabilities -> Int
forall a. Eq a -> (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: TextDocumentClientCapabilities -> Int
$chash :: TextDocumentClientCapabilities -> Int
hashWithSalt :: Int -> TextDocumentClientCapabilities -> Int
$chashWithSalt :: Int -> TextDocumentClientCapabilities -> Int
Hashable)
  deriving forall ann. [TextDocumentClientCapabilities] -> Doc ann
forall ann. TextDocumentClientCapabilities -> Doc ann
forall a.
(forall ann. a -> Doc ann)
-> (forall ann. [a] -> Doc ann) -> Pretty a
prettyList :: forall ann. [TextDocumentClientCapabilities] -> Doc ann
$cprettyList :: forall ann. [TextDocumentClientCapabilities] -> Doc ann
pretty :: forall ann. TextDocumentClientCapabilities -> Doc ann
$cpretty :: forall ann. TextDocumentClientCapabilities -> Doc ann
Pretty via (ViaJSON TextDocumentClientCapabilities)

instance Aeson.ToJSON TextDocumentClientCapabilities where
  toJSON :: TextDocumentClientCapabilities -> Value
toJSON (TextDocumentClientCapabilities Maybe TextDocumentSyncClientCapabilities
arg0 Maybe CompletionClientCapabilities
arg1 Maybe HoverClientCapabilities
arg2 Maybe SignatureHelpClientCapabilities
arg3 Maybe DeclarationClientCapabilities
arg4 Maybe DefinitionClientCapabilities
arg5 Maybe TypeDefinitionClientCapabilities
arg6 Maybe ImplementationClientCapabilities
arg7 Maybe ReferenceClientCapabilities
arg8 Maybe DocumentHighlightClientCapabilities
arg9 Maybe DocumentSymbolClientCapabilities
arg10 Maybe CodeActionClientCapabilities
arg11 Maybe CodeLensClientCapabilities
arg12 Maybe DocumentLinkClientCapabilities
arg13 Maybe DocumentColorClientCapabilities
arg14 Maybe DocumentFormattingClientCapabilities
arg15 Maybe DocumentRangeFormattingClientCapabilities
arg16 Maybe DocumentOnTypeFormattingClientCapabilities
arg17 Maybe RenameClientCapabilities
arg18 Maybe FoldingRangeClientCapabilities
arg19 Maybe SelectionRangeClientCapabilities
arg20 Maybe PublishDiagnosticsClientCapabilities
arg21 Maybe CallHierarchyClientCapabilities
arg22 Maybe SemanticTokensClientCapabilities
arg23 Maybe LinkedEditingRangeClientCapabilities
arg24 Maybe MonikerClientCapabilities
arg25 Maybe TypeHierarchyClientCapabilities
arg26 Maybe InlineValueClientCapabilities
arg27 Maybe InlayHintClientCapabilities
arg28 Maybe DiagnosticClientCapabilities
arg29) = [Pair] -> Value
Aeson.object forall a b. (a -> b) -> a -> b
$ forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat forall a b. (a -> b) -> a -> b
$  [String
"synchronization" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe TextDocumentSyncClientCapabilities
arg0
    ,String
"completion" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe CompletionClientCapabilities
arg1
    ,String
"hover" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe HoverClientCapabilities
arg2
    ,String
"signatureHelp" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe SignatureHelpClientCapabilities
arg3
    ,String
"declaration" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe DeclarationClientCapabilities
arg4
    ,String
"definition" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe DefinitionClientCapabilities
arg5
    ,String
"typeDefinition" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe TypeDefinitionClientCapabilities
arg6
    ,String
"implementation" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe ImplementationClientCapabilities
arg7
    ,String
"references" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe ReferenceClientCapabilities
arg8
    ,String
"documentHighlight" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe DocumentHighlightClientCapabilities
arg9
    ,String
"documentSymbol" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe DocumentSymbolClientCapabilities
arg10
    ,String
"codeAction" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe CodeActionClientCapabilities
arg11
    ,String
"codeLens" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe CodeLensClientCapabilities
arg12
    ,String
"documentLink" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe DocumentLinkClientCapabilities
arg13
    ,String
"colorProvider" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe DocumentColorClientCapabilities
arg14
    ,String
"formatting" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe DocumentFormattingClientCapabilities
arg15
    ,String
"rangeFormatting" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe DocumentRangeFormattingClientCapabilities
arg16
    ,String
"onTypeFormatting" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe DocumentOnTypeFormattingClientCapabilities
arg17
    ,String
"rename" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe RenameClientCapabilities
arg18
    ,String
"foldingRange" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe FoldingRangeClientCapabilities
arg19
    ,String
"selectionRange" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe SelectionRangeClientCapabilities
arg20
    ,String
"publishDiagnostics" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe PublishDiagnosticsClientCapabilities
arg21
    ,String
"callHierarchy" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe CallHierarchyClientCapabilities
arg22
    ,String
"semanticTokens" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe SemanticTokensClientCapabilities
arg23
    ,String
"linkedEditingRange" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe LinkedEditingRangeClientCapabilities
arg24
    ,String
"moniker" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe MonikerClientCapabilities
arg25
    ,String
"typeHierarchy" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe TypeHierarchyClientCapabilities
arg26
    ,String
"inlineValue" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe InlineValueClientCapabilities
arg27
    ,String
"inlayHint" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe InlayHintClientCapabilities
arg28
    ,String
"diagnostic" forall kv v. (KeyValue kv, ToJSON v) => String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe DiagnosticClientCapabilities
arg29]

instance Aeson.FromJSON TextDocumentClientCapabilities where
  parseJSON :: Value -> Parser TextDocumentClientCapabilities
parseJSON = forall a. String -> (Object -> Parser a) -> Value -> Parser a
Aeson.withObject String
"TextDocumentClientCapabilities" forall a b. (a -> b) -> a -> b
$ \Object
arg -> Maybe TextDocumentSyncClientCapabilities
-> Maybe CompletionClientCapabilities
-> Maybe HoverClientCapabilities
-> Maybe SignatureHelpClientCapabilities
-> Maybe DeclarationClientCapabilities
-> Maybe DefinitionClientCapabilities
-> Maybe TypeDefinitionClientCapabilities
-> Maybe ImplementationClientCapabilities
-> Maybe ReferenceClientCapabilities
-> Maybe DocumentHighlightClientCapabilities
-> Maybe DocumentSymbolClientCapabilities
-> Maybe CodeActionClientCapabilities
-> Maybe CodeLensClientCapabilities
-> Maybe DocumentLinkClientCapabilities
-> Maybe DocumentColorClientCapabilities
-> Maybe DocumentFormattingClientCapabilities
-> Maybe DocumentRangeFormattingClientCapabilities
-> Maybe DocumentOnTypeFormattingClientCapabilities
-> Maybe RenameClientCapabilities
-> Maybe FoldingRangeClientCapabilities
-> Maybe SelectionRangeClientCapabilities
-> Maybe PublishDiagnosticsClientCapabilities
-> Maybe CallHierarchyClientCapabilities
-> Maybe SemanticTokensClientCapabilities
-> Maybe LinkedEditingRangeClientCapabilities
-> Maybe MonikerClientCapabilities
-> Maybe TypeHierarchyClientCapabilities
-> Maybe InlineValueClientCapabilities
-> Maybe InlayHintClientCapabilities
-> Maybe DiagnosticClientCapabilities
-> TextDocumentClientCapabilities
TextDocumentClientCapabilities forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"synchronization" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"completion" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"hover" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"signatureHelp" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"declaration" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"definition" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"typeDefinition" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"implementation" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"references" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"documentHighlight" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"documentSymbol" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"codeAction" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"codeLens" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"documentLink" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"colorProvider" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"formatting" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"rangeFormatting" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"onTypeFormatting" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"rename" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"foldingRange" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"selectionRange" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"publishDiagnostics" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"callHierarchy" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"semanticTokens" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"linkedEditingRange" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"moniker" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"typeHierarchy" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"inlineValue" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"inlayHint" forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Aeson..:! Key
"diagnostic"