{- ORMOLU_DISABLE -}
{- HLINT ignore -}
-- THIS IS A GENERATED FILE, DO NOT EDIT

{-# OPTIONS_GHC -Wno-unused-imports #-}
{-# OPTIONS_GHC -Wno-unused-matches #-}
{-# OPTIONS_GHC -Wno-deprecations #-}
module Language.LSP.Protocol.Internal.Types.ChangeAnnotationIdentifier 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 Data.Text

{-|
An identifier to refer to a change annotation stored with a workspace edit.
-}
newtype ChangeAnnotationIdentifier = ChangeAnnotationIdentifier Data.Text.Text
  deriving newtype ( [ChangeAnnotationIdentifier] -> Value
[ChangeAnnotationIdentifier] -> Encoding
ChangeAnnotationIdentifier -> Bool
ChangeAnnotationIdentifier -> Value
ChangeAnnotationIdentifier -> Encoding
(ChangeAnnotationIdentifier -> Value)
-> (ChangeAnnotationIdentifier -> Encoding)
-> ([ChangeAnnotationIdentifier] -> Value)
-> ([ChangeAnnotationIdentifier] -> Encoding)
-> (ChangeAnnotationIdentifier -> Bool)
-> ToJSON ChangeAnnotationIdentifier
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: ChangeAnnotationIdentifier -> Value
toJSON :: ChangeAnnotationIdentifier -> Value
$ctoEncoding :: ChangeAnnotationIdentifier -> Encoding
toEncoding :: ChangeAnnotationIdentifier -> Encoding
$ctoJSONList :: [ChangeAnnotationIdentifier] -> Value
toJSONList :: [ChangeAnnotationIdentifier] -> Value
$ctoEncodingList :: [ChangeAnnotationIdentifier] -> Encoding
toEncodingList :: [ChangeAnnotationIdentifier] -> Encoding
$comitField :: ChangeAnnotationIdentifier -> Bool
omitField :: ChangeAnnotationIdentifier -> Bool
Aeson.ToJSON
  , Maybe ChangeAnnotationIdentifier
Value -> Parser [ChangeAnnotationIdentifier]
Value -> Parser ChangeAnnotationIdentifier
(Value -> Parser ChangeAnnotationIdentifier)
-> (Value -> Parser [ChangeAnnotationIdentifier])
-> Maybe ChangeAnnotationIdentifier
-> FromJSON ChangeAnnotationIdentifier
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser ChangeAnnotationIdentifier
parseJSON :: Value -> Parser ChangeAnnotationIdentifier
$cparseJSONList :: Value -> Parser [ChangeAnnotationIdentifier]
parseJSONList :: Value -> Parser [ChangeAnnotationIdentifier]
$comittedField :: Maybe ChangeAnnotationIdentifier
omittedField :: Maybe ChangeAnnotationIdentifier
Aeson.FromJSON
  , ToJSONKeyFunction [ChangeAnnotationIdentifier]
ToJSONKeyFunction ChangeAnnotationIdentifier
ToJSONKeyFunction ChangeAnnotationIdentifier
-> ToJSONKeyFunction [ChangeAnnotationIdentifier]
-> ToJSONKey ChangeAnnotationIdentifier
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
$ctoJSONKey :: ToJSONKeyFunction ChangeAnnotationIdentifier
toJSONKey :: ToJSONKeyFunction ChangeAnnotationIdentifier
$ctoJSONKeyList :: ToJSONKeyFunction [ChangeAnnotationIdentifier]
toJSONKeyList :: ToJSONKeyFunction [ChangeAnnotationIdentifier]
Aeson.ToJSONKey
  , FromJSONKeyFunction [ChangeAnnotationIdentifier]
FromJSONKeyFunction ChangeAnnotationIdentifier
FromJSONKeyFunction ChangeAnnotationIdentifier
-> FromJSONKeyFunction [ChangeAnnotationIdentifier]
-> FromJSONKey ChangeAnnotationIdentifier
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
$cfromJSONKey :: FromJSONKeyFunction ChangeAnnotationIdentifier
fromJSONKey :: FromJSONKeyFunction ChangeAnnotationIdentifier
$cfromJSONKeyList :: FromJSONKeyFunction [ChangeAnnotationIdentifier]
fromJSONKeyList :: FromJSONKeyFunction [ChangeAnnotationIdentifier]
Aeson.FromJSONKey )
  deriving stock (Int -> ChangeAnnotationIdentifier -> ShowS
[ChangeAnnotationIdentifier] -> ShowS
ChangeAnnotationIdentifier -> String
(Int -> ChangeAnnotationIdentifier -> ShowS)
-> (ChangeAnnotationIdentifier -> String)
-> ([ChangeAnnotationIdentifier] -> ShowS)
-> Show ChangeAnnotationIdentifier
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ChangeAnnotationIdentifier -> ShowS
showsPrec :: Int -> ChangeAnnotationIdentifier -> ShowS
$cshow :: ChangeAnnotationIdentifier -> String
show :: ChangeAnnotationIdentifier -> String
$cshowList :: [ChangeAnnotationIdentifier] -> ShowS
showList :: [ChangeAnnotationIdentifier] -> ShowS
Show, ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
(ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool)
-> (ChangeAnnotationIdentifier
    -> ChangeAnnotationIdentifier -> Bool)
-> Eq ChangeAnnotationIdentifier
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
== :: ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
$c/= :: ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
/= :: ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
Eq, Eq ChangeAnnotationIdentifier
Eq ChangeAnnotationIdentifier =>
(ChangeAnnotationIdentifier
 -> ChangeAnnotationIdentifier -> Ordering)
-> (ChangeAnnotationIdentifier
    -> ChangeAnnotationIdentifier -> Bool)
-> (ChangeAnnotationIdentifier
    -> ChangeAnnotationIdentifier -> Bool)
-> (ChangeAnnotationIdentifier
    -> ChangeAnnotationIdentifier -> Bool)
-> (ChangeAnnotationIdentifier
    -> ChangeAnnotationIdentifier -> Bool)
-> (ChangeAnnotationIdentifier
    -> ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier)
-> (ChangeAnnotationIdentifier
    -> ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier)
-> Ord ChangeAnnotationIdentifier
ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
ChangeAnnotationIdentifier
-> ChangeAnnotationIdentifier -> Ordering
ChangeAnnotationIdentifier
-> ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier
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 :: ChangeAnnotationIdentifier
-> ChangeAnnotationIdentifier -> Ordering
compare :: ChangeAnnotationIdentifier
-> ChangeAnnotationIdentifier -> Ordering
$c< :: ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
< :: ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
$c<= :: ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
<= :: ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
$c> :: ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
> :: ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
$c>= :: ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
>= :: ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier -> Bool
$cmax :: ChangeAnnotationIdentifier
-> ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier
max :: ChangeAnnotationIdentifier
-> ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier
$cmin :: ChangeAnnotationIdentifier
-> ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier
min :: ChangeAnnotationIdentifier
-> ChangeAnnotationIdentifier -> ChangeAnnotationIdentifier
Ord, (forall x.
 ChangeAnnotationIdentifier -> Rep ChangeAnnotationIdentifier x)
-> (forall x.
    Rep ChangeAnnotationIdentifier x -> ChangeAnnotationIdentifier)
-> Generic ChangeAnnotationIdentifier
forall x.
Rep ChangeAnnotationIdentifier x -> ChangeAnnotationIdentifier
forall x.
ChangeAnnotationIdentifier -> Rep ChangeAnnotationIdentifier x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
ChangeAnnotationIdentifier -> Rep ChangeAnnotationIdentifier x
from :: forall x.
ChangeAnnotationIdentifier -> Rep ChangeAnnotationIdentifier x
$cto :: forall x.
Rep ChangeAnnotationIdentifier x -> ChangeAnnotationIdentifier
to :: forall x.
Rep ChangeAnnotationIdentifier x -> ChangeAnnotationIdentifier
Generic)
  deriving anyclass (ChangeAnnotationIdentifier -> ()
(ChangeAnnotationIdentifier -> ())
-> NFData ChangeAnnotationIdentifier
forall a. (a -> ()) -> NFData a
$crnf :: ChangeAnnotationIdentifier -> ()
rnf :: ChangeAnnotationIdentifier -> ()
NFData, Eq ChangeAnnotationIdentifier
Eq ChangeAnnotationIdentifier =>
(Int -> ChangeAnnotationIdentifier -> Int)
-> (ChangeAnnotationIdentifier -> Int)
-> Hashable ChangeAnnotationIdentifier
Int -> ChangeAnnotationIdentifier -> Int
ChangeAnnotationIdentifier -> Int
forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
$chashWithSalt :: Int -> ChangeAnnotationIdentifier -> Int
hashWithSalt :: Int -> ChangeAnnotationIdentifier -> Int
$chash :: ChangeAnnotationIdentifier -> Int
hash :: ChangeAnnotationIdentifier -> Int
Hashable)
  deriving (forall ann. ChangeAnnotationIdentifier -> Doc ann)
-> (forall ann. [ChangeAnnotationIdentifier] -> Doc ann)
-> Pretty ChangeAnnotationIdentifier
forall ann. [ChangeAnnotationIdentifier] -> Doc ann
forall ann. ChangeAnnotationIdentifier -> Doc ann
forall a.
(forall ann. a -> Doc ann)
-> (forall ann. [a] -> Doc ann) -> Pretty a
$cpretty :: forall ann. ChangeAnnotationIdentifier -> Doc ann
pretty :: forall ann. ChangeAnnotationIdentifier -> Doc ann
$cprettyList :: forall ann. [ChangeAnnotationIdentifier] -> Doc ann
prettyList :: forall ann. [ChangeAnnotationIdentifier] -> Doc ann
Pretty via (ViaJSON ChangeAnnotationIdentifier)