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