diff --git a/src/Text/Parsing/Parser/Language.purs b/src/Text/Parsing/Parser/Language.purs index c1f5e25..c6d71e2 100644 --- a/src/Text/Parsing/Parser/Language.purs +++ b/src/Text/Parsing/Parser/Language.purs @@ -49,8 +49,8 @@ javaStyle = LanguageDef (unGenLanguageDef emptyDef) , commentEnd = "*/" , commentLine = "//" , nestedComments = true - , identStart = letter - , identLetter = alphaNum <|> oneOf ['_', '\''] + , identStart = letter <|> oneOf ['_', '$'] + , identLetter = alphaNum <|> oneOf ['_', '$'] , reservedNames = [] , reservedOpNames = [] , caseSensitive = false diff --git a/test/Main.purs b/test/Main.purs index 8bd3742..7e41902 100644 --- a/test/Main.purs +++ b/test/Main.purs @@ -406,6 +406,9 @@ javaStyleTest = do -- make sure java-style comments work parseTest "hello /* comment\n */ fo_" "fo_" $ javaTokParser.identifier *> javaTokParser.identifier + -- make sure java-style identifier work + parseTest "$hello /* comment\n */ _f$o_" "_f$o_" $ javaTokParser.identifier *> javaTokParser.identifier + -- make sure haskell-style comments do not work parseErrorTestPosition (javaTokParser.identifier *> javaTokParser.identifier)