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

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