[commit: haddock] master: Fix issue with operators being recognized as preprocessor directives. (aa6c6de)
git at git.haskell.org
git at git.haskell.org
Wed Jul 8 08:42:35 UTC 2015
Repository : ssh://git@git.haskell.org/haddock
On branch : master
Link : http://git.haskell.org/haddock.git/commitdiff/aa6c6deba47af1c21765ed09dc0317825aa1d78d
>---------------------------------------------------------------
commit aa6c6deba47af1c21765ed09dc0317825aa1d78d
Author: Łukasz Hanuszczak <lukasz.hanuszczak at gmail.com>
Date: Thu Jul 2 13:41:38 2015 +0200
Fix issue with operators being recognized as preprocessor directives.
>---------------------------------------------------------------
aa6c6deba47af1c21765ed09dc0317825aa1d78d
haddock-api/src/Haddock/Backends/Hyperlinker/Parser.hs | 6 +++---
hypsrc-test/src/Operators.hs | 4 ++++
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/haddock-api/src/Haddock/Backends/Hyperlinker/Parser.hs b/haddock-api/src/Haddock/Backends/Hyperlinker/Parser.hs
index 37cc537..d927aa0 100644
--- a/haddock-api/src/Haddock/Backends/Hyperlinker/Parser.hs
+++ b/haddock-api/src/Haddock/Backends/Hyperlinker/Parser.hs
@@ -156,17 +156,17 @@ classify str
| "--" `isPrefixOf` str = TkComment
| "{-#" `isPrefixOf` str = TkPragma
| "{-" `isPrefixOf` str = TkComment
-classify (c:_)
+classify str@(c:_)
| isSpace c = TkSpace
| isDigit c = TkNumber
| c `elem` special = TkSpecial
+ | str `elem` glyphs = TkGlyph
+ | all (`elem` symbols) str = TkOperator
| c == '#' = TkCpp
| c == '"' = TkString
| c == '\'' = TkChar
classify str
| str `elem` keywords = TkKeyword
- | str `elem` glyphs = TkGlyph
- | all (`elem` symbols) str = TkOperator
| isIdentifier str = TkIdentifier
| otherwise = TkUnknown
diff --git a/hypsrc-test/src/Operators.hs b/hypsrc-test/src/Operators.hs
index bc76c2d..8e86ab0 100644
--- a/hypsrc-test/src/Operators.hs
+++ b/hypsrc-test/src/Operators.hs
@@ -16,3 +16,7 @@ a */\* b = concatMap (*** b) a
(**/\**) :: [[a]] -> [[a]] -> [[a]]
a **/\** b = zipWith (*/\*) [a +++ b] (a $$$ b)
+
+
+(#.#) :: a -> b -> (c -> (a, b))
+a #.# b = const $ (a, b)
More information about the ghc-commits
mailing list