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

instance Language.LSP.Protocol.Types.LspEnum.LspEnum SignatureHelpTriggerKind where
  knownValues :: Set SignatureHelpTriggerKind
knownValues = 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 = UInt
1
  toEnumBaseType SignatureHelpTriggerKind
SignatureHelpTriggerKind_TriggerCharacter = UInt
2
  toEnumBaseType SignatureHelpTriggerKind
SignatureHelpTriggerKind_ContentChange = UInt
3
  fromEnumBaseType :: EnumBaseType SignatureHelpTriggerKind
-> Maybe SignatureHelpTriggerKind
fromEnumBaseType EnumBaseType SignatureHelpTriggerKind
1 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SignatureHelpTriggerKind
SignatureHelpTriggerKind_Invoked
  fromEnumBaseType EnumBaseType SignatureHelpTriggerKind
2 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SignatureHelpTriggerKind
SignatureHelpTriggerKind_TriggerCharacter
  fromEnumBaseType EnumBaseType SignatureHelpTriggerKind
3 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SignatureHelpTriggerKind
SignatureHelpTriggerKind_ContentChange
  fromEnumBaseType EnumBaseType SignatureHelpTriggerKind
_ = forall a. Maybe a
Nothing