-- 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.TextDocumentPositionParams 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 Language.LSP.Protocol.Internal.Types.Position import qualified Language.LSP.Protocol.Internal.Types.TextDocumentIdentifier import qualified Language.LSP.Protocol.Types.Common {-| A parameter literal used in requests to pass a text document and a position inside that document. -} data TextDocumentPositionParams = TextDocumentPositionParams { {-| The text document. -} _textDocument :: Language.LSP.Protocol.Internal.Types.TextDocumentIdentifier.TextDocumentIdentifier , {-| The position inside the text document. -} _position :: Language.LSP.Protocol.Internal.Types.Position.Position } deriving stock (Show, Eq, Ord, Generic) deriving anyclass (NFData, Hashable) deriving Pretty via (ViaJSON TextDocumentPositionParams) instance Aeson.ToJSON TextDocumentPositionParams where toJSON (TextDocumentPositionParams arg0 arg1) = Aeson.object $ concat $ [["textDocument" Aeson..= arg0] ,["position" Aeson..= arg1]] instance Aeson.FromJSON TextDocumentPositionParams where parseJSON = Aeson.withObject "TextDocumentPositionParams" $ \arg -> TextDocumentPositionParams <$> arg Aeson..: "textDocument" <*> arg Aeson..: "position"