{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE DuplicateRecordFields #-}
module Language.LSP.Types.DocumentSymbol where
import Data.Aeson
import Data.Aeson.TH
import Data.Scientific
import Data.Text (Text)
import Language.LSP.Types.TextDocument
import Language.LSP.Types.Common
import Language.LSP.Types.Location
import Language.LSP.Types.Progress
import Language.LSP.Types.Utils
makeExtendingDatatype "DocumentSymbolOptions"
[''WorkDoneProgressOptions]
[ ("_label", [t| Maybe Bool |])]
deriveJSON lspOptions ''DocumentSymbolOptions
makeExtendingDatatype "DocumentSymbolRegistrationOptions"
[ ''TextDocumentRegistrationOptions
, ''DocumentSymbolOptions
] []
deriveJSON lspOptions ''DocumentSymbolRegistrationOptions
makeExtendingDatatype "DocumentSymbolParams"
[ ''WorkDoneProgressParams
, ''PartialResultParams
]
[ ("_textDocument", [t| TextDocumentIdentifier |])]
deriveJSON lspOptions ''DocumentSymbolParams
data SymbolKind
= SkFile
| SkModule
| SkNamespace
| SkPackage
| SkClass
| SkMethod
| SkProperty
| SkField
| SkConstructor
| SkEnum
| SkInterface
| SkFunction
| SkVariable
| SkConstant
| SkString
| SkNumber
| SkBoolean
| SkArray
| SkObject
| SkKey
| SkNull
| SkEnumMember
| SkStruct
| SkEvent
| SkOperator
| SkTypeParameter
| SkUnknown Scientific
deriving (ReadPrec [SymbolKind]
ReadPrec SymbolKind
Int -> ReadS SymbolKind
ReadS [SymbolKind]
(Int -> ReadS SymbolKind)
-> ReadS [SymbolKind]
-> ReadPrec SymbolKind
-> ReadPrec [SymbolKind]
-> Read SymbolKind
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS SymbolKind
readsPrec :: Int -> ReadS SymbolKind
$creadList :: ReadS [SymbolKind]
readList :: ReadS [SymbolKind]
$creadPrec :: ReadPrec SymbolKind
readPrec :: ReadPrec SymbolKind
$creadListPrec :: ReadPrec [SymbolKind]
readListPrec :: ReadPrec [SymbolKind]
Read,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)
instance ToJSON SymbolKind where
toJSON :: SymbolKind -> Value
toJSON SymbolKind
SkFile = Scientific -> Value
Number Scientific
1
toJSON SymbolKind
SkModule = Scientific -> Value
Number Scientific
2
toJSON SymbolKind
SkNamespace = Scientific -> Value
Number Scientific
3
toJSON SymbolKind
SkPackage = Scientific -> Value
Number Scientific
4
toJSON SymbolKind
SkClass = Scientific -> Value
Number Scientific
5
toJSON SymbolKind
SkMethod = Scientific -> Value
Number Scientific
6
toJSON SymbolKind
SkProperty = Scientific -> Value
Number Scientific
7
toJSON SymbolKind
SkField = Scientific -> Value
Number Scientific
8
toJSON SymbolKind
SkConstructor = Scientific -> Value
Number Scientific
9
toJSON SymbolKind
SkEnum = Scientific -> Value
Number Scientific
10
toJSON SymbolKind
SkInterface = Scientific -> Value
Number Scientific
11
toJSON SymbolKind
SkFunction = Scientific -> Value
Number Scientific
12
toJSON SymbolKind
SkVariable = Scientific -> Value
Number Scientific
13
toJSON SymbolKind
SkConstant = Scientific -> Value
Number Scientific
14
toJSON SymbolKind
SkString = Scientific -> Value
Number Scientific
15
toJSON SymbolKind
SkNumber = Scientific -> Value
Number Scientific
16
toJSON SymbolKind
SkBoolean = Scientific -> Value
Number Scientific
17
toJSON SymbolKind
SkArray = Scientific -> Value
Number Scientific
18
toJSON SymbolKind
SkObject = Scientific -> Value
Number Scientific
19
toJSON SymbolKind
SkKey = Scientific -> Value
Number Scientific
20
toJSON SymbolKind
SkNull = Scientific -> Value
Number Scientific
21
toJSON SymbolKind
SkEnumMember = Scientific -> Value
Number Scientific
22
toJSON SymbolKind
SkStruct = Scientific -> Value
Number Scientific
23
toJSON SymbolKind
SkEvent = Scientific -> Value
Number Scientific
24
toJSON SymbolKind
SkOperator = Scientific -> Value
Number Scientific
25
toJSON SymbolKind
SkTypeParameter = Scientific -> Value
Number Scientific
26
toJSON (SkUnknown Scientific
x) = Scientific -> Value
Number Scientific
x
instance FromJSON SymbolKind where
parseJSON :: Value -> Parser SymbolKind
parseJSON (Number Scientific
1) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkFile
parseJSON (Number Scientific
2) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkModule
parseJSON (Number Scientific
3) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkNamespace
parseJSON (Number Scientific
4) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkPackage
parseJSON (Number Scientific
5) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkClass
parseJSON (Number Scientific
6) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkMethod
parseJSON (Number Scientific
7) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkProperty
parseJSON (Number Scientific
8) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkField
parseJSON (Number Scientific
9) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkConstructor
parseJSON (Number Scientific
10) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkEnum
parseJSON (Number Scientific
11) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkInterface
parseJSON (Number Scientific
12) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkFunction
parseJSON (Number Scientific
13) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkVariable
parseJSON (Number Scientific
14) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkConstant
parseJSON (Number Scientific
15) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkString
parseJSON (Number Scientific
16) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkNumber
parseJSON (Number Scientific
17) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkBoolean
parseJSON (Number Scientific
18) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkArray
parseJSON (Number Scientific
19) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkObject
parseJSON (Number Scientific
20) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkKey
parseJSON (Number Scientific
21) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkNull
parseJSON (Number Scientific
22) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkEnumMember
parseJSON (Number Scientific
23) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkStruct
parseJSON (Number Scientific
24) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkEvent
parseJSON (Number Scientific
25) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkOperator
parseJSON (Number Scientific
26) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolKind
SkTypeParameter
parseJSON (Number Scientific
x) = SymbolKind -> Parser SymbolKind
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Scientific -> SymbolKind
SkUnknown Scientific
x)
parseJSON Value
_ = String -> Parser SymbolKind
forall a. String -> Parser a
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"SymbolKind"
data SymbolTag =
StDeprecated
| StUnknown Scientific
deriving (ReadPrec [SymbolTag]
ReadPrec SymbolTag
Int -> ReadS SymbolTag
ReadS [SymbolTag]
(Int -> ReadS SymbolTag)
-> ReadS [SymbolTag]
-> ReadPrec SymbolTag
-> ReadPrec [SymbolTag]
-> Read SymbolTag
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS SymbolTag
readsPrec :: Int -> ReadS SymbolTag
$creadList :: ReadS [SymbolTag]
readList :: ReadS [SymbolTag]
$creadPrec :: ReadPrec SymbolTag
readPrec :: ReadPrec SymbolTag
$creadListPrec :: ReadPrec [SymbolTag]
readListPrec :: ReadPrec [SymbolTag]
Read, Int -> SymbolTag -> ShowS
[SymbolTag] -> ShowS
SymbolTag -> String
(Int -> SymbolTag -> ShowS)
-> (SymbolTag -> String)
-> ([SymbolTag] -> ShowS)
-> Show SymbolTag
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SymbolTag -> ShowS
showsPrec :: Int -> SymbolTag -> ShowS
$cshow :: SymbolTag -> String
show :: SymbolTag -> String
$cshowList :: [SymbolTag] -> ShowS
showList :: [SymbolTag] -> ShowS
Show, SymbolTag -> SymbolTag -> Bool
(SymbolTag -> SymbolTag -> Bool)
-> (SymbolTag -> SymbolTag -> Bool) -> Eq SymbolTag
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SymbolTag -> SymbolTag -> Bool
== :: SymbolTag -> SymbolTag -> Bool
$c/= :: SymbolTag -> SymbolTag -> Bool
/= :: SymbolTag -> SymbolTag -> Bool
Eq)
instance ToJSON SymbolTag where
toJSON :: SymbolTag -> Value
toJSON SymbolTag
StDeprecated = Scientific -> Value
Number Scientific
1
toJSON (StUnknown Scientific
x) = Scientific -> Value
Number Scientific
x
instance FromJSON SymbolTag where
parseJSON :: Value -> Parser SymbolTag
parseJSON (Number Scientific
1) = SymbolTag -> Parser SymbolTag
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SymbolTag
StDeprecated
parseJSON (Number Scientific
x) = SymbolTag -> Parser SymbolTag
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Scientific -> SymbolTag
StUnknown Scientific
x)
parseJSON Value
_ = String -> Parser SymbolTag
forall a. String -> Parser a
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"SymbolTag"
data DocumentSymbolKindClientCapabilities =
DocumentSymbolKindClientCapabilities
{
DocumentSymbolKindClientCapabilities -> Maybe (List SymbolKind)
_valueSet :: Maybe (List SymbolKind)
}
deriving (Int -> DocumentSymbolKindClientCapabilities -> ShowS
[DocumentSymbolKindClientCapabilities] -> ShowS
DocumentSymbolKindClientCapabilities -> String
(Int -> DocumentSymbolKindClientCapabilities -> ShowS)
-> (DocumentSymbolKindClientCapabilities -> String)
-> ([DocumentSymbolKindClientCapabilities] -> ShowS)
-> Show DocumentSymbolKindClientCapabilities
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DocumentSymbolKindClientCapabilities -> ShowS
showsPrec :: Int -> DocumentSymbolKindClientCapabilities -> ShowS
$cshow :: DocumentSymbolKindClientCapabilities -> String
show :: DocumentSymbolKindClientCapabilities -> String
$cshowList :: [DocumentSymbolKindClientCapabilities] -> ShowS
showList :: [DocumentSymbolKindClientCapabilities] -> ShowS
Show, ReadPrec [DocumentSymbolKindClientCapabilities]
ReadPrec DocumentSymbolKindClientCapabilities
Int -> ReadS DocumentSymbolKindClientCapabilities
ReadS [DocumentSymbolKindClientCapabilities]
(Int -> ReadS DocumentSymbolKindClientCapabilities)
-> ReadS [DocumentSymbolKindClientCapabilities]
-> ReadPrec DocumentSymbolKindClientCapabilities
-> ReadPrec [DocumentSymbolKindClientCapabilities]
-> Read DocumentSymbolKindClientCapabilities
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS DocumentSymbolKindClientCapabilities
readsPrec :: Int -> ReadS DocumentSymbolKindClientCapabilities
$creadList :: ReadS [DocumentSymbolKindClientCapabilities]
readList :: ReadS [DocumentSymbolKindClientCapabilities]
$creadPrec :: ReadPrec DocumentSymbolKindClientCapabilities
readPrec :: ReadPrec DocumentSymbolKindClientCapabilities
$creadListPrec :: ReadPrec [DocumentSymbolKindClientCapabilities]
readListPrec :: ReadPrec [DocumentSymbolKindClientCapabilities]
Read, DocumentSymbolKindClientCapabilities
-> DocumentSymbolKindClientCapabilities -> Bool
(DocumentSymbolKindClientCapabilities
-> DocumentSymbolKindClientCapabilities -> Bool)
-> (DocumentSymbolKindClientCapabilities
-> DocumentSymbolKindClientCapabilities -> Bool)
-> Eq DocumentSymbolKindClientCapabilities
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DocumentSymbolKindClientCapabilities
-> DocumentSymbolKindClientCapabilities -> Bool
== :: DocumentSymbolKindClientCapabilities
-> DocumentSymbolKindClientCapabilities -> Bool
$c/= :: DocumentSymbolKindClientCapabilities
-> DocumentSymbolKindClientCapabilities -> Bool
/= :: DocumentSymbolKindClientCapabilities
-> DocumentSymbolKindClientCapabilities -> Bool
Eq)
deriveJSON lspOptions ''DocumentSymbolKindClientCapabilities
data DocumentSymbolTagClientCapabilities =
DocumentSymbolTagClientCapabilities
{
DocumentSymbolTagClientCapabilities -> Maybe (List SymbolTag)
_valueSet :: Maybe (List SymbolTag)
}
deriving (Int -> DocumentSymbolTagClientCapabilities -> ShowS
[DocumentSymbolTagClientCapabilities] -> ShowS
DocumentSymbolTagClientCapabilities -> String
(Int -> DocumentSymbolTagClientCapabilities -> ShowS)
-> (DocumentSymbolTagClientCapabilities -> String)
-> ([DocumentSymbolTagClientCapabilities] -> ShowS)
-> Show DocumentSymbolTagClientCapabilities
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DocumentSymbolTagClientCapabilities -> ShowS
showsPrec :: Int -> DocumentSymbolTagClientCapabilities -> ShowS
$cshow :: DocumentSymbolTagClientCapabilities -> String
show :: DocumentSymbolTagClientCapabilities -> String
$cshowList :: [DocumentSymbolTagClientCapabilities] -> ShowS
showList :: [DocumentSymbolTagClientCapabilities] -> ShowS
Show, ReadPrec [DocumentSymbolTagClientCapabilities]
ReadPrec DocumentSymbolTagClientCapabilities
Int -> ReadS DocumentSymbolTagClientCapabilities
ReadS [DocumentSymbolTagClientCapabilities]
(Int -> ReadS DocumentSymbolTagClientCapabilities)
-> ReadS [DocumentSymbolTagClientCapabilities]
-> ReadPrec DocumentSymbolTagClientCapabilities
-> ReadPrec [DocumentSymbolTagClientCapabilities]
-> Read DocumentSymbolTagClientCapabilities
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS DocumentSymbolTagClientCapabilities
readsPrec :: Int -> ReadS DocumentSymbolTagClientCapabilities
$creadList :: ReadS [DocumentSymbolTagClientCapabilities]
readList :: ReadS [DocumentSymbolTagClientCapabilities]
$creadPrec :: ReadPrec DocumentSymbolTagClientCapabilities
readPrec :: ReadPrec DocumentSymbolTagClientCapabilities
$creadListPrec :: ReadPrec [DocumentSymbolTagClientCapabilities]
readListPrec :: ReadPrec [DocumentSymbolTagClientCapabilities]
Read, DocumentSymbolTagClientCapabilities
-> DocumentSymbolTagClientCapabilities -> Bool
(DocumentSymbolTagClientCapabilities
-> DocumentSymbolTagClientCapabilities -> Bool)
-> (DocumentSymbolTagClientCapabilities
-> DocumentSymbolTagClientCapabilities -> Bool)
-> Eq DocumentSymbolTagClientCapabilities
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DocumentSymbolTagClientCapabilities
-> DocumentSymbolTagClientCapabilities -> Bool
== :: DocumentSymbolTagClientCapabilities
-> DocumentSymbolTagClientCapabilities -> Bool
$c/= :: DocumentSymbolTagClientCapabilities
-> DocumentSymbolTagClientCapabilities -> Bool
/= :: DocumentSymbolTagClientCapabilities
-> DocumentSymbolTagClientCapabilities -> Bool
Eq)
deriveJSON lspOptions ''DocumentSymbolTagClientCapabilities
data DocumentSymbolClientCapabilities =
DocumentSymbolClientCapabilities
{
DocumentSymbolClientCapabilities -> Maybe Bool
_dynamicRegistration :: Maybe Bool
, DocumentSymbolClientCapabilities
-> Maybe DocumentSymbolKindClientCapabilities
_symbolKind :: Maybe DocumentSymbolKindClientCapabilities
, DocumentSymbolClientCapabilities -> Maybe Bool
_hierarchicalDocumentSymbolSupport :: Maybe Bool
, DocumentSymbolClientCapabilities
-> Maybe DocumentSymbolTagClientCapabilities
_tagSupport :: Maybe DocumentSymbolTagClientCapabilities
, DocumentSymbolClientCapabilities -> Maybe Bool
_labelSupport :: Maybe Bool
} deriving (Int -> DocumentSymbolClientCapabilities -> ShowS
[DocumentSymbolClientCapabilities] -> ShowS
DocumentSymbolClientCapabilities -> String
(Int -> DocumentSymbolClientCapabilities -> ShowS)
-> (DocumentSymbolClientCapabilities -> String)
-> ([DocumentSymbolClientCapabilities] -> ShowS)
-> Show DocumentSymbolClientCapabilities
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DocumentSymbolClientCapabilities -> ShowS
showsPrec :: Int -> DocumentSymbolClientCapabilities -> ShowS
$cshow :: DocumentSymbolClientCapabilities -> String
show :: DocumentSymbolClientCapabilities -> String
$cshowList :: [DocumentSymbolClientCapabilities] -> ShowS
showList :: [DocumentSymbolClientCapabilities] -> ShowS
Show, ReadPrec [DocumentSymbolClientCapabilities]
ReadPrec DocumentSymbolClientCapabilities
Int -> ReadS DocumentSymbolClientCapabilities
ReadS [DocumentSymbolClientCapabilities]
(Int -> ReadS DocumentSymbolClientCapabilities)
-> ReadS [DocumentSymbolClientCapabilities]
-> ReadPrec DocumentSymbolClientCapabilities
-> ReadPrec [DocumentSymbolClientCapabilities]
-> Read DocumentSymbolClientCapabilities
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS DocumentSymbolClientCapabilities
readsPrec :: Int -> ReadS DocumentSymbolClientCapabilities
$creadList :: ReadS [DocumentSymbolClientCapabilities]
readList :: ReadS [DocumentSymbolClientCapabilities]
$creadPrec :: ReadPrec DocumentSymbolClientCapabilities
readPrec :: ReadPrec DocumentSymbolClientCapabilities
$creadListPrec :: ReadPrec [DocumentSymbolClientCapabilities]
readListPrec :: ReadPrec [DocumentSymbolClientCapabilities]
Read, DocumentSymbolClientCapabilities
-> DocumentSymbolClientCapabilities -> Bool
(DocumentSymbolClientCapabilities
-> DocumentSymbolClientCapabilities -> Bool)
-> (DocumentSymbolClientCapabilities
-> DocumentSymbolClientCapabilities -> Bool)
-> Eq DocumentSymbolClientCapabilities
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DocumentSymbolClientCapabilities
-> DocumentSymbolClientCapabilities -> Bool
== :: DocumentSymbolClientCapabilities
-> DocumentSymbolClientCapabilities -> Bool
$c/= :: DocumentSymbolClientCapabilities
-> DocumentSymbolClientCapabilities -> Bool
/= :: DocumentSymbolClientCapabilities
-> DocumentSymbolClientCapabilities -> Bool
Eq)
deriveJSON lspOptions ''DocumentSymbolClientCapabilities
data DocumentSymbol =
DocumentSymbol
{ DocumentSymbol -> Text
_name :: Text
, DocumentSymbol -> Maybe Text
_detail :: Maybe Text
, DocumentSymbol -> SymbolKind
_kind :: SymbolKind
, DocumentSymbol -> Maybe (List SymbolTag)
_tags :: Maybe (List SymbolTag)
, DocumentSymbol -> Maybe Bool
_deprecated :: Maybe Bool
, DocumentSymbol -> Range
_range :: Range
, DocumentSymbol -> Range
_selectionRange :: Range
, DocumentSymbol -> Maybe (List DocumentSymbol)
_children :: Maybe (List DocumentSymbol)
} deriving (ReadPrec [DocumentSymbol]
ReadPrec DocumentSymbol
Int -> ReadS DocumentSymbol
ReadS [DocumentSymbol]
(Int -> ReadS DocumentSymbol)
-> ReadS [DocumentSymbol]
-> ReadPrec DocumentSymbol
-> ReadPrec [DocumentSymbol]
-> Read DocumentSymbol
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS DocumentSymbol
readsPrec :: Int -> ReadS DocumentSymbol
$creadList :: ReadS [DocumentSymbol]
readList :: ReadS [DocumentSymbol]
$creadPrec :: ReadPrec DocumentSymbol
readPrec :: ReadPrec DocumentSymbol
$creadListPrec :: ReadPrec [DocumentSymbol]
readListPrec :: ReadPrec [DocumentSymbol]
Read,Int -> DocumentSymbol -> ShowS
[DocumentSymbol] -> ShowS
DocumentSymbol -> String
(Int -> DocumentSymbol -> ShowS)
-> (DocumentSymbol -> String)
-> ([DocumentSymbol] -> ShowS)
-> Show DocumentSymbol
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DocumentSymbol -> ShowS
showsPrec :: Int -> DocumentSymbol -> ShowS
$cshow :: DocumentSymbol -> String
show :: DocumentSymbol -> String
$cshowList :: [DocumentSymbol] -> ShowS
showList :: [DocumentSymbol] -> ShowS
Show,DocumentSymbol -> DocumentSymbol -> Bool
(DocumentSymbol -> DocumentSymbol -> Bool)
-> (DocumentSymbol -> DocumentSymbol -> Bool) -> Eq DocumentSymbol
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DocumentSymbol -> DocumentSymbol -> Bool
== :: DocumentSymbol -> DocumentSymbol -> Bool
$c/= :: DocumentSymbol -> DocumentSymbol -> Bool
/= :: DocumentSymbol -> DocumentSymbol -> Bool
Eq)
deriveJSON lspOptions ''DocumentSymbol
data SymbolInformation =
SymbolInformation
{ SymbolInformation -> Text
_name :: Text
, SymbolInformation -> SymbolKind
_kind :: SymbolKind
, SymbolInformation -> Maybe (List SymbolTag)
_tags :: Maybe (List SymbolTag)
, SymbolInformation -> Maybe Bool
_deprecated :: Maybe Bool
, SymbolInformation -> Location
_location :: Location
, SymbolInformation -> Maybe Text
_containerName :: Maybe Text
} deriving (ReadPrec [SymbolInformation]
ReadPrec SymbolInformation
Int -> ReadS SymbolInformation
ReadS [SymbolInformation]
(Int -> ReadS SymbolInformation)
-> ReadS [SymbolInformation]
-> ReadPrec SymbolInformation
-> ReadPrec [SymbolInformation]
-> Read SymbolInformation
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS SymbolInformation
readsPrec :: Int -> ReadS SymbolInformation
$creadList :: ReadS [SymbolInformation]
readList :: ReadS [SymbolInformation]
$creadPrec :: ReadPrec SymbolInformation
readPrec :: ReadPrec SymbolInformation
$creadListPrec :: ReadPrec [SymbolInformation]
readListPrec :: ReadPrec [SymbolInformation]
Read,Int -> SymbolInformation -> ShowS
[SymbolInformation] -> ShowS
SymbolInformation -> String
(Int -> SymbolInformation -> ShowS)
-> (SymbolInformation -> String)
-> ([SymbolInformation] -> ShowS)
-> Show SymbolInformation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SymbolInformation -> ShowS
showsPrec :: Int -> SymbolInformation -> ShowS
$cshow :: SymbolInformation -> String
show :: SymbolInformation -> String
$cshowList :: [SymbolInformation] -> ShowS
showList :: [SymbolInformation] -> ShowS
Show,SymbolInformation -> SymbolInformation -> Bool
(SymbolInformation -> SymbolInformation -> Bool)
-> (SymbolInformation -> SymbolInformation -> Bool)
-> Eq SymbolInformation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SymbolInformation -> SymbolInformation -> Bool
== :: SymbolInformation -> SymbolInformation -> Bool
$c/= :: SymbolInformation -> SymbolInformation -> Bool
/= :: SymbolInformation -> SymbolInformation -> Bool
Eq)
{-# DEPRECATED _deprecated "Use tags instead" #-}
deriveJSON lspOptions ''SymbolInformation