{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE DuplicateRecordFields #-}
module Language.LSP.Types.DocumentColor where
import Data.Aeson.TH
import Data.Text (Text)
import Language.LSP.Types.Common
import Language.LSP.Types.Location
import Language.LSP.Types.Progress
import Language.LSP.Types.StaticRegistrationOptions
import Language.LSP.Types.TextDocument
import Language.LSP.Types.Utils
import Language.LSP.Types.WorkspaceEdit
data DocumentColorClientCapabilities =
DocumentColorClientCapabilities
{
DocumentColorClientCapabilities -> Maybe Bool
_dynamicRegistration :: Maybe Bool
} deriving (ReadPrec [DocumentColorClientCapabilities]
ReadPrec DocumentColorClientCapabilities
Int -> ReadS DocumentColorClientCapabilities
ReadS [DocumentColorClientCapabilities]
(Int -> ReadS DocumentColorClientCapabilities)
-> ReadS [DocumentColorClientCapabilities]
-> ReadPrec DocumentColorClientCapabilities
-> ReadPrec [DocumentColorClientCapabilities]
-> Read DocumentColorClientCapabilities
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DocumentColorClientCapabilities]
$creadListPrec :: ReadPrec [DocumentColorClientCapabilities]
readPrec :: ReadPrec DocumentColorClientCapabilities
$creadPrec :: ReadPrec DocumentColorClientCapabilities
readList :: ReadS [DocumentColorClientCapabilities]
$creadList :: ReadS [DocumentColorClientCapabilities]
readsPrec :: Int -> ReadS DocumentColorClientCapabilities
$creadsPrec :: Int -> ReadS DocumentColorClientCapabilities
Read, Int -> DocumentColorClientCapabilities -> ShowS
[DocumentColorClientCapabilities] -> ShowS
DocumentColorClientCapabilities -> String
(Int -> DocumentColorClientCapabilities -> ShowS)
-> (DocumentColorClientCapabilities -> String)
-> ([DocumentColorClientCapabilities] -> ShowS)
-> Show DocumentColorClientCapabilities
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DocumentColorClientCapabilities] -> ShowS
$cshowList :: [DocumentColorClientCapabilities] -> ShowS
show :: DocumentColorClientCapabilities -> String
$cshow :: DocumentColorClientCapabilities -> String
showsPrec :: Int -> DocumentColorClientCapabilities -> ShowS
$cshowsPrec :: Int -> DocumentColorClientCapabilities -> ShowS
Show, DocumentColorClientCapabilities
-> DocumentColorClientCapabilities -> Bool
(DocumentColorClientCapabilities
-> DocumentColorClientCapabilities -> Bool)
-> (DocumentColorClientCapabilities
-> DocumentColorClientCapabilities -> Bool)
-> Eq DocumentColorClientCapabilities
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DocumentColorClientCapabilities
-> DocumentColorClientCapabilities -> Bool
$c/= :: DocumentColorClientCapabilities
-> DocumentColorClientCapabilities -> Bool
== :: DocumentColorClientCapabilities
-> DocumentColorClientCapabilities -> Bool
$c== :: DocumentColorClientCapabilities
-> DocumentColorClientCapabilities -> Bool
Eq)
deriveJSON lspOptions ''DocumentColorClientCapabilities
makeExtendingDatatype "DocumentColorOptions" [''WorkDoneProgressOptions] []
deriveJSON lspOptions ''DocumentColorOptions
makeExtendingDatatype "DocumentColorRegistrationOptions"
[ ''TextDocumentRegistrationOptions
, ''StaticRegistrationOptions
, ''DocumentColorOptions
] []
deriveJSON lspOptions ''DocumentColorRegistrationOptions
makeExtendingDatatype "DocumentColorParams"
[ ''WorkDoneProgressParams
, ''PartialResultParams
]
[("_textDocument", [t| TextDocumentIdentifier |])]
deriveJSON lspOptions ''DocumentColorParams
data Color =
Color
{ Color -> Float
_red :: Float
, Color -> Float
_green :: Float
, Color -> Float
_blue :: Float
, Color -> Float
_alpha :: Float
} deriving (ReadPrec [Color]
ReadPrec Color
Int -> ReadS Color
ReadS [Color]
(Int -> ReadS Color)
-> ReadS [Color]
-> ReadPrec Color
-> ReadPrec [Color]
-> Read Color
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Color]
$creadListPrec :: ReadPrec [Color]
readPrec :: ReadPrec Color
$creadPrec :: ReadPrec Color
readList :: ReadS [Color]
$creadList :: ReadS [Color]
readsPrec :: Int -> ReadS Color
$creadsPrec :: Int -> ReadS Color
Read, Int -> Color -> ShowS
[Color] -> ShowS
Color -> String
(Int -> Color -> ShowS)
-> (Color -> String) -> ([Color] -> ShowS) -> Show Color
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Color] -> ShowS
$cshowList :: [Color] -> ShowS
show :: Color -> String
$cshow :: Color -> String
showsPrec :: Int -> Color -> ShowS
$cshowsPrec :: Int -> Color -> ShowS
Show, Color -> Color -> Bool
(Color -> Color -> Bool) -> (Color -> Color -> Bool) -> Eq Color
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Color -> Color -> Bool
$c/= :: Color -> Color -> Bool
== :: Color -> Color -> Bool
$c== :: Color -> Color -> Bool
Eq)
deriveJSON lspOptions ''Color
data ColorInformation =
ColorInformation
{ ColorInformation -> Range
_range :: Range
, ColorInformation -> Color
_color :: Color
} deriving (ReadPrec [ColorInformation]
ReadPrec ColorInformation
Int -> ReadS ColorInformation
ReadS [ColorInformation]
(Int -> ReadS ColorInformation)
-> ReadS [ColorInformation]
-> ReadPrec ColorInformation
-> ReadPrec [ColorInformation]
-> Read ColorInformation
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ColorInformation]
$creadListPrec :: ReadPrec [ColorInformation]
readPrec :: ReadPrec ColorInformation
$creadPrec :: ReadPrec ColorInformation
readList :: ReadS [ColorInformation]
$creadList :: ReadS [ColorInformation]
readsPrec :: Int -> ReadS ColorInformation
$creadsPrec :: Int -> ReadS ColorInformation
Read, Int -> ColorInformation -> ShowS
[ColorInformation] -> ShowS
ColorInformation -> String
(Int -> ColorInformation -> ShowS)
-> (ColorInformation -> String)
-> ([ColorInformation] -> ShowS)
-> Show ColorInformation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ColorInformation] -> ShowS
$cshowList :: [ColorInformation] -> ShowS
show :: ColorInformation -> String
$cshow :: ColorInformation -> String
showsPrec :: Int -> ColorInformation -> ShowS
$cshowsPrec :: Int -> ColorInformation -> ShowS
Show, ColorInformation -> ColorInformation -> Bool
(ColorInformation -> ColorInformation -> Bool)
-> (ColorInformation -> ColorInformation -> Bool)
-> Eq ColorInformation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ColorInformation -> ColorInformation -> Bool
$c/= :: ColorInformation -> ColorInformation -> Bool
== :: ColorInformation -> ColorInformation -> Bool
$c== :: ColorInformation -> ColorInformation -> Bool
Eq)
deriveJSON lspOptions ''ColorInformation
makeExtendingDatatype "ColorPresentationParams"
[ ''WorkDoneProgressParams
, ''PartialResultParams
]
[ ("_textDocument", [t| TextDocumentIdentifier |])
, ("_color", [t| Color |])
, ("_range", [t| Range |])
]
deriveJSON lspOptions ''ColorPresentationParams
data ColorPresentation =
ColorPresentation
{
ColorPresentation -> Text
_label :: Text
, ColorPresentation -> Maybe TextEdit
_textEdit :: Maybe TextEdit
, ColorPresentation -> Maybe (List TextEdit)
_additionalTextEdits :: Maybe (List TextEdit)
} deriving (ReadPrec [ColorPresentation]
ReadPrec ColorPresentation
Int -> ReadS ColorPresentation
ReadS [ColorPresentation]
(Int -> ReadS ColorPresentation)
-> ReadS [ColorPresentation]
-> ReadPrec ColorPresentation
-> ReadPrec [ColorPresentation]
-> Read ColorPresentation
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ColorPresentation]
$creadListPrec :: ReadPrec [ColorPresentation]
readPrec :: ReadPrec ColorPresentation
$creadPrec :: ReadPrec ColorPresentation
readList :: ReadS [ColorPresentation]
$creadList :: ReadS [ColorPresentation]
readsPrec :: Int -> ReadS ColorPresentation
$creadsPrec :: Int -> ReadS ColorPresentation
Read, Int -> ColorPresentation -> ShowS
[ColorPresentation] -> ShowS
ColorPresentation -> String
(Int -> ColorPresentation -> ShowS)
-> (ColorPresentation -> String)
-> ([ColorPresentation] -> ShowS)
-> Show ColorPresentation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ColorPresentation] -> ShowS
$cshowList :: [ColorPresentation] -> ShowS
show :: ColorPresentation -> String
$cshow :: ColorPresentation -> String
showsPrec :: Int -> ColorPresentation -> ShowS
$cshowsPrec :: Int -> ColorPresentation -> ShowS
Show, ColorPresentation -> ColorPresentation -> Bool
(ColorPresentation -> ColorPresentation -> Bool)
-> (ColorPresentation -> ColorPresentation -> Bool)
-> Eq ColorPresentation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ColorPresentation -> ColorPresentation -> Bool
$c/= :: ColorPresentation -> ColorPresentation -> Bool
== :: ColorPresentation -> ColorPresentation -> Bool
$c== :: ColorPresentation -> ColorPresentation -> Bool
Eq)
deriveJSON lspOptions ''ColorPresentation