{-# OPTIONS_GHC -Wno-unused-imports #-}
{-# OPTIONS_GHC -Wno-unused-matches #-}
{-# OPTIONS_GHC -Wno-deprecations #-}
module Language.LSP.Protocol.Internal.Types.UniquenessLevel 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.Set
import qualified Data.String
import qualified Data.Text
import qualified Language.LSP.Protocol.Types.LspEnum
data UniquenessLevel =
UniquenessLevel_Document
|
UniquenessLevel_Project
|
UniquenessLevel_Group
|
UniquenessLevel_Scheme
|
UniquenessLevel_Global
deriving stock (Int -> UniquenessLevel -> ShowS
[UniquenessLevel] -> ShowS
UniquenessLevel -> String
(Int -> UniquenessLevel -> ShowS)
-> (UniquenessLevel -> String)
-> ([UniquenessLevel] -> ShowS)
-> Show UniquenessLevel
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> UniquenessLevel -> ShowS
showsPrec :: Int -> UniquenessLevel -> ShowS
$cshow :: UniquenessLevel -> String
show :: UniquenessLevel -> String
$cshowList :: [UniquenessLevel] -> ShowS
showList :: [UniquenessLevel] -> ShowS
Show, UniquenessLevel -> UniquenessLevel -> Bool
(UniquenessLevel -> UniquenessLevel -> Bool)
-> (UniquenessLevel -> UniquenessLevel -> Bool)
-> Eq UniquenessLevel
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: UniquenessLevel -> UniquenessLevel -> Bool
== :: UniquenessLevel -> UniquenessLevel -> Bool
$c/= :: UniquenessLevel -> UniquenessLevel -> Bool
/= :: UniquenessLevel -> UniquenessLevel -> Bool
Eq, Eq UniquenessLevel
Eq UniquenessLevel =>
(UniquenessLevel -> UniquenessLevel -> Ordering)
-> (UniquenessLevel -> UniquenessLevel -> Bool)
-> (UniquenessLevel -> UniquenessLevel -> Bool)
-> (UniquenessLevel -> UniquenessLevel -> Bool)
-> (UniquenessLevel -> UniquenessLevel -> Bool)
-> (UniquenessLevel -> UniquenessLevel -> UniquenessLevel)
-> (UniquenessLevel -> UniquenessLevel -> UniquenessLevel)
-> Ord UniquenessLevel
UniquenessLevel -> UniquenessLevel -> Bool
UniquenessLevel -> UniquenessLevel -> Ordering
UniquenessLevel -> UniquenessLevel -> UniquenessLevel
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 :: UniquenessLevel -> UniquenessLevel -> Ordering
compare :: UniquenessLevel -> UniquenessLevel -> Ordering
$c< :: UniquenessLevel -> UniquenessLevel -> Bool
< :: UniquenessLevel -> UniquenessLevel -> Bool
$c<= :: UniquenessLevel -> UniquenessLevel -> Bool
<= :: UniquenessLevel -> UniquenessLevel -> Bool
$c> :: UniquenessLevel -> UniquenessLevel -> Bool
> :: UniquenessLevel -> UniquenessLevel -> Bool
$c>= :: UniquenessLevel -> UniquenessLevel -> Bool
>= :: UniquenessLevel -> UniquenessLevel -> Bool
$cmax :: UniquenessLevel -> UniquenessLevel -> UniquenessLevel
max :: UniquenessLevel -> UniquenessLevel -> UniquenessLevel
$cmin :: UniquenessLevel -> UniquenessLevel -> UniquenessLevel
min :: UniquenessLevel -> UniquenessLevel -> UniquenessLevel
Ord, (forall x. UniquenessLevel -> Rep UniquenessLevel x)
-> (forall x. Rep UniquenessLevel x -> UniquenessLevel)
-> Generic UniquenessLevel
forall x. Rep UniquenessLevel x -> UniquenessLevel
forall x. UniquenessLevel -> Rep UniquenessLevel x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. UniquenessLevel -> Rep UniquenessLevel x
from :: forall x. UniquenessLevel -> Rep UniquenessLevel x
$cto :: forall x. Rep UniquenessLevel x -> UniquenessLevel
to :: forall x. Rep UniquenessLevel x -> UniquenessLevel
Generic)
deriving anyclass (UniquenessLevel -> ()
(UniquenessLevel -> ()) -> NFData UniquenessLevel
forall a. (a -> ()) -> NFData a
$crnf :: UniquenessLevel -> ()
rnf :: UniquenessLevel -> ()
NFData, Eq UniquenessLevel
Eq UniquenessLevel =>
(Int -> UniquenessLevel -> Int)
-> (UniquenessLevel -> Int) -> Hashable UniquenessLevel
Int -> UniquenessLevel -> Int
UniquenessLevel -> Int
forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
$chashWithSalt :: Int -> UniquenessLevel -> Int
hashWithSalt :: Int -> UniquenessLevel -> Int
$chash :: UniquenessLevel -> Int
hash :: UniquenessLevel -> Int
Hashable)
deriving ( [UniquenessLevel] -> Value
[UniquenessLevel] -> Encoding
UniquenessLevel -> Bool
UniquenessLevel -> Value
UniquenessLevel -> Encoding
(UniquenessLevel -> Value)
-> (UniquenessLevel -> Encoding)
-> ([UniquenessLevel] -> Value)
-> ([UniquenessLevel] -> Encoding)
-> (UniquenessLevel -> Bool)
-> ToJSON UniquenessLevel
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: UniquenessLevel -> Value
toJSON :: UniquenessLevel -> Value
$ctoEncoding :: UniquenessLevel -> Encoding
toEncoding :: UniquenessLevel -> Encoding
$ctoJSONList :: [UniquenessLevel] -> Value
toJSONList :: [UniquenessLevel] -> Value
$ctoEncodingList :: [UniquenessLevel] -> Encoding
toEncodingList :: [UniquenessLevel] -> Encoding
$comitField :: UniquenessLevel -> Bool
omitField :: UniquenessLevel -> Bool
Aeson.ToJSON
, Maybe UniquenessLevel
Value -> Parser [UniquenessLevel]
Value -> Parser UniquenessLevel
(Value -> Parser UniquenessLevel)
-> (Value -> Parser [UniquenessLevel])
-> Maybe UniquenessLevel
-> FromJSON UniquenessLevel
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser UniquenessLevel
parseJSON :: Value -> Parser UniquenessLevel
$cparseJSONList :: Value -> Parser [UniquenessLevel]
parseJSONList :: Value -> Parser [UniquenessLevel]
$comittedField :: Maybe UniquenessLevel
omittedField :: Maybe UniquenessLevel
Aeson.FromJSON ) via (Language.LSP.Protocol.Types.LspEnum.AsLspEnum UniquenessLevel)
deriving (forall ann. UniquenessLevel -> Doc ann)
-> (forall ann. [UniquenessLevel] -> Doc ann)
-> Pretty UniquenessLevel
forall ann. [UniquenessLevel] -> Doc ann
forall ann. UniquenessLevel -> Doc ann
forall a.
(forall ann. a -> Doc ann)
-> (forall ann. [a] -> Doc ann) -> Pretty a
$cpretty :: forall ann. UniquenessLevel -> Doc ann
pretty :: forall ann. UniquenessLevel -> Doc ann
$cprettyList :: forall ann. [UniquenessLevel] -> Doc ann
prettyList :: forall ann. [UniquenessLevel] -> Doc ann
Pretty via (ViaJSON UniquenessLevel)
instance Language.LSP.Protocol.Types.LspEnum.LspEnum UniquenessLevel where
knownValues :: Set UniquenessLevel
knownValues = [UniquenessLevel] -> Set UniquenessLevel
forall a. Ord a => [a] -> Set a
Data.Set.fromList [UniquenessLevel
UniquenessLevel_Document
,UniquenessLevel
UniquenessLevel_Project
,UniquenessLevel
UniquenessLevel_Group
,UniquenessLevel
UniquenessLevel_Scheme
,UniquenessLevel
UniquenessLevel_Global]
type EnumBaseType UniquenessLevel = Data.Text.Text
toEnumBaseType :: UniquenessLevel -> EnumBaseType UniquenessLevel
toEnumBaseType UniquenessLevel
UniquenessLevel_Document = Text
EnumBaseType UniquenessLevel
"document"
toEnumBaseType UniquenessLevel
UniquenessLevel_Project = Text
EnumBaseType UniquenessLevel
"project"
toEnumBaseType UniquenessLevel
UniquenessLevel_Group = Text
EnumBaseType UniquenessLevel
"group"
toEnumBaseType UniquenessLevel
UniquenessLevel_Scheme = Text
EnumBaseType UniquenessLevel
"scheme"
toEnumBaseType UniquenessLevel
UniquenessLevel_Global = Text
EnumBaseType UniquenessLevel
"global"
fromEnumBaseType :: EnumBaseType UniquenessLevel -> Maybe UniquenessLevel
fromEnumBaseType EnumBaseType UniquenessLevel
"document" = UniquenessLevel -> Maybe UniquenessLevel
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
pure UniquenessLevel
UniquenessLevel_Document
fromEnumBaseType EnumBaseType UniquenessLevel
"project" = UniquenessLevel -> Maybe UniquenessLevel
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
pure UniquenessLevel
UniquenessLevel_Project
fromEnumBaseType EnumBaseType UniquenessLevel
"group" = UniquenessLevel -> Maybe UniquenessLevel
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
pure UniquenessLevel
UniquenessLevel_Group
fromEnumBaseType EnumBaseType UniquenessLevel
"scheme" = UniquenessLevel -> Maybe UniquenessLevel
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
pure UniquenessLevel
UniquenessLevel_Scheme
fromEnumBaseType EnumBaseType UniquenessLevel
"global" = UniquenessLevel -> Maybe UniquenessLevel
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
pure UniquenessLevel
UniquenessLevel_Global
fromEnumBaseType EnumBaseType UniquenessLevel
_ = Maybe UniquenessLevel
forall a. Maybe a
Nothing