diff --git a/Text/Parsec/Language.hs b/Text/Parsec/Language.hs index a8bf2b52..03055ed2 100644 --- a/Text/Parsec/Language.hs +++ b/Text/Parsec/Language.hs @@ -25,6 +25,7 @@ module Text.Parsec.Language import Text.Parsec import Text.Parsec.Token +import Data.Char (isSpace) ----------------------------------------------------------- -- Styles: haskellStyle, javaStyle @@ -88,6 +89,7 @@ emptyDef = LanguageDef , reservedOpNames= [] , reservedNames = [] , caseSensitive = True + , spaceChar = satisfy isSpace } diff --git a/Text/Parsec/Token.hs b/Text/Parsec/Token.hs index 27c13033..c61d0274 100644 --- a/Text/Parsec/Token.hs +++ b/Text/Parsec/Token.hs @@ -24,7 +24,7 @@ module Text.Parsec.Token , makeTokenParser ) where -import Data.Char ( isAlpha, toLower, toUpper, isSpace, digitToInt ) +import Data.Char ( isAlpha, toLower, toUpper, digitToInt ) import Data.List ( nub, sort ) import Control.Monad.Identity import Text.Parsec.Prim @@ -95,8 +95,11 @@ data GenLanguageDef s u m -- | Set to 'True' if the language is case sensitive. - caseSensitive :: Bool + caseSensitive :: Bool, + -- | Is whitespace character? + + spaceChar :: ParsecT s u m Char } ----------------------------------------------------------- @@ -687,7 +690,7 @@ makeTokenParser languageDef simpleSpace = - skipMany1 (satisfy isSpace) + skipMany1 (spaceChar languageDef) oneLineComment = do{ try (string (commentLine languageDef))