-- 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.CompletionItemKind 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

{-|
The kind of a completion entry.
-}
data CompletionItemKind = 
    {-|

  -}
  CompletionItemKind_Text
  | {-|

  -}
  CompletionItemKind_Method
  | {-|

  -}
  CompletionItemKind_Function
  | {-|

  -}
  CompletionItemKind_Constructor
  | {-|

  -}
  CompletionItemKind_Field
  | {-|

  -}
  CompletionItemKind_Variable
  | {-|

  -}
  CompletionItemKind_Class
  | {-|

  -}
  CompletionItemKind_Interface
  | {-|

  -}
  CompletionItemKind_Module
  | {-|

  -}
  CompletionItemKind_Property
  | {-|

  -}
  CompletionItemKind_Unit
  | {-|

  -}
  CompletionItemKind_Value
  | {-|

  -}
  CompletionItemKind_Enum
  | {-|

  -}
  CompletionItemKind_Keyword
  | {-|

  -}
  CompletionItemKind_Snippet
  | {-|

  -}
  CompletionItemKind_Color
  | {-|

  -}
  CompletionItemKind_File
  | {-|

  -}
  CompletionItemKind_Reference
  | {-|

  -}
  CompletionItemKind_Folder
  | {-|

  -}
  CompletionItemKind_EnumMember
  | {-|

  -}
  CompletionItemKind_Constant
  | {-|

  -}
  CompletionItemKind_Struct
  | {-|

  -}
  CompletionItemKind_Event
  | {-|

  -}
  CompletionItemKind_Operator
  | {-|

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

instance Language.LSP.Protocol.Types.LspEnum.LspEnum CompletionItemKind where
  knownValues :: Set CompletionItemKind
knownValues = forall a. Ord a => [a] -> Set a
Data.Set.fromList [CompletionItemKind
CompletionItemKind_Text
    ,CompletionItemKind
CompletionItemKind_Method
    ,CompletionItemKind
CompletionItemKind_Function
    ,CompletionItemKind
CompletionItemKind_Constructor
    ,CompletionItemKind
CompletionItemKind_Field
    ,CompletionItemKind
CompletionItemKind_Variable
    ,CompletionItemKind
CompletionItemKind_Class
    ,CompletionItemKind
CompletionItemKind_Interface
    ,CompletionItemKind
CompletionItemKind_Module
    ,CompletionItemKind
CompletionItemKind_Property
    ,CompletionItemKind
CompletionItemKind_Unit
    ,CompletionItemKind
CompletionItemKind_Value
    ,CompletionItemKind
CompletionItemKind_Enum
    ,CompletionItemKind
CompletionItemKind_Keyword
    ,CompletionItemKind
CompletionItemKind_Snippet
    ,CompletionItemKind
CompletionItemKind_Color
    ,CompletionItemKind
CompletionItemKind_File
    ,CompletionItemKind
CompletionItemKind_Reference
    ,CompletionItemKind
CompletionItemKind_Folder
    ,CompletionItemKind
CompletionItemKind_EnumMember
    ,CompletionItemKind
CompletionItemKind_Constant
    ,CompletionItemKind
CompletionItemKind_Struct
    ,CompletionItemKind
CompletionItemKind_Event
    ,CompletionItemKind
CompletionItemKind_Operator
    ,CompletionItemKind
CompletionItemKind_TypeParameter]
  type EnumBaseType CompletionItemKind = Language.LSP.Protocol.Types.Common.UInt
  toEnumBaseType :: CompletionItemKind -> EnumBaseType CompletionItemKind
toEnumBaseType CompletionItemKind
CompletionItemKind_Text = UInt
1
  toEnumBaseType CompletionItemKind
CompletionItemKind_Method = UInt
2
  toEnumBaseType CompletionItemKind
CompletionItemKind_Function = UInt
3
  toEnumBaseType CompletionItemKind
CompletionItemKind_Constructor = UInt
4
  toEnumBaseType CompletionItemKind
CompletionItemKind_Field = UInt
5
  toEnumBaseType CompletionItemKind
CompletionItemKind_Variable = UInt
6
  toEnumBaseType CompletionItemKind
CompletionItemKind_Class = UInt
7
  toEnumBaseType CompletionItemKind
CompletionItemKind_Interface = UInt
8
  toEnumBaseType CompletionItemKind
CompletionItemKind_Module = UInt
9
  toEnumBaseType CompletionItemKind
CompletionItemKind_Property = UInt
10
  toEnumBaseType CompletionItemKind
CompletionItemKind_Unit = UInt
11
  toEnumBaseType CompletionItemKind
CompletionItemKind_Value = UInt
12
  toEnumBaseType CompletionItemKind
CompletionItemKind_Enum = UInt
13
  toEnumBaseType CompletionItemKind
CompletionItemKind_Keyword = UInt
14
  toEnumBaseType CompletionItemKind
CompletionItemKind_Snippet = UInt
15
  toEnumBaseType CompletionItemKind
CompletionItemKind_Color = UInt
16
  toEnumBaseType CompletionItemKind
CompletionItemKind_File = UInt
17
  toEnumBaseType CompletionItemKind
CompletionItemKind_Reference = UInt
18
  toEnumBaseType CompletionItemKind
CompletionItemKind_Folder = UInt
19
  toEnumBaseType CompletionItemKind
CompletionItemKind_EnumMember = UInt
20
  toEnumBaseType CompletionItemKind
CompletionItemKind_Constant = UInt
21
  toEnumBaseType CompletionItemKind
CompletionItemKind_Struct = UInt
22
  toEnumBaseType CompletionItemKind
CompletionItemKind_Event = UInt
23
  toEnumBaseType CompletionItemKind
CompletionItemKind_Operator = UInt
24
  toEnumBaseType CompletionItemKind
CompletionItemKind_TypeParameter = UInt
25
  fromEnumBaseType :: EnumBaseType CompletionItemKind -> Maybe CompletionItemKind
fromEnumBaseType EnumBaseType CompletionItemKind
1 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Text
  fromEnumBaseType EnumBaseType CompletionItemKind
2 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Method
  fromEnumBaseType EnumBaseType CompletionItemKind
3 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Function
  fromEnumBaseType EnumBaseType CompletionItemKind
4 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Constructor
  fromEnumBaseType EnumBaseType CompletionItemKind
5 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Field
  fromEnumBaseType EnumBaseType CompletionItemKind
6 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Variable
  fromEnumBaseType EnumBaseType CompletionItemKind
7 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Class
  fromEnumBaseType EnumBaseType CompletionItemKind
8 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Interface
  fromEnumBaseType EnumBaseType CompletionItemKind
9 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Module
  fromEnumBaseType EnumBaseType CompletionItemKind
10 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Property
  fromEnumBaseType EnumBaseType CompletionItemKind
11 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Unit
  fromEnumBaseType EnumBaseType CompletionItemKind
12 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Value
  fromEnumBaseType EnumBaseType CompletionItemKind
13 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Enum
  fromEnumBaseType EnumBaseType CompletionItemKind
14 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Keyword
  fromEnumBaseType EnumBaseType CompletionItemKind
15 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Snippet
  fromEnumBaseType EnumBaseType CompletionItemKind
16 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Color
  fromEnumBaseType EnumBaseType CompletionItemKind
17 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_File
  fromEnumBaseType EnumBaseType CompletionItemKind
18 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Reference
  fromEnumBaseType EnumBaseType CompletionItemKind
19 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Folder
  fromEnumBaseType EnumBaseType CompletionItemKind
20 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_EnumMember
  fromEnumBaseType EnumBaseType CompletionItemKind
21 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Constant
  fromEnumBaseType EnumBaseType CompletionItemKind
22 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Struct
  fromEnumBaseType EnumBaseType CompletionItemKind
23 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Event
  fromEnumBaseType EnumBaseType CompletionItemKind
24 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_Operator
  fromEnumBaseType EnumBaseType CompletionItemKind
25 = forall (f :: * -> *) a. Applicative f => a -> f a
pure CompletionItemKind
CompletionItemKind_TypeParameter
  fromEnumBaseType EnumBaseType CompletionItemKind
_ = forall a. Maybe a
Nothing