module Vgrep.Results
( File (..)
, fileName
, LineReference (..)
, lineNumber
, lineText
, FileLineReference (..)
, file
, lineReference
) where
import Control.Lens.TH
import Data.Text (Text)
import Vgrep.Ansi (AnsiFormatted)
newtype File = File
{ _fileName :: Text
} deriving (Eq, Show)
makeLenses ''File
data LineReference = LineReference
{ _lineNumber :: Maybe Int
, _lineText :: AnsiFormatted
} deriving (Eq, Show)
makeLenses ''LineReference
data FileLineReference = FileLineReference
{ _file :: File
, _lineReference :: LineReference
} deriving (Eq, Show)
makeLenses ''FileLineReference