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

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