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