{- 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.ServerCapabilities where

import Control.DeepSeq
import Data.Hashable
import GHC.Generics
import Language.LSP.Protocol.Utils.Misc
import Prettyprinter
import qualified Data.Aeson
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.CallHierarchyOptions
import qualified Language.LSP.Protocol.Internal.Types.CallHierarchyRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.CodeActionOptions
import qualified Language.LSP.Protocol.Internal.Types.CodeLensOptions
import qualified Language.LSP.Protocol.Internal.Types.CompletionOptions
import qualified Language.LSP.Protocol.Internal.Types.DeclarationOptions
import qualified Language.LSP.Protocol.Internal.Types.DeclarationRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DefinitionOptions
import qualified Language.LSP.Protocol.Internal.Types.DiagnosticOptions
import qualified Language.LSP.Protocol.Internal.Types.DiagnosticRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentColorOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentColorRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentFormattingOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentHighlightOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentLinkOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentOnTypeFormattingOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentRangeFormattingOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentSymbolOptions
import qualified Language.LSP.Protocol.Internal.Types.ExecuteCommandOptions
import qualified Language.LSP.Protocol.Internal.Types.FoldingRangeOptions
import qualified Language.LSP.Protocol.Internal.Types.FoldingRangeRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.HoverOptions
import qualified Language.LSP.Protocol.Internal.Types.ImplementationOptions
import qualified Language.LSP.Protocol.Internal.Types.ImplementationRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.InlayHintOptions
import qualified Language.LSP.Protocol.Internal.Types.InlayHintRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.InlineValueOptions
import qualified Language.LSP.Protocol.Internal.Types.InlineValueRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.LinkedEditingRangeOptions
import qualified Language.LSP.Protocol.Internal.Types.LinkedEditingRangeRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.MonikerOptions
import qualified Language.LSP.Protocol.Internal.Types.MonikerRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.NotebookDocumentSyncOptions
import qualified Language.LSP.Protocol.Internal.Types.NotebookDocumentSyncRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.PositionEncodingKind
import qualified Language.LSP.Protocol.Internal.Types.ReferenceOptions
import qualified Language.LSP.Protocol.Internal.Types.RenameOptions
import qualified Language.LSP.Protocol.Internal.Types.SelectionRangeOptions
import qualified Language.LSP.Protocol.Internal.Types.SelectionRangeRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.SemanticTokensOptions
import qualified Language.LSP.Protocol.Internal.Types.SemanticTokensRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.SignatureHelpOptions
import qualified Language.LSP.Protocol.Internal.Types.TextDocumentSyncKind
import qualified Language.LSP.Protocol.Internal.Types.TextDocumentSyncOptions
import qualified Language.LSP.Protocol.Internal.Types.TypeDefinitionOptions
import qualified Language.LSP.Protocol.Internal.Types.TypeDefinitionRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.TypeHierarchyOptions
import qualified Language.LSP.Protocol.Internal.Types.TypeHierarchyRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.WorkspaceOptions
import qualified Language.LSP.Protocol.Internal.Types.WorkspaceSymbolOptions
import qualified Language.LSP.Protocol.Types.Common

{-|
Defines the capabilities provided by a language
server.
-}
data ServerCapabilities = ServerCapabilities 
  { {-|
  The position encoding the server picked from the encodings offered
  by the client via the client capability `general.positionEncodings`.

  If the client didn't provide any position encodings the only valid
  value that a server can return is 'utf-16'.

  If omitted it defaults to 'utf-16'.

  @since 3.17.0
  -}
  ServerCapabilities -> Maybe PositionEncodingKind
_positionEncoding :: (Maybe Language.LSP.Protocol.Internal.Types.PositionEncodingKind.PositionEncodingKind)
  , {-|
  Defines how text documents are synced. Is either a detailed structure
  defining each notification or for backwards compatibility the
  TextDocumentSyncKind number.
  -}
  ServerCapabilities
-> Maybe (TextDocumentSyncOptions |? TextDocumentSyncKind)
_textDocumentSync :: (Maybe (Language.LSP.Protocol.Internal.Types.TextDocumentSyncOptions.TextDocumentSyncOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.TextDocumentSyncKind.TextDocumentSyncKind))
  , {-|
  Defines how notebook documents are synced.

  @since 3.17.0
  -}
  ServerCapabilities
-> Maybe
     (NotebookDocumentSyncOptions
      |? NotebookDocumentSyncRegistrationOptions)
_notebookDocumentSync :: (Maybe (Language.LSP.Protocol.Internal.Types.NotebookDocumentSyncOptions.NotebookDocumentSyncOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.NotebookDocumentSyncRegistrationOptions.NotebookDocumentSyncRegistrationOptions))
  , {-|
  The server provides completion support.
  -}
  ServerCapabilities -> Maybe CompletionOptions
_completionProvider :: (Maybe Language.LSP.Protocol.Internal.Types.CompletionOptions.CompletionOptions)
  , {-|
  The server provides hover support.
  -}
  ServerCapabilities -> Maybe (Bool |? HoverOptions)
_hoverProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.HoverOptions.HoverOptions))
  , {-|
  The server provides signature help support.
  -}
  ServerCapabilities -> Maybe SignatureHelpOptions
_signatureHelpProvider :: (Maybe Language.LSP.Protocol.Internal.Types.SignatureHelpOptions.SignatureHelpOptions)
  , {-|
  The server provides Goto Declaration support.
  -}
  ServerCapabilities
-> Maybe
     (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
_declarationProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.DeclarationOptions.DeclarationOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.DeclarationRegistrationOptions.DeclarationRegistrationOptions)))
  , {-|
  The server provides goto definition support.
  -}
  ServerCapabilities -> Maybe (Bool |? DefinitionOptions)
_definitionProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.DefinitionOptions.DefinitionOptions))
  , {-|
  The server provides Goto Type Definition support.
  -}
  ServerCapabilities
