{- 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.PrepareSupportDefaultBehavior 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 Language.LSP.Protocol.Types.Common
import qualified Language.LSP.Protocol.Types.LspEnum

{-|

-}
data PrepareSupportDefaultBehavior = 
    {-|
  The client's default behavior is to select the identifier
  according the to language's syntax rule.
  -}
  PrepareSupportDefaultBehavior_Identifier
  deriving stock (Int -> PrepareSupportDefaultBehavior -> ShowS
[PrepareSupportDefaultBehavior] -> ShowS
PrepareSupportDefaultBehavior -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PrepareSupportDefaultBehavior] -> ShowS
$cshowList :: [PrepareSupportDefaultBehavior] -> ShowS
show :: PrepareSupportDefaultBehavior -> String
$cshow :: PrepareSupportDefaultBehavior -> String
showsPrec :: Int -> PrepareSupportDefaultBehavior -> ShowS
$cshowsPrec :: Int -> PrepareSupportDefaultBehavior -> ShowS
Show, PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
$c/= :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
== :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
$c== :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
Eq, Eq PrepareSupportDefaultBehavior
PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Ordering
PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> PrepareSupportDefaultBehavior
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
min :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> PrepareSupportDefaultBehavior
$cmin :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> PrepareSupportDefaultBehavior
max :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> PrepareSupportDefaultBehavior
$cmax :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> PrepareSupportDefaultBehavior
>= :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
$c>= :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
> :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
$c> :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
<= :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
$c<= :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
< :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
$c< :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Bool
compare :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Ordering
$ccompare :: PrepareSupportDefaultBehavior
-> PrepareSupportDefaultBehavior -> Ordering
Ord, forall x.
Rep PrepareSupportDefaultBehavior x
-> PrepareSupportDefaultBehavior
forall x.
PrepareSupportDefaultBehavior
-> Rep PrepareSupportDefaultBehavior x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PrepareSupportDefaultBehavior x
-> PrepareSupportDefaultBehavior
$cfrom :: forall x.
PrepareSupportDefaultBehavior
-> Rep PrepareSupportDefaultBehavior x
Generic)
  deriving anyclass (PrepareSupportDefaultBehavior -> ()
forall a. (a -> ()) -> NFData a
rnf :: PrepareSupportDefaultBehavior -> ()
$crnf :: PrepareSupportDefaultBehavior -> ()
NFData, Eq PrepareSupportDefaultBehavior
Int -> PrepareSupportDefaultBehavior -> Int
PrepareSupportDefaultBehavior -> Int
forall a. Eq a -> (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: PrepareSupportDefaultBehavior -> Int
$chash :: PrepareSupportDefaultBehavior -> Int
hashWithSalt :: Int -> PrepareSupportDefaultBehavior -> Int
$chashWithSalt :: Int -> PrepareSupportDefaultBehavior -> Int
Hashable)
  deriving ( [PrepareSupportDefaultBehavior] -> Encoding
[PrepareSupportDefaultBehavior] -> Value
PrepareSupportDefaultBehavior -> Encoding
PrepareSupportDefaultBehavior -> Value
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [PrepareSupportDefaultBehavior] -> Encoding
$ctoEncodingList :: [PrepareSupportDefaultBehavior] -> Encoding
toJSONList :: [PrepareSupportDefaultBehavior] -> Value
$ctoJSONList :: [PrepareSupportDefaultBehavior] -> Value
toEncoding :: PrepareSupportDefaultBehavior -> Encoding
$ctoEncoding :: PrepareSupportDefaultBehavior -> Encoding
toJSON :: PrepareSupportDefaultBehavior -> Value
$ctoJSON :: PrepareSupportDefaultBehavior -> Value
Aeson.ToJSON
  , Value -> Parser [PrepareSupportDefaultBehavior]
Value -> Parser PrepareSupportDefaultBehavior
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [PrepareSupportDefaultBehavior]
$cparseJSONList :: Value -> Parser [PrepareSupportDefaultBehavior]
parseJSON :: Value -> Parser PrepareSupportDefaultBehavior
$cparseJSON :: Value -> Parser PrepareSupportDefaultBehavior
Aeson.FromJSON ) via (Language.LSP.Protocol.Types.LspEnum.AsLspEnum PrepareSupportDefaultBehavior Language.LSP.Protocol.Types.Common.UInt)
  deriving forall ann. [PrepareSupportDefaultBehavior] -> Doc ann
forall ann. PrepareSupportDefaultBehavior -> Doc ann
forall a.
(forall ann. a -> Doc ann)
-> (forall ann. [a] -> Doc ann) -> Pretty a
prettyList :: forall ann. [PrepareSupportDefaultBehavior] -> Doc ann
$cprettyList :: forall ann. [PrepareSupportDefaultBehavior] -> Doc ann
pretty :: forall ann. PrepareSupportDefaultBehavior -> Doc ann
$cpretty :: forall ann. PrepareSupportDefaultBehavior -> Doc ann
Pretty via (ViaJSON PrepareSupportDefaultBehavior)

instance Language.LSP.Protocol.Types.LspEnum.LspEnum PrepareSupportDefaultBehavior where
  knownValues :: Set PrepareSupportDefaultBehavior
knownValues = forall a. Ord a => [a] -> Set a
Data.Set.fromList [PrepareSupportDefaultBehavior
PrepareSupportDefaultBehavior_Identifier]
  type EnumBaseType PrepareSupportDefaultBehavior = Language.LSP.Protocol.Types.Common.UInt
  toEnumBaseType :: PrepareSupportDefaultBehavior
-> EnumBaseType PrepareSupportDefaultBehavior
toEnumBaseType PrepareSupportDefaultBehavior
PrepareSupportDefaultBehavior_Identifier = UInt
1
  fromEnumBaseType :: EnumBaseType PrepareSupportDefaultBehavior
-> Maybe PrepareSupportDefaultBehavior
fromEnumBaseType EnumBaseType PrepareSupportDefaultBehavior
1 = forall (f :: * -> *) a. Applicative f => a -> f a
pure PrepareSupportDefaultBehavior
PrepareSupportDefaultBehavior_Identifier
  fromEnumBaseType EnumBaseType PrepareSupportDefaultBehavior
_ = forall a. Maybe a
Nothing