packages feed

alex-tools 0.1.1.0 → 0.2.0.0

raw patch · 3 files changed

+16/−6 lines, 3 filesnew-uploaderPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ AlexTools: [sourceFile] :: SourceRange -> !Text
- AlexTools: SourceRange :: !SourcePos -> !SourcePos -> SourceRange
+ AlexTools: SourceRange :: !Text -> !SourcePos -> !SourcePos -> SourceRange

Files

ChangeLog.md view
@@ -1,5 +1,9 @@ # Revision history for alex-tools +## 0.2.0.0  -- 2017-03-21++* Add the `sourceFile` field to `SourceRange`+ ## 0.1.1.0  -- 2016-09-02  * Add `NFData` instances
alex-tools.cabal view
@@ -1,5 +1,5 @@ name:                alex-tools-version:             0.1.1.0+version:             0.2.0.0 synopsis:            A set of functions for a common use case of Alex. description:         This captures a common patter for using Alex. license:             ISC
src/AlexTools.hs view
@@ -88,7 +88,8 @@  -- | A range in the source code. data SourceRange = SourceRange-  { sourceFrom :: !SourcePos+  { sourceFile :: !Text+  , sourceFrom :: !SourcePos   , sourceTo   :: !SourcePos   } deriving (Show, Eq) @@ -97,13 +98,15 @@                       prettySourcePos (sourceTo x)  instance NFData SourceRange where-  rnf (SourceRange x y) = rnf (x,y)+  rnf (SourceRange t x y) = rnf (t,x,y)  class HasRange t where   range :: t -> SourceRange  instance HasRange SourcePos where-  range p = SourceRange { sourceFrom = p, sourceTo = p }+  range p = SourceRange { sourceFile = Text.empty+                        , sourceFrom = p+                        , sourceTo   = p }  instance HasRange SourceRange where   range = id@@ -116,9 +119,12 @@   range (Right x) = range x  (<->) :: (HasRange a, HasRange b) => a -> b -> SourceRange-x <-> y = SourceRange { sourceFrom = sourceFrom (range x)+x <-> y = SourceRange { sourceFile = sourceFile xr+                      , sourceFrom = sourceFrom xr                       , sourceTo   = sourceTo   (range y)                       }+  where+  xr = range x   --------------------------------------------------------------------------------@@ -263,7 +269,7 @@          body go mode inp cfg =            caseE [| $alexScanUser $mode $inp (lexerStateMode $cfg $mode) |]              [ alexEOF   ~> [| lexerEOF $cfg $mode |]-             , alexError ~> [| error "language-lua lexer internal error" |]+             , alexError ~> [| error "internal error in lexer (AlexTools.hs)" |]              , alexSkip  ~> [| $go $mode $xE |]              , alexToken ~> [| case runA $zE $inp $xE $yE $mode of                                  (mode', ts) -> ts ++ $go mode' $xE |]