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

{-|
A symbol kind.
-}
data SymbolKind = 
    {-|

  -}
  SymbolKind_File
  | {-|

  -}
  SymbolKind_Module
  | {-|

  -}
  SymbolKind_Namespace
  | {-|

  -}
  SymbolKind_Package
  | {-|

  -}
  SymbolKind_Class
  | {-|

  -}
  SymbolKind_Method
  | {-|

  -}
  SymbolKind_Property
  | {-|

  -}
  SymbolKind_Field
  | {-|

  -}
  SymbolKind_Constructor
  | {-|

  -}
  SymbolKind_Enum
  | {-|

  -}
  SymbolKind_Interface
  | {-|

  -}
  SymbolKind_Function
  | {-|

  -}
  SymbolKind_Variable
  | {-|

  -}
  SymbolKind_Constant
  | {-|

  -}
  SymbolKind_String
  | {-|

  -}
  SymbolKind_Number
  | {-|

  -}
  SymbolKind_Boolean
  | {-|

  -}
  SymbolKind_Array
  | {-|

  -}
  SymbolKind_Object
  | {-|

  -}
  SymbolKind_Key
  | {-|

  -}
  SymbolKind_Null
  | {-|

  -}
  SymbolKind_EnumMember
  | {-|

  -}
  SymbolKind_Struct
  | {-|

  -}
  SymbolKind_Event
  | {-|

  -}
  SymbolKind_Operator
  | {-|

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

instance Language.LSP.Protocol.Types.LspEnum.LspEnum SymbolKind where
  knownValues :: Set SymbolKind
knownValues = forall a. Ord a => [a] -> Set a
Data.Set.fromList [SymbolKind
SymbolKind_File
    ,SymbolKind
SymbolKind_Module
    ,SymbolKind
SymbolKind_Namespace
    ,SymbolKind
SymbolKind_Package
    ,SymbolKind
SymbolKind_Class
    ,SymbolKind
SymbolKind_Method
    ,SymbolKind
SymbolKind_Property
    ,SymbolKind
SymbolKind_Field
    ,SymbolKind
SymbolKind_Constructor
    ,SymbolKind
SymbolKind_Enum
    ,SymbolKind
SymbolKind_Interface
    ,SymbolKind
SymbolKind_Function
    ,SymbolKind
SymbolKind_Variable
    ,SymbolKind
SymbolKind_Constant
    ,SymbolKind
SymbolKind_String
    ,SymbolKind
SymbolKind_Number
    ,SymbolKind
SymbolKind_Boolean
    ,SymbolKind
SymbolKind_Array
    ,SymbolKind
SymbolKind_Object
    ,SymbolKind
SymbolKind_Key
    ,SymbolKind
SymbolKind_Null
    ,SymbolKind
SymbolKind_EnumMember
    ,SymbolKind
SymbolKind_Struct
    ,SymbolKind
SymbolKind_Event
    ,SymbolKind
SymbolKind_Operator
    ,SymbolKind
SymbolKind_TypeParameter]
  type EnumBaseType SymbolKind = Language.LSP.Protocol.Types.Common.UInt
  toEnumBaseType :: SymbolKind -> EnumBaseType SymbolKind
toEnumBaseType SymbolKind
SymbolKind_File = UInt
1
  toEnumBaseType SymbolKind
SymbolKind_Module = UInt
2
  toEnumBaseType SymbolKind
SymbolKind_Namespace = UInt
3
  toEnumBaseType SymbolKind
SymbolKind_Package = UInt
4
  toEnumBaseType SymbolKind
SymbolKind_Class = UInt
5
  toEnumBaseType SymbolKind
SymbolKind_Method = UInt
6
  toEnumBaseType SymbolKind
SymbolKind_Property = UInt
7
  toEnumBaseType SymbolKind
SymbolKind_Field = UInt
8
  toEnumBaseType SymbolKind
SymbolKind_Constructor = UInt
9
  toEnumBaseType SymbolKind
SymbolKind_Enum = UInt
10
  toEnumBaseType SymbolKind
SymbolKind_Interface = UInt
11
  toEnumBaseType SymbolKind
SymbolKind_Function = UInt
12
  toEnumBaseType SymbolKind
SymbolKind_Variable = UInt
13
  toEnumBaseType SymbolKind
SymbolKind_Constant = UInt
14
  toEnumBaseType SymbolKind
SymbolKind_String = UInt
15
  toEnumBaseType SymbolKind
SymbolKind_Number = UInt
16
  toEnumBaseType SymbolKind
SymbolKind_Boolean = UInt
17
  toEnumBaseType SymbolKind
SymbolKind_Array = UInt
18
  toEnumBaseType SymbolKind
SymbolKind_Object = UInt
19
  toEnumBaseType SymbolKind
SymbolKind_Key = UInt
20
  toEnumBaseType SymbolKind
SymbolKind_Null = UInt
21
  toEnumBaseType SymbolKind
SymbolKind_EnumMember = UInt
22
  toEnumBaseType SymbolKind
SymbolKind_Struct = UInt
23
  toEnumBaseType SymbolKind
SymbolKind_Event = UInt
24
  toEnumBaseType SymbolKind
SymbolKind_Operator = UInt
25
  toEnumBaseType SymbolKind
SymbolKind_TypeParameter = UInt
26
  fromEnumBaseType :: EnumBaseType SymbolKind -> Maybe SymbolKind
fromEnumBaseType EnumBaseType SymbolKind
1 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_File
  fromEnumBaseType EnumBaseType SymbolKind
2 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Module
  fromEnumBaseType EnumBaseType SymbolKind
3 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Namespace
  fromEnumBaseType EnumBaseType SymbolKind
4 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Package
  fromEnumBaseType EnumBaseType SymbolKind
5 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Class
  fromEnumBaseType EnumBaseType SymbolKind
6 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Method
  fromEnumBaseType EnumBaseType SymbolKind
7 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Property
  fromEnumBaseType EnumBaseType SymbolKind
8 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Field
  fromEnumBaseType EnumBaseType SymbolKind
9 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Constructor
  fromEnumBaseType EnumBaseType SymbolKind
10 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Enum
  fromEnumBaseType EnumBaseType SymbolKind
11 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Interface
  fromEnumBaseType EnumBaseType SymbolKind
12 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Function
  fromEnumBaseType EnumBaseType SymbolKind
13 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Variable
  fromEnumBaseType EnumBaseType SymbolKind
14 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Constant
  fromEnumBaseType EnumBaseType SymbolKind
15 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_String
  fromEnumBaseType EnumBaseType SymbolKind
16 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Number
  fromEnumBaseType EnumBaseType SymbolKind
17 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Boolean
  fromEnumBaseType EnumBaseType SymbolKind
18 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Array
  fromEnumBaseType EnumBaseType SymbolKind
19 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Object
  fromEnumBaseType EnumBaseType SymbolKind
20 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Key
  fromEnumBaseType EnumBaseType SymbolKind
21 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Null
  fromEnumBaseType EnumBaseType SymbolKind
22 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_EnumMember
  fromEnumBaseType EnumBaseType SymbolKind
23 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Struct
  fromEnumBaseType EnumBaseType SymbolKind
24 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Event
  fromEnumBaseType EnumBaseType SymbolKind
25 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_Operator
  fromEnumBaseType EnumBaseType SymbolKind
26 = forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SymbolKind_TypeParameter
  fromEnumBaseType EnumBaseType SymbolKind
_ = forall a. Maybe a
Nothing