{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE TemplateHaskell #-}
module Language.Haskell.LSP.Types.WorkspaceFolders where
import Data.Aeson.TH
import Data.Text ( Text )
import Language.Haskell.LSP.Types.Constants
import Language.Haskell.LSP.Types.List
import Language.Haskell.LSP.Types.Message
data WorkspaceFolder =
WorkspaceFolder
{
WorkspaceFolder -> Text
_uri :: Text
, WorkspaceFolder -> Text
_name :: Text
} deriving (ReadPrec [WorkspaceFolder]
ReadPrec WorkspaceFolder
Int -> ReadS WorkspaceFolder
ReadS [WorkspaceFolder]
(Int -> ReadS WorkspaceFolder)
-> ReadS [WorkspaceFolder]
-> ReadPrec WorkspaceFolder
-> ReadPrec [WorkspaceFolder]
-> Read WorkspaceFolder
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [WorkspaceFolder]
$creadListPrec :: ReadPrec [WorkspaceFolder]
readPrec :: ReadPrec WorkspaceFolder
$creadPrec :: ReadPrec WorkspaceFolder
readList :: ReadS [WorkspaceFolder]
$creadList :: ReadS [WorkspaceFolder]
readsPrec :: Int -> ReadS WorkspaceFolder
$creadsPrec :: Int -> ReadS WorkspaceFolder
Read, Int -> WorkspaceFolder -> ShowS
[WorkspaceFolder] -> ShowS
WorkspaceFolder -> String
(Int -> WorkspaceFolder -> ShowS)
-> (WorkspaceFolder -> String)
-> ([WorkspaceFolder] -> ShowS)
-> Show WorkspaceFolder
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [WorkspaceFolder] -> ShowS
$cshowList :: [WorkspaceFolder] -> ShowS
show :: WorkspaceFolder -> String
$cshow :: WorkspaceFolder -> String
showsPrec :: Int -> WorkspaceFolder -> ShowS
$cshowsPrec :: Int -> WorkspaceFolder -> ShowS
Show, WorkspaceFolder -> WorkspaceFolder -> Bool
(WorkspaceFolder -> WorkspaceFolder -> Bool)
-> (WorkspaceFolder -> WorkspaceFolder -> Bool)
-> Eq WorkspaceFolder
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WorkspaceFolder -> WorkspaceFolder -> Bool
$c/= :: WorkspaceFolder -> WorkspaceFolder -> Bool
== :: WorkspaceFolder -> WorkspaceFolder -> Bool
$c== :: WorkspaceFolder -> WorkspaceFolder -> Bool
Eq)
deriveJSON lspOptions ''WorkspaceFolder
type WorkspaceFoldersRequest = RequestMessage ServerMethod () (Maybe (List WorkspaceFolder))
type WorkspaceFoldersResponse = ResponseMessage (Maybe (List WorkspaceFolder))
data WorkspaceFoldersChangeEvent =
WorkspaceFoldersChangeEvent
{ WorkspaceFoldersChangeEvent -> List WorkspaceFolder
_added :: List WorkspaceFolder
, WorkspaceFoldersChangeEvent -> List WorkspaceFolder
_removed :: List WorkspaceFolder
} deriving (ReadPrec [WorkspaceFoldersChangeEvent]
ReadPrec WorkspaceFoldersChangeEvent
Int -> ReadS WorkspaceFoldersChangeEvent
ReadS [WorkspaceFoldersChangeEvent]
(Int -> ReadS WorkspaceFoldersChangeEvent)
-> ReadS [WorkspaceFoldersChangeEvent]
-> ReadPrec WorkspaceFoldersChangeEvent
-> ReadPrec [WorkspaceFoldersChangeEvent]
-> Read WorkspaceFoldersChangeEvent
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [WorkspaceFoldersChangeEvent]
$creadListPrec :: ReadPrec [WorkspaceFoldersChangeEvent]
readPrec :: ReadPrec WorkspaceFoldersChangeEvent
$creadPrec :: ReadPrec WorkspaceFoldersChangeEvent
readList :: ReadS [WorkspaceFoldersChangeEvent]
$creadList :: ReadS [WorkspaceFoldersChangeEvent]
readsPrec :: Int -> ReadS WorkspaceFoldersChangeEvent
$creadsPrec :: Int -> ReadS WorkspaceFoldersChangeEvent
Read, Int -> WorkspaceFoldersChangeEvent -> ShowS
[WorkspaceFoldersChangeEvent] -> ShowS
WorkspaceFoldersChangeEvent -> String
(Int -> WorkspaceFoldersChangeEvent -> ShowS)
-> (WorkspaceFoldersChangeEvent -> String)
-> ([WorkspaceFoldersChangeEvent] -> ShowS)
-> Show WorkspaceFoldersChangeEvent
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [WorkspaceFoldersChangeEvent] -> ShowS
$cshowList :: [WorkspaceFoldersChangeEvent] -> ShowS
show :: WorkspaceFoldersChangeEvent -> String
$cshow :: WorkspaceFoldersChangeEvent -> String
showsPrec :: Int -> WorkspaceFoldersChangeEvent -> ShowS
$cshowsPrec :: Int -> WorkspaceFoldersChangeEvent -> ShowS
Show, WorkspaceFoldersChangeEvent -> WorkspaceFoldersChangeEvent -> Bool
(WorkspaceFoldersChangeEvent
-> WorkspaceFoldersChangeEvent -> Bool)
-> (WorkspaceFoldersChangeEvent
-> WorkspaceFoldersChangeEvent -> Bool)
-> Eq WorkspaceFoldersChangeEvent
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WorkspaceFoldersChangeEvent -> WorkspaceFoldersChangeEvent -> Bool
$c/= :: WorkspaceFoldersChangeEvent -> WorkspaceFoldersChangeEvent -> Bool
== :: WorkspaceFoldersChangeEvent -> WorkspaceFoldersChangeEvent -> Bool
$c== :: WorkspaceFoldersChangeEvent -> WorkspaceFoldersChangeEvent -> Bool
Eq)
deriveJSON lspOptions ''WorkspaceFoldersChangeEvent
data DidChangeWorkspaceFoldersParams =
DidChangeWorkspaceFoldersParams
{ DidChangeWorkspaceFoldersParams -> WorkspaceFoldersChangeEvent
_event :: WorkspaceFoldersChangeEvent
} deriving (ReadPrec [DidChangeWorkspaceFoldersParams]
ReadPrec DidChangeWorkspaceFoldersParams
Int -> ReadS DidChangeWorkspaceFoldersParams
ReadS [DidChangeWorkspaceFoldersParams]
(Int -> ReadS DidChangeWorkspaceFoldersParams)
-> ReadS [DidChangeWorkspaceFoldersParams]
-> ReadPrec DidChangeWorkspaceFoldersParams
-> ReadPrec [DidChangeWorkspaceFoldersParams]
-> Read DidChangeWorkspaceFoldersParams
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DidChangeWorkspaceFoldersParams]
$creadListPrec :: ReadPrec [DidChangeWorkspaceFoldersParams]
readPrec :: ReadPrec DidChangeWorkspaceFoldersParams
$creadPrec :: ReadPrec DidChangeWorkspaceFoldersParams
readList :: ReadS [DidChangeWorkspaceFoldersParams]
$creadList :: ReadS [DidChangeWorkspaceFoldersParams]
readsPrec :: Int -> ReadS DidChangeWorkspaceFoldersParams
$creadsPrec :: Int -> ReadS DidChangeWorkspaceFoldersParams
Read, Int -> DidChangeWorkspaceFoldersParams -> ShowS
[DidChangeWorkspaceFoldersParams] -> ShowS
DidChangeWorkspaceFoldersParams -> String
(Int -> DidChangeWorkspaceFoldersParams -> ShowS)
-> (DidChangeWorkspaceFoldersParams -> String)
-> ([DidChangeWorkspaceFoldersParams] -> ShowS)
-> Show DidChangeWorkspaceFoldersParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DidChangeWorkspaceFoldersParams] -> ShowS
$cshowList :: [DidChangeWorkspaceFoldersParams] -> ShowS
show :: DidChangeWorkspaceFoldersParams -> String
$cshow :: DidChangeWorkspaceFoldersParams -> String
showsPrec :: Int -> DidChangeWorkspaceFoldersParams -> ShowS
$cshowsPrec :: Int -> DidChangeWorkspaceFoldersParams -> ShowS
Show, DidChangeWorkspaceFoldersParams
-> DidChangeWorkspaceFoldersParams -> Bool
(DidChangeWorkspaceFoldersParams
-> DidChangeWorkspaceFoldersParams -> Bool)
-> (DidChangeWorkspaceFoldersParams
-> DidChangeWorkspaceFoldersParams -> Bool)
-> Eq DidChangeWorkspaceFoldersParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DidChangeWorkspaceFoldersParams
-> DidChangeWorkspaceFoldersParams -> Bool
$c/= :: DidChangeWorkspaceFoldersParams
-> DidChangeWorkspaceFoldersParams -> Bool
== :: DidChangeWorkspaceFoldersParams
-> DidChangeWorkspaceFoldersParams -> Bool
$c== :: DidChangeWorkspaceFoldersParams
-> DidChangeWorkspaceFoldersParams -> Bool
Eq)
deriveJSON lspOptions ''DidChangeWorkspaceFoldersParams
type DidChangeWorkspaceFoldersNotification =
NotificationMessage ClientMethod DidChangeWorkspaceFoldersParams