-> Maybe
     (Bool
      |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
_typeDefinitionProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.TypeDefinitionOptions.TypeDefinitionOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.TypeDefinitionRegistrationOptions.TypeDefinitionRegistrationOptions)))
  , {-|
  The server provides Goto Implementation support.
  -}
  ServerCapabilities
-> Maybe
     (Bool
      |? (ImplementationOptions |? ImplementationRegistrationOptions))
_implementationProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.ImplementationOptions.ImplementationOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.ImplementationRegistrationOptions.ImplementationRegistrationOptions)))
  , {-|
  The server provides find references support.
  -}
  ServerCapabilities -> Maybe (Bool |? ReferenceOptions)
_referencesProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.ReferenceOptions.ReferenceOptions))
  , {-|
  The server provides document highlight support.
  -}
  ServerCapabilities -> Maybe (Bool |? DocumentHighlightOptions)
_documentHighlightProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.DocumentHighlightOptions.DocumentHighlightOptions))
  , {-|
  The server provides document symbol support.
  -}
  ServerCapabilities -> Maybe (Bool |? DocumentSymbolOptions)
_documentSymbolProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.DocumentSymbolOptions.DocumentSymbolOptions))
  , {-|
  The server provides code actions. CodeActionOptions may only be
  specified if the client states that it supports
  `codeActionLiteralSupport` in its initial `initialize` request.
  -}
  ServerCapabilities -> Maybe (Bool |? CodeActionOptions)
_codeActionProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.CodeActionOptions.CodeActionOptions))
  , {-|
  The server provides code lens.
  -}
  ServerCapabilities -> Maybe CodeLensOptions
_codeLensProvider :: (Maybe Language.LSP.Protocol.Internal.Types.CodeLensOptions.CodeLensOptions)
  , {-|
  The server provides document link support.
  -}
  ServerCapabilities -> Maybe DocumentLinkOptions
_documentLinkProvider :: (Maybe Language.LSP.Protocol.Internal.Types.DocumentLinkOptions.DocumentLinkOptions)
  , {-|
  The server provides color provider support.
  -}
  ServerCapabilities
-> Maybe
     (Bool
      |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
_colorProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.DocumentColorOptions.DocumentColorOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.DocumentColorRegistrationOptions.DocumentColorRegistrationOptions)))
  , {-|
  The server provides workspace symbol support.
  -}
  ServerCapabilities -> Maybe (Bool |? WorkspaceSymbolOptions)
_workspaceSymbolProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.WorkspaceSymbolOptions.WorkspaceSymbolOptions))
  , {-|
  The server provides document formatting.
  -}
  ServerCapabilities -> Maybe (Bool |? DocumentFormattingOptions)
_documentFormattingProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.DocumentFormattingOptions.DocumentFormattingOptions))
  , {-|
  The server provides document range formatting.
  -}
  ServerCapabilities
-> Maybe (Bool |? DocumentRangeFormattingOptions)
_documentRangeFormattingProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.DocumentRangeFormattingOptions.DocumentRangeFormattingOptions))
  , {-|
  The server provides document formatting on typing.
  -}
  ServerCapabilities -> Maybe DocumentOnTypeFormattingOptions
_documentOnTypeFormattingProvider :: (Maybe Language.LSP.Protocol.Internal.Types.DocumentOnTypeFormattingOptions.DocumentOnTypeFormattingOptions)
  , {-|
  The server provides rename support. RenameOptions may only be
  specified if the client states that it supports
  `prepareSupport` in its initial `initialize` request.
  -}
  ServerCapabilities -> Maybe (Bool |? RenameOptions)
_renameProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.RenameOptions.RenameOptions))
  , {-|
  The server provides folding provider support.
  -}
  ServerCapabilities
-> Maybe
     (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
_foldingRangeProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.FoldingRangeOptions.FoldingRangeOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.FoldingRangeRegistrationOptions.FoldingRangeRegistrationOptions)))
  , {-|
  The server provides selection range support.
  -}
  ServerCapabilities
-> Maybe
     (Bool
      |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
_selectionRangeProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.SelectionRangeOptions.SelectionRangeOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.SelectionRangeRegistrationOptions.SelectionRangeRegistrationOptions)))
  , {-|
  The server provides execute command support.
  -}
  ServerCapabilities -> Maybe ExecuteCommandOptions
_executeCommandProvider :: (Maybe Language.LSP.Protocol.Internal.Types.ExecuteCommandOptions.ExecuteCommandOptions)
  , {-|
  The server provides call hierarchy support.

  @since 3.16.0
  -}
  ServerCapabilities
-> Maybe
     (Bool
      |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
_callHierarchyProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.CallHierarchyOptions.CallHierarchyOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.CallHierarchyRegistrationOptions.CallHierarchyRegistrationOptions)))
  , {-|
  The server provides linked editing range support.

  @since 3.16.0
  -}
  ServerCapabilities
-> Maybe
     (Bool
      |? (LinkedEditingRangeOptions
          |? LinkedEditingRangeRegistrationOptions))
_linkedEditingRangeProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.LinkedEditingRangeOptions.LinkedEditingRangeOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.LinkedEditingRangeRegistrationOptions.LinkedEditingRangeRegistrationOptions)))
  , {-|
  The server provides semantic tokens support.

  @since 3.16.0
  -}
  ServerCapabilities
-> Maybe
     (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
_semanticTokensProvider :: (Maybe (Language.LSP.Protocol.Internal.Types.SemanticTokensOptions.SemanticTokensOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.SemanticTokensRegistrationOptions.SemanticTokensRegistrationOptions))
  , {-|
  The server provides moniker support.

  @since 3.16.0
  -}
  ServerCapabilities
-> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
_monikerProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.MonikerOptions.MonikerOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.MonikerRegistrationOptions.MonikerRegistrationOptions)))
  , {-|
  The server provides type hierarchy support.

  @since 3.17.0
  -}
  ServerCapabilities
-> Maybe
     (Bool
      |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
_typeHierarchyProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.TypeHierarchyOptions.TypeHierarchyOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.TypeHierarchyRegistrationOptions.TypeHierarchyRegistrationOptions)))
  , {-|
  The server provides inline values.

  @since 3.17.0
  -}
  ServerCapabilities
