{-# OPTIONS_GHC -Wno-unused-imports #-}
{-# OPTIONS_GHC -Wno-unused-matches #-}
{-# OPTIONS_GHC -Wno-deprecations #-}
module Language.LSP.Protocol.Internal.Types.ExecuteCommandClientCapabilities 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 ExecuteCommandClientCapabilities = ExecuteCommandClientCapabilities
{
ExecuteCommandClientCapabilities -> Maybe Bool
_dynamicRegistration :: (Maybe Bool)
}
deriving stock (Int -> ExecuteCommandClientCapabilities -> ShowS
[ExecuteCommandClientCapabilities] -> ShowS
ExecuteCommandClientCapabilities -> String
(Int -> ExecuteCommandClientCapabilities -> ShowS)
-> (ExecuteCommandClientCapabilities -> String)
-> ([ExecuteCommandClientCapabilities] -> ShowS)
-> Show ExecuteCommandClientCapabilities
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ExecuteCommandClientCapabilities -> ShowS
showsPrec :: Int -> ExecuteCommandClientCapabilities -> ShowS
$cshow :: ExecuteCommandClientCapabilities -> String
show :: ExecuteCommandClientCapabilities -> String
$cshowList :: [ExecuteCommandClientCapabilities] -> ShowS
showList :: [ExecuteCommandClientCapabilities] -> ShowS
Show, ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
(ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool)
-> (ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool)
-> Eq ExecuteCommandClientCapabilities
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
== :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
$c/= :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
/= :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
Eq, Eq ExecuteCommandClientCapabilities
Eq ExecuteCommandClientCapabilities =>
(ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Ordering)
-> (ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool)
-> (ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool)
-> (ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool)
-> (ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool)
-> (ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities)
-> (ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities)
-> Ord ExecuteCommandClientCapabilities
ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Ordering
ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities
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 :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Ordering
compare :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Ordering
$c< :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
< :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
$c<= :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
<= :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
$c> :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
> :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
$c>= :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
>= :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities -> Bool
$cmax :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities
max :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities
$cmin :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities
min :: ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities
-> ExecuteCommandClientCapabilities
Ord, (forall x.
ExecuteCommandClientCapabilities
-> Rep ExecuteCommandClientCapabilities x)
-> (forall x.
Rep ExecuteCommandClientCapabilities x
-> ExecuteCommandClientCapabilities)
-> Generic ExecuteCommandClientCapabilities
forall x.
Rep ExecuteCommandClientCapabilities x
-> ExecuteCommandClientCapabilities
forall x.
ExecuteCommandClientCapabilities
-> Rep ExecuteCommandClientCapabilities x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
ExecuteCommandClientCapabilities
-> Rep ExecuteCommandClientCapabilities x
from :: forall x.
ExecuteCommandClientCapabilities
-> Rep ExecuteCommandClientCapabilities x
$cto :: forall x.
Rep ExecuteCommandClientCapabilities x
-> ExecuteCommandClientCapabilities
to :: forall x.
Rep ExecuteCommandClientCapabilities x
-> ExecuteCommandClientCapabilities
Generic)
deriving anyclass (ExecuteCommandClientCapabilities -> ()
(ExecuteCommandClientCapabilities -> ())
-> NFData ExecuteCommandClientCapabilities
forall a. (a -> ()) -> NFData a
$crnf :: ExecuteCommandClientCapabilities -> ()
rnf :: ExecuteCommandClientCapabilities -> ()
NFData, Eq ExecuteCommandClientCapabilities
Eq ExecuteCommandClientCapabilities =>
(Int -> ExecuteCommandClientCapabilities -> Int)
-> (ExecuteCommandClientCapabilities -> Int)
-> Hashable ExecuteCommandClientCapabilities
Int -> ExecuteCommandClientCapabilities -> Int
ExecuteCommandClientCapabilities -> Int
forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
$chashWithSalt :: Int -> ExecuteCommandClientCapabilities -> Int
hashWithSalt :: Int -> ExecuteCommandClientCapabilities -> Int
$chash :: ExecuteCommandClientCapabilities -> Int
hash :: ExecuteCommandClientCapabilities -> Int
Hashable)
deriving (forall ann. ExecuteCommandClientCapabilities -> Doc ann)
-> (forall ann. [ExecuteCommandClientCapabilities] -> Doc ann)
-> Pretty ExecuteCommandClientCapabilities
forall ann. [ExecuteCommandClientCapabilities] -> Doc ann
forall ann. ExecuteCommandClientCapabilities -> Doc ann
forall a.
(forall ann. a -> Doc ann)
-> (forall ann. [a] -> Doc ann) -> Pretty a
$cpretty :: forall ann. ExecuteCommandClientCapabilities -> Doc ann
pretty :: forall ann. ExecuteCommandClientCapabilities -> Doc ann
$cprettyList :: forall ann. [ExecuteCommandClientCapabilities] -> Doc ann
prettyList :: forall ann. [ExecuteCommandClientCapabilities] -> Doc ann
Pretty via (ViaJSON ExecuteCommandClientCapabilities)
instance Aeson.ToJSON ExecuteCommandClientCapabilities where
toJSON :: ExecuteCommandClientCapabilities -> Value
toJSON (ExecuteCommandClientCapabilities Maybe Bool
arg0) = [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]
instance Aeson.FromJSON ExecuteCommandClientCapabilities where
parseJSON :: Value -> Parser ExecuteCommandClientCapabilities
parseJSON = String
-> (Object -> Parser ExecuteCommandClientCapabilities)
-> Value
-> Parser ExecuteCommandClientCapabilities
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Aeson.withObject String
"ExecuteCommandClientCapabilities" ((Object -> Parser ExecuteCommandClientCapabilities)
-> Value -> Parser ExecuteCommandClientCapabilities)
-> (Object -> Parser ExecuteCommandClientCapabilities)
-> Value
-> Parser ExecuteCommandClientCapabilities
forall a b. (a -> b) -> a -> b
$ \Object
arg -> Maybe Bool -> ExecuteCommandClientCapabilities
ExecuteCommandClientCapabilities (Maybe Bool -> ExecuteCommandClientCapabilities)
-> Parser (Maybe Bool) -> Parser ExecuteCommandClientCapabilities
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"