lib: add license to the code copied from megaparsec
This commit is contained in:
parent
2b22f857ac
commit
846a38139d
@ -134,11 +134,37 @@ customParseErrorPretty source err = case findCustomError err of
|
|||||||
|
|
||||||
--- * Modified Megaparsec source
|
--- * Modified Megaparsec source
|
||||||
|
|
||||||
-- The below code has been copied from the Megaparsec module and modified
|
-- The below code has been copied from Megaparsec (v.6.4.1,
|
||||||
-- to suit our needs. These changes are indicated by square brackets.
|
-- Text.Megaparsec.Error) and modified to suit our needs. These changes are
|
||||||
|
-- indicated by square brackets. The following copyright notice, conditions,
|
||||||
|
-- and disclaimer apply to all code below this point.
|
||||||
--
|
--
|
||||||
-- NOTE: I am not sure what we are now obligated to do, having directly
|
-- Copyright © 2015–2018 Megaparsec contributors<br>
|
||||||
-- copied source code from another project.
|
-- Copyright © 2007 Paolo Martini<br>
|
||||||
|
-- Copyright © 1999–2000 Daan Leijen
|
||||||
|
--
|
||||||
|
-- All rights reserved.
|
||||||
|
--
|
||||||
|
-- Redistribution and use in source and binary forms, with or without
|
||||||
|
-- modification, are permitted provided that the following conditions are met:
|
||||||
|
--
|
||||||
|
-- * Redistributions of source code must retain the above copyright notice,
|
||||||
|
-- this list of conditions and the following disclaimer.
|
||||||
|
--
|
||||||
|
-- * Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
-- this list of conditions and the following disclaimer in the documentation
|
||||||
|
-- and/or other materials provided with the distribution.
|
||||||
|
--
|
||||||
|
-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS “AS IS” AND ANY EXPRESS
|
||||||
|
-- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
-- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
||||||
|
-- NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
-- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||||
|
-- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||||
|
-- EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
-- | Pretty-print a 'ParseError Char CustomErr' and display the line on
|
-- | Pretty-print a 'ParseError Char CustomErr' and display the line on
|
||||||
@ -172,14 +198,14 @@ customParseErrorPretty_ w s e l =
|
|||||||
sourcePosStackPretty (errorPos e) <> ":\n" <>
|
sourcePosStackPretty (errorPos e) <> ":\n" <>
|
||||||
padding <> "|\n" <>
|
padding <> "|\n" <>
|
||||||
lineNumber <> " | " <> rline <> "\n" <>
|
lineNumber <> " | " <> rline <> "\n" <>
|
||||||
padding <> "| " <> rpadding <> highlight <> "\n" <>
|
padding <> "| " <> rpadding <> highlight <> "\n" <> -- [added `highlight`]
|
||||||
parseErrorTextPretty e
|
parseErrorTextPretty e
|
||||||
where
|
where
|
||||||
epos = NE.head (errorPos e) -- [changed from NE.last to NE.head]
|
epos = NE.head (errorPos e) -- [changed from NE.last to NE.head]
|
||||||
lineNumber = (show . unPos . sourceLine) epos
|
lineNumber = (show . unPos . sourceLine) epos
|
||||||
padding = replicate (length lineNumber + 1) ' '
|
padding = replicate (length lineNumber + 1) ' '
|
||||||
rpadding = replicate (unPos (sourceColumn epos) - 1) ' '
|
rpadding = replicate (unPos (sourceColumn epos) - 1) ' '
|
||||||
highlight = replicate (unPos l) '^'
|
highlight = replicate (unPos l) '^' -- [added]
|
||||||
rline =
|
rline =
|
||||||
case rline' of
|
case rline' of
|
||||||
[] -> "<empty line>"
|
[] -> "<empty line>"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user