-> Maybe
     (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
_inlineValueProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.InlineValueOptions.InlineValueOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.InlineValueRegistrationOptions.InlineValueRegistrationOptions)))
  , {-|
  The server provides inlay hints.

  @since 3.17.0
  -}
  ServerCapabilities
-> Maybe
     (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
_inlayHintProvider :: (Maybe (Bool Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.InlayHintOptions.InlayHintOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.InlayHintRegistrationOptions.InlayHintRegistrationOptions)))
  , {-|
  The server has support for pull model diagnostics.

  @since 3.17.0
  -}
  ServerCapabilities
-> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
_diagnosticProvider :: (Maybe (Language.LSP.Protocol.Internal.Types.DiagnosticOptions.DiagnosticOptions Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.DiagnosticRegistrationOptions.DiagnosticRegistrationOptions))
  , {-|
  Workspace specific server capabilities.
  -}
  ServerCapabilities -> Maybe WorkspaceOptions
_workspace :: (Maybe Language.LSP.Protocol.Internal.Types.WorkspaceOptions.WorkspaceOptions)
  , {-|
  Experimental server capabilities.
  -}
  ServerCapabilities -> Maybe Value
_experimental :: (Maybe Data.Aeson.Value)
  }
  deriving stock (Int -> ServerCapabilities -> ShowS
[ServerCapabilities] -> ShowS
ServerCapabilities -> String
(Int -> ServerCapabilities -> ShowS)
-> (ServerCapabilities -> String)
-> ([ServerCapabilities] -> ShowS)
-> Show ServerCapabilities
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ServerCapabilities -> ShowS
showsPrec :: Int -> ServerCapabilities -> ShowS
$cshow :: ServerCapabilities -> String
show :: ServerCapabilities -> String
$cshowList :: [ServerCapabilities] -> ShowS
showList :: [ServerCapabilities] -> ShowS
Show, ServerCapabilities -> ServerCapabilities -> Bool
(ServerCapabilities -> ServerCapabilities -> Bool)
-> (ServerCapabilities -> ServerCapabilities -> Bool)
-> Eq ServerCapabilities
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ServerCapabilities -> ServerCapabilities -> Bool
== :: ServerCapabilities -> ServerCapabilities -> Bool
$c/= :: ServerCapabilities -> ServerCapabilities -> Bool
/= :: ServerCapabilities -> ServerCapabilities -> Bool
Eq, Eq ServerCapabilities
Eq ServerCapabilities =>
(ServerCapabilities -> ServerCapabilities -> Ordering)
-> (ServerCapabilities -> ServerCapabilities -> Bool)
-> (ServerCapabilities -> ServerCapabilities -> Bool)
-> (ServerCapabilities -> ServerCapabilities -> Bool)
-> (ServerCapabilities -> ServerCapabilities -> Bool)
-> (ServerCapabilities -> ServerCapabilities -> ServerCapabilities)
-> (ServerCapabilities -> ServerCapabilities -> ServerCapabilities)
-> Ord ServerCapabilities
ServerCapabilities -> ServerCapabilities -> Bool
ServerCapabilities -> ServerCapabilities -> Ordering
ServerCapabilities -> ServerCapabilities -> ServerCapabilities
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
$ccompare :: ServerCapabilities -> ServerCapabilities -> Ordering
compare :: ServerCapabilities -> ServerCapabilities -> Ordering
$c< :: ServerCapabilities -> ServerCapabilities -> Bool
< :: ServerCapabilities -> ServerCapabilities -> Bool
$c<= :: ServerCapabilities -> ServerCapabilities -> Bool
<= :: ServerCapabilities -> ServerCapabilities -> Bool
$c> :: ServerCapabilities -> ServerCapabilities -> Bool
> :: ServerCapabilities -> ServerCapabilities -> Bool
$c>= :: ServerCapabilities -> ServerCapabilities -> Bool
>= :: ServerCapabilities -> ServerCapabilities -> Bool
$cmax :: ServerCapabilities -> ServerCapabilities -> ServerCapabilities
max :: ServerCapabilities -> ServerCapabilities -> ServerCapabilities
$cmin :: ServerCapabilities -> ServerCapabilities -> ServerCapabilities
min :: ServerCapabilities -> ServerCapabilities -> ServerCapabilities
Ord, (forall x. ServerCapabilities -> Rep ServerCapabilities x)
-> (forall x. Rep ServerCapabilities x -> ServerCapabilities)
-> Generic ServerCapabilities
forall x. Rep ServerCapabilities x -> ServerCapabilities
forall x. ServerCapabilities -> Rep ServerCapabilities x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ServerCapabilities -> Rep ServerCapabilities x
from :: forall x. ServerCapabilities -> Rep ServerCapabilities x
$cto :: forall x. Rep ServerCapabilities x -> ServerCapabilities
to :: forall x. Rep ServerCapabilities x -> ServerCapabilities
Generic)
  deriving anyclass (ServerCapabilities -> ()
(ServerCapabilities -> ()) -> NFData ServerCapabilities
forall a. (a -> ()) -> NFData a
$crnf :: ServerCapabilities -> ()
rnf :: ServerCapabilities -> ()
NFData, Eq ServerCapabilities
Eq ServerCapabilities =>
(Int -> ServerCapabilities -> Int)
-> (ServerCapabilities -> Int) -> Hashable ServerCapabilities
Int -> ServerCapabilities -> Int
ServerCapabilities -> Int
forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
$chashWithSalt :: Int -> ServerCapabilities -> Int
hashWithSalt :: Int -> ServerCapabilities -> Int
$chash :: ServerCapabilities -> Int
hash :: ServerCapabilities -> Int
Hashable)
  deriving (forall ann. ServerCapabilities -> Doc ann)
