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