loc 0.1.3.8 → 0.1.3.10
raw patch · 6 files changed
+29/−8 lines, 6 files
Files
- changelog.md +10/−0
- loc.cabal +1/−1
- src/Data/Loc/Area.hs +4/−2
- src/Data/Loc/Loc.hs +5/−1
- src/Data/Loc/Pos.hs +6/−3
- src/Data/Loc/Span.hs +3/−1
changelog.md view
@@ -1,6 +1,16 @@ --- +0.1.3.10 - 2020 Nov 4++ - Added `Data` instances for:+ - `Area`+ - `Loc`+ - `Pos`+ - `Line`+ - `Column`+ - `Span`+ 0.1.3.8 - 2020 May 20 - Support GHC 8.10
loc.cabal view
@@ -1,5 +1,5 @@ name: loc-version: 0.1.3.8+version: 0.1.3.10 synopsis: Types representing line and column positions and ranges in text files.
src/Data/Loc/Area.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE ScopedTypeVariables #-} module Data.Loc.Area@@ -35,11 +36,12 @@ import qualified Data.Loc.Internal.Map as Map import qualified Data.Loc.Span as Span +import Data.Data (Data) import qualified Data.Foldable as Foldable import qualified Data.Set as Set data Terminus = Start | End- deriving (Eq, Ord)+ deriving (Data, Eq, Ord) {- | @@ -50,7 +52,7 @@ -} newtype Area = Area (Map Loc Terminus)- deriving (Eq, Ord)+ deriving (Data, Eq, Ord) -- | 'showsPrec' = 'areaShowsPrec' instance Show Area
src/Data/Loc/Loc.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE DeriveDataTypeable #-}+ module Data.Loc.Loc ( Loc @@ -19,6 +21,8 @@ import Data.Loc.Internal.Prelude +import Data.Data (Data)+ {- | Stands for /location/. Consists of a 'Line' and a 'Column'. You can think of a@@ -30,7 +34,7 @@ { line :: Line , column :: Column }- deriving (Eq, Ord)+ deriving (Data, Eq, Ord) -- | 'showsPrec' = 'locShowsPrec' instance Show Loc
src/Data/Loc/Pos.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} module Data.Loc.Pos@@ -16,6 +17,8 @@ import Prelude (Num (..)) +import Data.Data (Data)+ {- | 'Pos' stands for /positive integer/. You can also think of it as /position/,@@ -28,7 +31,7 @@ -} newtype Pos = Pos Natural- deriving (Eq, Ord)+ deriving (Data, Eq, Ord) instance ToNat Pos where@@ -171,7 +174,7 @@ -------------------------------------------------------------------------------- newtype Line = Line Pos- deriving (Eq, Ord, Num, Real, Enum, ToNat)+ deriving (Data, Eq, Ord, Num, Real, Enum, ToNat) instance Show Line where@@ -189,7 +192,7 @@ -------------------------------------------------------------------------------- newtype Column = Column Pos- deriving (Eq, Ord, Num, Real, Enum, ToNat)+ deriving (Data, Eq, Ord, Num, Real, Enum, ToNat) instance Show Column where
src/Data/Loc/Span.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE LambdaCase #-} module Data.Loc.Span@@ -39,6 +40,7 @@ import qualified Data.Loc.List.ZeroToTwo as ZeroToTwo import qualified Data.Loc.Loc as Loc +import Data.Data (Data) import qualified Data.Foldable as Foldable import qualified Data.List.NonEmpty as NonEmpty @@ -54,7 +56,7 @@ data Span = Span { start :: Loc , end :: Loc- } deriving (Eq, Ord)+ } deriving (Data, Eq, Ord) -- | 'showsPrec' = 'spanShowsPrec' instance Show Span