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