-- vim: ts=2 sw=2 et : {- | Provides the 'HistoryItem' data type, representing an entry in ghci's history listing. -} module GHCi.History where -- | Represents a position in a source file, line and column, -- counting from 1. (Just as GHCi @:history@ output does.) data FilePos = FilePos { lineNum :: Int, colNum :: Int } deriving (Eq, Show) -- | the type of an item in @ghci's@ history. data HistoryItem = HistoryItem { histStepNum :: Int , funcName :: String , fileName :: String , startPos :: FilePos , endPos :: FilePos } deriving (Eq, Show) -- | same as @lineNum . startPos@ startLine = lineNum . startPos -- | same as @colNum . startPos@ startCol = colNum . startPos -- | same as @lineNum . endPos@ endLine = lineNum . endPos -- | same as @colNum . endPos@ endCol = colNum . endPos