{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE TemplateHaskell #-}
module Language.LSP.Types.WorkspaceFolders where
import Data.Aeson.TH
import Data.Text ( Text )
import Language.LSP.Types.Common
import Language.LSP.Types.Utils
data WorkspaceFolder =
WorkspaceFolder
{
_uri :: Text
, _name :: Text
} deriving (Read, Show, Eq)
deriveJSON lspOptions ''WorkspaceFolder
data WorkspaceFoldersChangeEvent =
WorkspaceFoldersChangeEvent
{ _added :: List WorkspaceFolder
, _removed :: List WorkspaceFolder
} deriving (Read, Show, Eq)
deriveJSON lspOptions ''WorkspaceFoldersChangeEvent
data DidChangeWorkspaceFoldersParams =
DidChangeWorkspaceFoldersParams
{ _event :: WorkspaceFoldersChangeEvent
} deriving (Read, Show, Eq)
deriveJSON lspOptions ''DidChangeWorkspaceFoldersParams