-- |Data type representing a buffer associated with a file system path.
module Ribosome.Data.FileBuffer where

import Path (Abs, File, Path)

import Ribosome.Host.Api.Data (Buffer)

-- |Data type representing a buffer associated with a file system path.
data FileBuffer =
  FileBuffer {
    FileBuffer -> Buffer
buffer :: Buffer,
    FileBuffer -> Path Abs File
path :: Path Abs File
  }
  deriving stock (FileBuffer -> FileBuffer -> Bool
(FileBuffer -> FileBuffer -> Bool)
-> (FileBuffer -> FileBuffer -> Bool) -> Eq FileBuffer
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FileBuffer -> FileBuffer -> Bool
$c/= :: FileBuffer -> FileBuffer -> Bool
== :: FileBuffer -> FileBuffer -> Bool
$c== :: FileBuffer -> FileBuffer -> Bool
Eq, Int -> FileBuffer -> ShowS
[FileBuffer] -> ShowS
FileBuffer -> String
(Int -> FileBuffer -> ShowS)
-> (FileBuffer -> String)
-> ([FileBuffer] -> ShowS)
-> Show FileBuffer
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FileBuffer] -> ShowS
$cshowList :: [FileBuffer] -> ShowS
show :: FileBuffer -> String
$cshow :: FileBuffer -> String
showsPrec :: Int -> FileBuffer -> ShowS
$cshowsPrec :: Int -> FileBuffer -> ShowS
Show)