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