{- 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.SignatureHelpTriggerKind 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

{-|
How a signature help was triggered.

@since 3.15.0
-}
data SignatureHelpTriggerKind = 
    {-|
  Signature help was invoked manually by the user or by a command.
  -}
  SignatureHelpTriggerKind_Invoked
  | {-|
  Signature help was triggered by a trigger character.
  -}
  SignatureHelpTriggerKind_TriggerCharacter
  | {-|
  Signature help was triggered by the cursor moving or by the document content changing.
  -}
  SignatureHelpTriggerKind_ContentChange
  deriving stock (Int -> SignatureHelpTriggerKind -> ShowS
[SignatureHelpTriggerKind] -> ShowS
SignatureHelpTriggerKind -> String
(Int -> SignatureHelpTriggerKind -> ShowS)
-> (SignatureHelpTriggerKind -> String)
-> ([SignatureHelpTriggerKind] -> ShowS)
-> Show SignatureHelpTriggerKind
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SignatureHelpTriggerKind -> ShowS
showsPrec :: Int -> SignatureHelpTriggerKind -> ShowS
$cshow :: SignatureHelpTriggerKind -> String
show :: SignatureHelpTriggerKind -> String
$cshowList :: [SignatureHelpTriggerKind] -> ShowS
showList :: [SignatureHelpTriggerKind] -> ShowS
Show, SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
(SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool)
-> (SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool)
-> Eq SignatureHelpTriggerKind
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
== :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
$c/= :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
/= :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
Eq, Eq SignatureHelpTriggerKind
Eq SignatureHelpTriggerKind =>
(SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Ordering)
-> (SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool)
-> (SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool)
-> (SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool)
-> (SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool)
-> (SignatureHelpTriggerKind
    -> SignatureHelpTriggerKind -> SignatureHelpTriggerKind)
-> (SignatureHelpTriggerKind
    -> SignatureHelpTriggerKind -> SignatureHelpTriggerKind)
-> Ord SignatureHelpTriggerKind
SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Ordering
SignatureHelpTriggerKind
-> SignatureHelpTriggerKind -> SignatureHelpTriggerKind
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 :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Ordering
compare :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Ordering
$c< :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
< :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
$c<= :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
<= :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
$c> :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
> :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
$c>= :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
>= :: SignatureHelpTriggerKind -> SignatureHelpTriggerKind -> Bool
$cmax :: SignatureHelpTriggerKind
-> SignatureHelpTriggerKind -> SignatureHelpTriggerKind
max :: SignatureHelpTriggerKind
-> SignatureHelpTriggerKind -> SignatureHelpTriggerKind
$cmin :: SignatureHelpTriggerKind
-> SignatureHelpTriggerKind -> SignatureHelpTriggerKind
min :: SignatureHelpTriggerKind
-> SignatureHelpTriggerKind -> SignatureHelpTriggerKind
Ord, (forall x.
 SignatureHelpTriggerKind -> Rep SignatureHelpTriggerKind x)
-> (forall x.
    Rep SignatureHelpTriggerKind x -> SignatureHelpTriggerKind)
-> Generic SignatureHelpTriggerKind
forall x.
Rep SignatureHelpTriggerKind x -> SignatureHelpTriggerKind
forall x.
SignatureHelpTriggerKind -> Rep SignatureHelpTriggerKind x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
SignatureHelpTriggerKind -> Rep SignatureHelpTriggerKind x
from :: forall x.
SignatureHelpTriggerKind -> Rep SignatureHelpTriggerKind x
$cto :: forall x.
Rep SignatureHelpTriggerKind x -> SignatureHelpTriggerKind
to :: forall x.
Rep SignatureHelpTriggerKind x -> SignatureHelpTriggerKind
Generic)
  deriving anyclass (SignatureHelpTriggerKind -> ()
(SignatureHelpTriggerKind -> ()) -> NFData SignatureHelpTriggerKind
forall a. (a -> ()) -> NFData a
$crnf :: SignatureHelpTriggerKind -> ()
rnf :: SignatureHelpTriggerKind -> ()
NFData, Eq SignatureHelpTriggerKind
Eq SignatureHelpTriggerKind =>
(Int -> SignatureHelpTriggerKind -> Int)
-> (SignatureHelpTriggerKind -> Int)
-> Hashable SignatureHelpTriggerKind
Int -> SignatureHelpTriggerKind -> Int
SignatureHelpTriggerKind -> Int
forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
$chashWithSalt :: Int -> SignatureHelpTriggerKind -> Int
hashWithSalt :: Int -> SignatureHelpTriggerKind -> Int
$chash :: SignatureHelpTriggerKind -> Int
hash :: SignatureHelpTriggerKind -> Int
Hashable)
  deriving ( [SignatureHelpTriggerKind] -> Value
[SignatureHelpTriggerKind] -> Encoding
SignatureHelpTriggerKind -> Bool
SignatureHelpTriggerKind -> Value
SignatureHelpTriggerKind -> Encoding
(SignatureHelpTriggerKind -> Value)
-> (SignatureHelpTriggerKind -> Encoding)
-> ([SignatureHelpTriggerKind] -> Value)
-> ([SignatureHelpTriggerKind] -> Encoding)
-> (SignatureHelpTriggerKind -> Bool)
-> ToJSON SignatureHelpTriggerKind
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: SignatureHelpTriggerKind -> Value
toJSON :: SignatureHelpTriggerKind -> Value
$ctoEncoding :: SignatureHelpTriggerKind -> Encoding
toEncoding :: SignatureHelpTriggerKind -> Encoding
$ctoJSONList :: [SignatureHelpTriggerKind] -> Value
toJSONList :: [SignatureHelpTriggerKind] -> Value
$ctoEncodingList :: [SignatureHelpTriggerKind] -> Encoding
toEncodingList :: [SignatureHelpTriggerKind] -> Encoding
$comitField :: SignatureHelpTriggerKind -> Bool
omitField :: SignatureHelpTriggerKind -> Bool
Aeson.ToJSON
  , Maybe SignatureHelpTriggerKind
Value -> Parser [SignatureHelpTriggerKind]
Value -> Parser SignatureHelpTriggerKind
(Value -> Parser SignatureHelpTriggerKind)
-> (Value -> Parser [SignatureHelpTriggerKind])
-> Maybe SignatureHelpTriggerKind
-> FromJSON SignatureHelpTriggerKind
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser SignatureHelpTriggerKind
parseJSON :: Value -> Parser SignatureHelpTriggerKind
$cparseJSONList :: Value -> Parser [SignatureHelpTriggerKind]
parseJSONList :: Value -> Parser [SignatureHelpTriggerKind]
$comittedField :: Maybe SignatureHelpTriggerKind
omittedField :: Maybe SignatureHelpTriggerKind
Aeson.FromJSON ) via (Language.LSP.Protocol.Types.LspEnum.AsLspEnum SignatureHelpTriggerKind)
  deriving (forall ann. SignatureHelpTriggerKind -> Doc ann)
-> (forall ann. [SignatureHelpTriggerKind] -> Doc ann)
-> Pretty SignatureHelpTriggerKind
forall ann. [SignatureHelpTriggerKind] -> Doc ann
forall ann. SignatureHelpTriggerKind -> Doc ann
forall a.
(forall ann. a -> Doc ann)
-> (forall ann. [a] -> Doc ann) -> Pretty a
$cpretty :: forall ann. SignatureHelpTriggerKind -> Doc ann
pretty :: forall ann. SignatureHelpTriggerKind -> Doc ann
$cprettyList :: forall ann. [SignatureHelpTriggerKind] -> Doc ann
prettyList :: forall ann. [SignatureHelpTriggerKind] -> Doc ann
Pretty via (ViaJSON SignatureHelpTriggerKind)

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