-> (forall ann. [ServerCapabilities] -> Doc ann)
-> Pretty ServerCapabilities
forall ann. [ServerCapabilities] -> Doc ann
forall ann. ServerCapabilities -> Doc ann
forall a.
(forall ann. a -> Doc ann)
-> (forall ann. [a] -> Doc ann) -> Pretty a
$cpretty :: forall ann. ServerCapabilities -> Doc ann
pretty :: forall ann. ServerCapabilities -> Doc ann
$cprettyList :: forall ann. [ServerCapabilities] -> Doc ann
prettyList :: forall ann. [ServerCapabilities] -> Doc ann
Pretty via (ViaJSON ServerCapabilities)

instance Aeson.ToJSON ServerCapabilities where
  toJSON :: ServerCapabilities -> Value
toJSON (ServerCapabilities Maybe PositionEncodingKind
arg0 Maybe (TextDocumentSyncOptions |? TextDocumentSyncKind)
arg1 Maybe
  (NotebookDocumentSyncOptions
   |? NotebookDocumentSyncRegistrationOptions)
arg2 Maybe CompletionOptions
arg3 Maybe (Bool |? HoverOptions)
arg4 Maybe SignatureHelpOptions
arg5 Maybe
  (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
arg6 Maybe (Bool |? DefinitionOptions)
arg7 Maybe
  (Bool
   |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
arg8 Maybe
  (Bool
   |? (ImplementationOptions |? ImplementationRegistrationOptions))
arg9 Maybe (Bool |? ReferenceOptions)
arg10 Maybe (Bool |? DocumentHighlightOptions)
arg11 Maybe (Bool |? DocumentSymbolOptions)
arg12 Maybe (Bool |? CodeActionOptions)
arg13 Maybe CodeLensOptions
arg14 Maybe DocumentLinkOptions
arg15 Maybe
  (Bool
   |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
arg16 Maybe (Bool |? WorkspaceSymbolOptions)
arg17 Maybe (Bool |? DocumentFormattingOptions)
arg18 Maybe (Bool |? DocumentRangeFormattingOptions)
arg19 Maybe DocumentOnTypeFormattingOptions
arg20 Maybe (Bool |? RenameOptions)
arg21 Maybe
  (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
arg22 Maybe
  (Bool
   |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
arg23 Maybe ExecuteCommandOptions
arg24 Maybe
  (Bool
   |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
arg25 Maybe
  (Bool
   |? (LinkedEditingRangeOptions
       |? LinkedEditingRangeRegistrationOptions))
arg26 Maybe (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
arg27 Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
arg28 Maybe
  (Bool
   |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
arg29 Maybe
  (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
arg30 Maybe (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
arg31 Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
arg32 Maybe WorkspaceOptions
arg33 Maybe Value
arg34) = [Pair] -> Value
Aeson.object ([Pair] -> Value) -> [Pair] -> Value
forall a b. (a -> b) -> a -> b
$ [[Pair]] -> [Pair]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat ([[Pair]] -> [Pair]) -> [[Pair]] -> [Pair]
forall a b. (a -> b) -> a -> b
$  [String
"positionEncoding" String -> Maybe PositionEncodingKind -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe PositionEncodingKind
arg0
    ,String
"textDocumentSync" String
-> Maybe (TextDocumentSyncOptions |? TextDocumentSyncKind)
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (TextDocumentSyncOptions |? TextDocumentSyncKind)
arg1
    ,String
"notebookDocumentSync" String
-> Maybe
     (NotebookDocumentSyncOptions
      |? NotebookDocumentSyncRegistrationOptions)
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe
  (NotebookDocumentSyncOptions
   |? NotebookDocumentSyncRegistrationOptions)
arg2
    ,String
"completionProvider" String -> Maybe CompletionOptions -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe CompletionOptions
arg3
    ,String
"hoverProvider" String -> Maybe (Bool |? HoverOptions) -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (Bool |? HoverOptions)
arg4
    ,String
"signatureHelpProvider" String -> Maybe SignatureHelpOptions -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe SignatureHelpOptions
arg5
    ,String
"declarationProvider" String
-> Maybe
     (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe
  (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
arg6
    ,String
"definitionProvider" String -> Maybe (Bool |? DefinitionOptions) -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (Bool |? DefinitionOptions)
arg7
    ,String
"typeDefinitionProvider" String
-> Maybe
     (Bool
      |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe
  (Bool
   |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
arg8
    ,String
"implementationProvider" String
-> Maybe
     (Bool
      |? (ImplementationOptions |? ImplementationRegistrationOptions))
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe
  (Bool
   |? (ImplementationOptions |? ImplementationRegistrationOptions))
arg9
    ,String
"referencesProvider" String -> Maybe (Bool |? ReferenceOptions) -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (Bool |? ReferenceOptions)
arg10
    ,String
"documentHighlightProvider" String -> Maybe (Bool |? DocumentHighlightOptions) -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (Bool |? DocumentHighlightOptions)
arg11
    ,String
"documentSymbolProvider" String -> Maybe (Bool |? DocumentSymbolOptions) -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (Bool |? DocumentSymbolOptions)
arg12
    ,String
"codeActionProvider" String -> Maybe (Bool |? CodeActionOptions) -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (Bool |? CodeActionOptions)
arg13
    ,String
"codeLensProvider" String -> Maybe CodeLensOptions -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe CodeLensOptions
arg14
    ,String
"documentLinkProvider" String -> Maybe DocumentLinkOptions -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe DocumentLinkOptions
arg15
    ,String
"colorProvider" String
-> Maybe
     (Bool
      |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe
  (Bool
   |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
arg16
    ,String
"workspaceSymbolProvider" String -> Maybe (Bool |? WorkspaceSymbolOptions) -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (Bool |? WorkspaceSymbolOptions)
arg17
    ,String
"documentFormattingProvider" String -> Maybe (Bool |? DocumentFormattingOptions) -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (Bool |? DocumentFormattingOptions)
arg18
    ,String
"documentRangeFormattingProvider" String -> Maybe (Bool |? DocumentRangeFormattingOptions) -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (Bool |? DocumentRangeFormattingOptions)
arg19
    ,String
"documentOnTypeFormattingProvider" String -> Maybe DocumentOnTypeFormattingOptions -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe DocumentOnTypeFormattingOptions
arg20
    ,String
"renameProvider" String -> Maybe (Bool |? RenameOptions) -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (Bool |? RenameOptions)
arg21
    ,String
"foldingRangeProvider" String
-> Maybe
     (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe
  (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
arg22
    ,String
"selectionRangeProvider" String
-> Maybe
     (Bool
      |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe
  (Bool
   |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
arg23
    ,String
"executeCommandProvider" String -> Maybe ExecuteCommandOptions -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe ExecuteCommandOptions
arg24
    ,String
"callHierarchyProvider" String
-> Maybe
     (Bool
      |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe
  (Bool
   |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
arg25
    ,String
"linkedEditingRangeProvider" String
-> Maybe
     (Bool
      |? (LinkedEditingRangeOptions
          |? LinkedEditingRangeRegistrationOptions))
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe
  (Bool
   |? (LinkedEditingRangeOptions
       |? LinkedEditingRangeRegistrationOptions))
arg26
    ,String
"semanticTokensProvider" String
-> Maybe
     (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
arg27
    ,String
"monikerProvider" String
-> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
arg28
    ,String
"typeHierarchyProvider" String
-> Maybe
     (Bool
      |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe
  (Bool
   |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
arg29
    ,String
"inlineValueProvider" String
-> Maybe
     (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe
  (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
arg30
    ,String
"inlayHintProvider" String
-> Maybe
     (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
arg31
    ,String
"diagnosticProvider" String
-> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
-> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
arg32
    ,String
"workspace" String -> Maybe WorkspaceOptions -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe WorkspaceOptions
arg33
    ,String
"experimental" String -> Maybe Value -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe Value
arg34]

instance Aeson.FromJSON ServerCapabilities where
  parseJSON :: Value -> Parser ServerCapabilities
parseJSON = String
-> (Object -> Parser ServerCapabilities)
-> Value
-> Parser ServerCapabilities
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Aeson.withObject String
"ServerCapabilities" ((Object -> Parser ServerCapabilities)
 -> Value -> Parser ServerCapabilities)
-> (Object -> Parser ServerCapabilities)
-> Value
-> Parser ServerCapabilities
forall a b. (a -> b) -> a -> b
$ \Object
arg -> Maybe PositionEncodingKind
-> Maybe (TextDocumentSyncOptions |? TextDocumentSyncKind)
-> Maybe
     (NotebookDocumentSyncOptions
      |? NotebookDocumentSyncRegistrationOptions)
-> Maybe CompletionOptions
-> Maybe (Bool |? HoverOptions)
-> Maybe SignatureHelpOptions
-> Maybe
     (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
-> Maybe (Bool |? DefinitionOptions)
-> Maybe
     (Bool
      |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
-> Maybe
     (Bool
      |? (ImplementationOptions |? ImplementationRegistrationOptions))
-> Maybe (Bool |? ReferenceOptions)
-> Maybe (Bool |? DocumentHighlightOptions)
-> Maybe (Bool |? DocumentSymbolOptions)
-> Maybe (Bool |? CodeActionOptions)
-> Maybe CodeLensOptions
-> Maybe DocumentLinkOptions
-> Maybe
     (Bool
      |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
-> Maybe (Bool |? WorkspaceSymbolOptions)
-> Maybe (Bool |? DocumentFormattingOptions)
-> Maybe (Bool |? DocumentRangeFormattingOptions)
-> Maybe DocumentOnTypeFormattingOptions
-> Maybe (Bool |? RenameOptions)
-> Maybe
     (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
-> Maybe
     (Bool
      |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
-> Maybe ExecuteCommandOptions
-> Maybe
     (Bool
      |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
-> Maybe
     (Bool
      |? (LinkedEditingRangeOptions
          |? LinkedEditingRangeRegistrationOptions))
-> Maybe
     (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
-> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
-> Maybe
     (Bool
      |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
-> Maybe
     (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
-> Maybe
     (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
-> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
-> Maybe WorkspaceOptions
-> Maybe Value
-> ServerCapabilities
ServerCapabilities (Maybe PositionEncodingKind
 -> Maybe (TextDocumentSyncOptions |? TextDocumentSyncKind)
 -> Maybe
      (NotebookDocumentSyncOptions
       |? NotebookDocumentSyncRegistrationOptions)
 -> Maybe CompletionOptions
 -> Maybe (Bool |? HoverOptions)
 -> Maybe SignatureHelpOptions
 -> Maybe
      (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
 -> Maybe (Bool |? DefinitionOptions)
 -> Maybe
      (Bool
       |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
 -> Maybe
      (Bool
       |? (ImplementationOptions |? ImplementationRegistrationOptions))
 -> Maybe (Bool |? ReferenceOptions)
 -> Maybe (Bool |? DocumentHighlightOptions)
 -> Maybe (Bool |? DocumentSymbolOptions)
 -> Maybe (Bool |? CodeActionOptions)
 -> Maybe CodeLensOptions
 -> Maybe DocumentLinkOptions
 -> Maybe
      (Bool
       |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
 -> Maybe (Bool |? WorkspaceSymbolOptions)
 -> Maybe (Bool |? DocumentFormattingOptions)
 -> Maybe (Bool |? DocumentRangeFormattingOptions)
 -> Maybe DocumentOnTypeFormattingOptions
 -> Maybe (Bool |? RenameOptions)
 -> Maybe
      (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
 -> Maybe
      (Bool
       |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
 -> Maybe ExecuteCommandOptions
 -> Maybe
      (Bool
       |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
 -> Maybe
      (Bool
       |? (LinkedEditingRangeOptions
           |? LinkedEditingRangeRegistrationOptions))
 -> Maybe
      (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
 -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
 -> Maybe
      (Bool
       |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
 -> Maybe
      (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
 -> Maybe
      (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
 -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
 -> Maybe WorkspaceOptions
 -> Maybe Value
 -> ServerCapabilities)
-> Parser (Maybe PositionEncodingKind)
-> Parser
     (Maybe (TextDocumentSyncOptions |? TextDocumentSyncKind)
      -> Maybe
           (NotebookDocumentSyncOptions
            |? NotebookDocumentSyncRegistrationOptions)
      -> Maybe CompletionOptions
      -> Maybe (Bool |? HoverOptions)
      -> Maybe SignatureHelpOptions
      -> Maybe
           (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
      -> Maybe (Bool |? DefinitionOptions)
      -> Maybe
           (Bool
            |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
      -> Maybe
           (Bool
            |? (ImplementationOptions |? ImplementationRegistrationOptions))
      -> Maybe (Bool |? ReferenceOptions)
      -> Maybe (Bool |? DocumentHighlightOptions)
      -> Maybe (Bool |? DocumentSymbolOptions)
      -> Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
arg Object -> Key -> Parser (Maybe PositionEncodingKind)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"positionEncoding" Parser
  (Maybe (TextDocumentSyncOptions |? TextDocumentSyncKind)
   -> Maybe
        (NotebookDocumentSyncOptions
         |? NotebookDocumentSyncRegistrationOptions)
   -> Maybe CompletionOptions
   -> Maybe (Bool |? HoverOptions)
   -> Maybe SignatureHelpOptions
   -> Maybe
        (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
   -> Maybe (Bool |? DefinitionOptions)
   -> Maybe
        (Bool
         |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
   -> Maybe
        (Bool
         |? (ImplementationOptions |? ImplementationRegistrationOptions))
   -> Maybe (Bool |? ReferenceOptions)
   -> Maybe (Bool |? DocumentHighlightOptions)
   -> Maybe (Bool |? DocumentSymbolOptions)
   -> Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe (TextDocumentSyncOptions |? TextDocumentSyncKind))
-> Parser
     (Maybe
        (NotebookDocumentSyncOptions
         |? NotebookDocumentSyncRegistrationOptions)
      -> Maybe CompletionOptions
      -> Maybe (Bool |? HoverOptions)
      -> Maybe SignatureHelpOptions
      -> Maybe
           (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
      -> Maybe (Bool |? DefinitionOptions)
      -> Maybe
           (Bool
            |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
      -> Maybe
           (Bool
            |? (ImplementationOptions |? ImplementationRegistrationOptions))
      -> Maybe (Bool |? ReferenceOptions)
      -> Maybe (Bool |? DocumentHighlightOptions)
      -> Maybe (Bool |? DocumentSymbolOptions)
      -> Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser (Maybe (TextDocumentSyncOptions |? TextDocumentSyncKind))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"textDocumentSync" Parser
  (Maybe
     (NotebookDocumentSyncOptions
      |? NotebookDocumentSyncRegistrationOptions)
   -> Maybe CompletionOptions
   -> Maybe (Bool |? HoverOptions)
   -> Maybe SignatureHelpOptions
   -> Maybe
        (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
   -> Maybe (Bool |? DefinitionOptions)
   -> Maybe
        (Bool
         |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
   -> Maybe
        (Bool
         |? (ImplementationOptions |? ImplementationRegistrationOptions))
   -> Maybe (Bool |? ReferenceOptions)
   -> Maybe (Bool |? DocumentHighlightOptions)
   -> Maybe (Bool |? DocumentSymbolOptions)
   -> Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (NotebookDocumentSyncOptions
         |? NotebookDocumentSyncRegistrationOptions))
-> Parser
     (Maybe CompletionOptions
      -> Maybe (Bool |? HoverOptions)
      -> Maybe SignatureHelpOptions
      -> Maybe
           (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
      -> Maybe (Bool |? DefinitionOptions)
      -> Maybe
           (Bool
            |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
      -> Maybe
           (Bool
            |? (ImplementationOptions |? ImplementationRegistrationOptions))
      -> Maybe (Bool |? ReferenceOptions)
      -> Maybe (Bool |? DocumentHighlightOptions)
      -> Maybe (Bool |? DocumentSymbolOptions)
      -> Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (NotebookDocumentSyncOptions
         |? NotebookDocumentSyncRegistrationOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"notebookDocumentSync" Parser
  (Maybe CompletionOptions
   -> Maybe (Bool |? HoverOptions)
   -> Maybe SignatureHelpOptions
   -> Maybe
        (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
   -> Maybe (Bool |? DefinitionOptions)
   -> Maybe
        (Bool
         |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
   -> Maybe
        (Bool
         |? (ImplementationOptions |? ImplementationRegistrationOptions))
   -> Maybe (Bool |? ReferenceOptions)
   -> Maybe (Bool |? DocumentHighlightOptions)
   -> Maybe (Bool |? DocumentSymbolOptions)
   -> Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe CompletionOptions)
-> Parser
     (Maybe (Bool |? HoverOptions)
      -> Maybe SignatureHelpOptions
      -> Maybe
           (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
      -> Maybe (Bool |? DefinitionOptions)
      -> Maybe
           (Bool
            |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
      -> Maybe
           (Bool
            |? (ImplementationOptions |? ImplementationRegistrationOptions))
      -> Maybe (Bool |? ReferenceOptions)
      -> Maybe (Bool |? DocumentHighlightOptions)
      -> Maybe (Bool |? DocumentSymbolOptions)
      -> Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe CompletionOptions)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"completionProvider" Parser
  (Maybe (Bool |? HoverOptions)
   -> Maybe SignatureHelpOptions
   -> Maybe
        (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
   -> Maybe (Bool |? DefinitionOptions)
   -> Maybe
        (Bool
         |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
   -> Maybe
        (Bool
         |? (ImplementationOptions |? ImplementationRegistrationOptions))
   -> Maybe (Bool |? ReferenceOptions)
   -> Maybe (Bool |? DocumentHighlightOptions)
   -> Maybe (Bool |? DocumentSymbolOptions)
   -> Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe (Bool |? HoverOptions))
-> Parser
     (Maybe SignatureHelpOptions
      -> Maybe
           (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
      -> Maybe (Bool |? DefinitionOptions)
      -> Maybe
           (Bool
            |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
      -> Maybe
           (Bool
            |? (ImplementationOptions |? ImplementationRegistrationOptions))
      -> Maybe (Bool |? ReferenceOptions)
      -> Maybe (Bool |? DocumentHighlightOptions)
      -> Maybe (Bool |? DocumentSymbolOptions)
      -> Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe (Bool |? HoverOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"hoverProvider" Parser
  (Maybe SignatureHelpOptions
   -> Maybe
        (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
   -> Maybe (Bool |? DefinitionOptions)
   -> Maybe
        (Bool
         |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
   -> Maybe
        (Bool
         |? (ImplementationOptions |? ImplementationRegistrationOptions))
   -> Maybe (Bool |? ReferenceOptions)
   -> Maybe (Bool |? DocumentHighlightOptions)
   -> Maybe (Bool |? DocumentSymbolOptions)
   -> Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe SignatureHelpOptions)
-> Parser
     (Maybe
        (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
      -> Maybe (Bool |? DefinitionOptions)
      -> Maybe
           (Bool
            |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
      -> Maybe
           (Bool
            |? (ImplementationOptions |? ImplementationRegistrationOptions))
      -> Maybe (Bool |? ReferenceOptions)
      -> Maybe (Bool |? DocumentHighlightOptions)
      -> Maybe (Bool |? DocumentSymbolOptions)
      -> Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe SignatureHelpOptions)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"signatureHelpProvider" Parser
  (Maybe
     (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions))
   -> Maybe (Bool |? DefinitionOptions)
   -> Maybe
        (Bool
         |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
   -> Maybe
        (Bool
         |? (ImplementationOptions |? ImplementationRegistrationOptions))
   -> Maybe (Bool |? ReferenceOptions)
   -> Maybe (Bool |? DocumentHighlightOptions)
   -> Maybe (Bool |? DocumentSymbolOptions)
   -> Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions)))
-> Parser
     (Maybe (Bool |? DefinitionOptions)
      -> Maybe
           (Bool
            |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
      -> Maybe
           (Bool
            |? (ImplementationOptions |? ImplementationRegistrationOptions))
      -> Maybe (Bool |? ReferenceOptions)
      -> Maybe (Bool |? DocumentHighlightOptions)
      -> Maybe (Bool |? DocumentSymbolOptions)
      -> Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (Bool |? (DeclarationOptions |? DeclarationRegistrationOptions)))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"declarationProvider" Parser
  (Maybe (Bool |? DefinitionOptions)
   -> Maybe
        (Bool
         |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
   -> Maybe
        (Bool
         |? (ImplementationOptions |? ImplementationRegistrationOptions))
   -> Maybe (Bool |? ReferenceOptions)
   -> Maybe (Bool |? DocumentHighlightOptions)
   -> Maybe (Bool |? DocumentSymbolOptions)
   -> Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe (Bool |? DefinitionOptions))
-> Parser
     (Maybe
        (Bool
         |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
      -> Maybe
           (Bool
            |? (ImplementationOptions |? ImplementationRegistrationOptions))
      -> Maybe (Bool |? ReferenceOptions)
      -> Maybe (Bool |? DocumentHighlightOptions)
      -> Maybe (Bool |? DocumentSymbolOptions)
      -> Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe (Bool |? DefinitionOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"definitionProvider" Parser
  (Maybe
     (Bool
      |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions))
   -> Maybe
        (Bool
         |? (ImplementationOptions |? ImplementationRegistrationOptions))
   -> Maybe (Bool |? ReferenceOptions)
   -> Maybe (Bool |? DocumentHighlightOptions)
   -> Maybe (Bool |? DocumentSymbolOptions)
   -> Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (Bool
         |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions)))
-> Parser
     (Maybe
        (Bool
         |? (ImplementationOptions |? ImplementationRegistrationOptions))
      -> Maybe (Bool |? ReferenceOptions)
      -> Maybe (Bool |? DocumentHighlightOptions)
      -> Maybe (Bool |? DocumentSymbolOptions)
      -> Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (Bool
         |? (TypeDefinitionOptions |? TypeDefinitionRegistrationOptions)))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"typeDefinitionProvider" Parser
  (Maybe
     (Bool
      |? (ImplementationOptions |? ImplementationRegistrationOptions))
   -> Maybe (Bool |? ReferenceOptions)
   -> Maybe (Bool |? DocumentHighlightOptions)
   -> Maybe (Bool |? DocumentSymbolOptions)
   -> Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (Bool
         |? (ImplementationOptions |? ImplementationRegistrationOptions)))
-> Parser
     (Maybe (Bool |? ReferenceOptions)
      -> Maybe (Bool |? DocumentHighlightOptions)
      -> Maybe (Bool |? DocumentSymbolOptions)
      -> Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (Bool
         |? (ImplementationOptions |? ImplementationRegistrationOptions)))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"implementationProvider" Parser
  (Maybe (Bool |? ReferenceOptions)
   -> Maybe (Bool |? DocumentHighlightOptions)
   -> Maybe (Bool |? DocumentSymbolOptions)
   -> Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe (Bool |? ReferenceOptions))
-> Parser
     (Maybe (Bool |? DocumentHighlightOptions)
      -> Maybe (Bool |? DocumentSymbolOptions)
      -> Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe (Bool |? ReferenceOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"referencesProvider" Parser
  (Maybe (Bool |? DocumentHighlightOptions)
   -> Maybe (Bool |? DocumentSymbolOptions)
   -> Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe (Bool |? DocumentHighlightOptions))
-> Parser
     (Maybe (Bool |? DocumentSymbolOptions)
      -> Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe (Bool |? DocumentHighlightOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"documentHighlightProvider" Parser
  (Maybe (Bool |? DocumentSymbolOptions)
   -> Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe (Bool |? DocumentSymbolOptions))
-> Parser
     (Maybe (Bool |? CodeActionOptions)
      -> Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe (Bool |? DocumentSymbolOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"documentSymbolProvider" Parser
  (Maybe (Bool |? CodeActionOptions)
   -> Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe (Bool |? CodeActionOptions))
-> Parser
     (Maybe CodeLensOptions
      -> Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe (Bool |? CodeActionOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"codeActionProvider" Parser
  (Maybe CodeLensOptions
   -> Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe CodeLensOptions)
-> Parser
     (Maybe DocumentLinkOptions
      -> Maybe
           (Bool
            |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe CodeLensOptions)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"codeLensProvider" Parser
  (Maybe DocumentLinkOptions
   -> Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe DocumentLinkOptions)
-> Parser
     (Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
      -> Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe DocumentLinkOptions)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"documentLinkProvider" Parser
  (Maybe
     (Bool
      |? (DocumentColorOptions |? DocumentColorRegistrationOptions))
   -> Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions)))
-> Parser
     (Maybe (Bool |? WorkspaceSymbolOptions)
      -> Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (Bool
         |? (DocumentColorOptions |? DocumentColorRegistrationOptions)))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"colorProvider" Parser
  (Maybe (Bool |? WorkspaceSymbolOptions)
   -> Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe (Bool |? WorkspaceSymbolOptions))
-> Parser
     (Maybe (Bool |? DocumentFormattingOptions)
      -> Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe (Bool |? WorkspaceSymbolOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"workspaceSymbolProvider" Parser
  (Maybe (Bool |? DocumentFormattingOptions)
   -> Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe (Bool |? DocumentFormattingOptions))
-> Parser
     (Maybe (Bool |? DocumentRangeFormattingOptions)
      -> Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe (Bool |? DocumentFormattingOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"documentFormattingProvider" Parser
  (Maybe (Bool |? DocumentRangeFormattingOptions)
   -> Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe (Bool |? DocumentRangeFormattingOptions))
-> Parser
     (Maybe DocumentOnTypeFormattingOptions
      -> Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key -> Parser (Maybe (Bool |? DocumentRangeFormattingOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"documentRangeFormattingProvider" Parser
  (Maybe DocumentOnTypeFormattingOptions
   -> Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe DocumentOnTypeFormattingOptions)
-> Parser
     (Maybe (Bool |? RenameOptions)
      -> Maybe
           (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe DocumentOnTypeFormattingOptions)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"documentOnTypeFormattingProvider" Parser
  (Maybe (Bool |? RenameOptions)
   -> Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe (Bool |? RenameOptions))
-> Parser
     (Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
      -> Maybe
           (Bool
            |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe (Bool |? RenameOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"renameProvider" Parser
  (Maybe
     (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions))
   -> Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions)))
-> Parser
     (Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
      -> Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (Bool |? (FoldingRangeOptions |? FoldingRangeRegistrationOptions)))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"foldingRangeProvider" Parser
  (Maybe
     (Bool
      |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions))
   -> Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions)))
-> Parser
     (Maybe ExecuteCommandOptions
      -> Maybe
           (Bool
            |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (Bool
         |? (SelectionRangeOptions |? SelectionRangeRegistrationOptions)))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"selectionRangeProvider" Parser
  (Maybe ExecuteCommandOptions
   -> Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser (Maybe ExecuteCommandOptions)
-> Parser
     (Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
      -> Maybe
           (Bool
            |? (LinkedEditingRangeOptions
                |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe ExecuteCommandOptions)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"executeCommandProvider" Parser
  (Maybe
     (Bool
      |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions))
   -> Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions)))
-> Parser
     (Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions))
      -> Maybe
           (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (Bool
         |? (CallHierarchyOptions |? CallHierarchyRegistrationOptions)))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"callHierarchyProvider" Parser
  (Maybe
     (Bool
      |? (LinkedEditingRangeOptions
          |? LinkedEditingRangeRegistrationOptions))
   -> Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions)))
-> Parser
     (Maybe (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
      -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (Bool
         |? (LinkedEditingRangeOptions
             |? LinkedEditingRangeRegistrationOptions)))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"linkedEditingRangeProvider" Parser
  (Maybe (SemanticTokensOptions |? SemanticTokensRegistrationOptions)
   -> Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions))
-> Parser
     (Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
      -> Maybe
           (Bool
            |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (SemanticTokensOptions |? SemanticTokensRegistrationOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"semanticTokensProvider" Parser
  (Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions))
   -> Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions)))
-> Parser
     (Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
      -> Maybe
           (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe (Bool |? (MonikerOptions |? MonikerRegistrationOptions)))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"monikerProvider" Parser
  (Maybe
     (Bool
      |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions))
   -> Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions)))
-> Parser
     (Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
      -> Maybe
           (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (Bool
         |? (TypeHierarchyOptions |? TypeHierarchyRegistrationOptions)))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"typeHierarchyProvider" Parser
  (Maybe
     (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions))
   -> Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions)))
-> Parser
     (Maybe (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
      -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions
      -> Maybe Value
      -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (Bool |? (InlineValueOptions |? InlineValueRegistrationOptions)))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"inlineValueProvider" Parser
  (Maybe (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions))
   -> Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions
   -> Maybe Value
   -> ServerCapabilities)
-> Parser
     (Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions)))
-> Parser
     (Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
      -> Maybe WorkspaceOptions -> Maybe Value -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe
        (Bool |? (InlayHintOptions |? InlayHintRegistrationOptions)))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"inlayHintProvider" Parser
  (Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions)
   -> Maybe WorkspaceOptions -> Maybe Value -> ServerCapabilities)
-> Parser
     (Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions))
-> Parser
     (Maybe WorkspaceOptions -> Maybe Value -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object
-> Key
-> Parser
     (Maybe (DiagnosticOptions |? DiagnosticRegistrationOptions))
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"diagnosticProvider" Parser
  (Maybe WorkspaceOptions -> Maybe Value -> ServerCapabilities)
-> Parser (Maybe WorkspaceOptions)
-> Parser (Maybe Value -> ServerCapabilities)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe WorkspaceOptions)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"workspace" Parser (Maybe Value -> ServerCapabilities)
-> Parser (Maybe Value) -> Parser ServerCapabilities
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe Value)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"experimental"