{-# OPTIONS_GHC -Wno-unused-imports #-}
{-# OPTIONS_GHC -Wno-unused-matches #-}
{-# OPTIONS_GHC -Wno-deprecations #-}
module Language.LSP.Protocol.Internal.Types.NotebookDocumentSyncClientCapabilities where
import Control.DeepSeq
import Data.Hashable
import GHC.Generics
import Language.LSP.Protocol.Utils.Misc
import Prettyprinter
import qualified Data.Aeson as Aeson
import qualified Data.Row.Aeson as Aeson
import qualified Data.Row.Hashable as Hashable
import qualified Language.LSP.Protocol.Types.Common
data NotebookDocumentSyncClientCapabilities = NotebookDocumentSyncClientCapabilities
{
NotebookDocumentSyncClientCapabilities -> Maybe Bool
_dynamicRegistration :: (Maybe Bool)
,
NotebookDocumentSyncClientCapabilities -> Maybe Bool
_executionSummarySupport :: (Maybe Bool)
}
deriving stock (Int -> NotebookDocumentSyncClientCapabilities -> ShowS
[NotebookDocumentSyncClientCapabilities] -> ShowS
NotebookDocumentSyncClientCapabilities -> String
(Int -> NotebookDocumentSyncClientCapabilities -> ShowS)
-> (NotebookDocumentSyncClientCapabilities -> String)
-> ([NotebookDocumentSyncClientCapabilities] -> ShowS)
-> Show NotebookDocumentSyncClientCapabilities
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NotebookDocumentSyncClientCapabilities -> ShowS
showsPrec :: Int -> NotebookDocumentSyncClientCapabilities -> ShowS
$cshow :: NotebookDocumentSyncClientCapabilities -> String
show :: NotebookDocumentSyncClientCapabilities -> String
$cshowList :: [NotebookDocumentSyncClientCapabilities] -> ShowS
showList :: [NotebookDocumentSyncClientCapabilities] -> ShowS
Show, NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
(NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool)
-> (NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool)
-> Eq NotebookDocumentSyncClientCapabilities
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
== :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
$c/= :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
/= :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
Eq, Eq NotebookDocumentSyncClientCapabilities
Eq NotebookDocumentSyncClientCapabilities =>
(NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Ordering)
-> (NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool)
-> (NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool)
-> (NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool)
-> (NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool)
-> (NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities)
-> (NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities)
-> Ord NotebookDocumentSyncClientCapabilities
NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Ordering
NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities
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 :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Ordering
compare :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Ordering
$c< :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
< :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
$c<= :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
<= :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
$c> :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
> :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
$c>= :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
>= :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities -> Bool
$cmax :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities
max :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities
$cmin :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities
min :: NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities
-> NotebookDocumentSyncClientCapabilities
Ord, (forall x.
NotebookDocumentSyncClientCapabilities
-> Rep NotebookDocumentSyncClientCapabilities x)
-> (forall x.
Rep NotebookDocumentSyncClientCapabilities x
-> NotebookDocumentSyncClientCapabilities)
-> Generic NotebookDocumentSyncClientCapabilities
forall x.
Rep NotebookDocumentSyncClientCapabilities x
-> NotebookDocumentSyncClientCapabilities
forall x.
NotebookDocumentSyncClientCapabilities
-> Rep NotebookDocumentSyncClientCapabilities x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
NotebookDocumentSyncClientCapabilities
-> Rep NotebookDocumentSyncClientCapabilities x
from :: forall x.
NotebookDocumentSyncClientCapabilities
-> Rep NotebookDocumentSyncClientCapabilities x
$cto :: forall x.
Rep NotebookDocumentSyncClientCapabilities x
-> NotebookDocumentSyncClientCapabilities
to :: forall x.
Rep NotebookDocumentSyncClientCapabilities x
-> NotebookDocumentSyncClientCapabilities
Generic)
deriving anyclass (NotebookDocumentSyncClientCapabilities -> ()
(NotebookDocumentSyncClientCapabilities -> ())
-> NFData NotebookDocumentSyncClientCapabilities
forall a. (a -> ()) -> NFData a
$crnf :: NotebookDocumentSyncClientCapabilities -> ()
rnf :: NotebookDocumentSyncClientCapabilities -> ()
NFData, Eq NotebookDocumentSyncClientCapabilities
Eq NotebookDocumentSyncClientCapabilities =>
(Int -> NotebookDocumentSyncClientCapabilities -> Int)
-> (NotebookDocumentSyncClientCapabilities -> Int)
-> Hashable NotebookDocumentSyncClientCapabilities
Int -> NotebookDocumentSyncClientCapabilities -> Int
NotebookDocumentSyncClientCapabilities -> Int
forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
$chashWithSalt :: Int -> NotebookDocumentSyncClientCapabilities -> Int
hashWithSalt :: Int -> NotebookDocumentSyncClientCapabilities -> Int
$chash :: NotebookDocumentSyncClientCapabilities -> Int
hash :: NotebookDocumentSyncClientCapabilities -> Int
Hashable)
deriving (forall ann. NotebookDocumentSyncClientCapabilities -> Doc ann)
-> (forall ann.
[NotebookDocumentSyncClientCapabilities] -> Doc ann)
-> Pretty NotebookDocumentSyncClientCapabilities
forall ann. [NotebookDocumentSyncClientCapabilities] -> Doc ann
forall ann. NotebookDocumentSyncClientCapabilities -> Doc ann
forall a.
(forall ann. a -> Doc ann)
-> (forall ann. [a] -> Doc ann) -> Pretty a
$cpretty :: forall ann. NotebookDocumentSyncClientCapabilities -> Doc ann
pretty :: forall ann. NotebookDocumentSyncClientCapabilities -> Doc ann
$cprettyList :: forall ann. [NotebookDocumentSyncClientCapabilities] -> Doc ann
prettyList :: forall ann. [NotebookDocumentSyncClientCapabilities] -> Doc ann
Pretty via (ViaJSON NotebookDocumentSyncClientCapabilities)
instance Aeson.ToJSON NotebookDocumentSyncClientCapabilities where
toJSON :: NotebookDocumentSyncClientCapabilities -> Value
toJSON (NotebookDocumentSyncClientCapabilities Maybe Bool
arg0 Maybe Bool
arg1) = [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
"dynamicRegistration" String -> Maybe Bool -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe Bool
arg0
,String
"executionSummarySupport" String -> Maybe Bool -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe Bool
arg1]
instance Aeson.FromJSON NotebookDocumentSyncClientCapabilities where
parseJSON :: Value -> Parser NotebookDocumentSyncClientCapabilities
parseJSON = String
-> (Object -> Parser NotebookDocumentSyncClientCapabilities)
-> Value
-> Parser NotebookDocumentSyncClientCapabilities
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Aeson.withObject String
"NotebookDocumentSyncClientCapabilities" ((Object -> Parser NotebookDocumentSyncClientCapabilities)
-> Value -> Parser NotebookDocumentSyncClientCapabilities)
-> (Object -> Parser NotebookDocumentSyncClientCapabilities)
-> Value
-> Parser NotebookDocumentSyncClientCapabilities
forall a b. (a -> b) -> a -> b
$ \Object
arg -> Maybe Bool -> Maybe Bool -> NotebookDocumentSyncClientCapabilities
NotebookDocumentSyncClientCapabilities (Maybe Bool
-> Maybe Bool -> NotebookDocumentSyncClientCapabilities)
-> Parser (Maybe Bool)
-> Parser (Maybe Bool -> NotebookDocumentSyncClientCapabilities)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
arg Object -> Key -> Parser (Maybe Bool)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"dynamicRegistration" Parser (Maybe Bool -> NotebookDocumentSyncClientCapabilities)
-> Parser (Maybe Bool)
-> Parser NotebookDocumentSyncClientCapabilities
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)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"executionSummarySupport"