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