highlighting-kate 0.5.8 → 0.5.8.1
raw patch · 7 files changed
+52/−41 lines, 7 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Text/Highlighting/Kate/Common.hs +2/−1
- Text/Highlighting/Kate/Syntax/Fsharp.hs +18/−18
- Text/Highlighting/Kate/Syntax/Ocaml.hs +18/−18
- changelog +7/−1
- highlighting-kate.cabal +1/−1
- xml/fsharp.xml +3/−1
- xml/ocaml.xml +3/−1
Text/Highlighting/Kate/Common.hs view
@@ -191,7 +191,8 @@ if caseSensitive then 0 else compCaseless in case unsafePerformIO $ compile opts (execNotEmpty) (fromString ('.' : convertOctal regexpStr)) of- Left _ -> error $ "Error compiling regex: " ++ show regexpStr+ Left e -> error $ "Error compiling regex: " ++ show regexpStr +++ "\n" ++ show e Right r -> r #endif
Text/Highlighting/Kate/Syntax/Fsharp.hs view
@@ -77,13 +77,13 @@ list_done = Set.fromList $ words $ "done" list_module'5fenvironment = Set.fromList $ words $ "module open" -regex_'60'5cs'2a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a = compileRegex True "`\\s*[A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\0377_][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*"-regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'5cs'2a'5c'2e = compileRegex True "[A-Z][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*\\s*\\."-regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a = compileRegex True "[A-Z][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*"-regex_'23'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'2e'2a'24 = compileRegex True "#[A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\0377_][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*.*$"+regex_'60'5cs'2a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a = compileRegex True "`\\s*[A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}_][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*"+regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'5cs'2a'5c'2e = compileRegex True "[A-Z][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*\\s*\\."+regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a = compileRegex True "[A-Z][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*"+regex_'23'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'2e'2a'24 = compileRegex True "#[A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}_][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*.*$" regex_'27'28'28'5c'5c'5bntbr'27'22'5c'5c'5d'7c'5c'5c'5b0'2d9'5d'7b3'7d'7c'5c'5cx'5b0'2d9A'2dFa'2df'5d'7b2'7d'29'7c'5b'5e'27'5d'29'27 = compileRegex True "'((\\\\[ntbr'\"\\\\]|\\\\[0-9]{3}|\\\\x[0-9A-Fa-f]{2})|[^'])'"-regex_'3c'3a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'3c = compileRegex True "<:[A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\0377_][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*<"-regex_'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a = compileRegex True "[A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\0377_][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*"+regex_'3c'3a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'3c = compileRegex True "<:[A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}_][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*<"+regex_'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a = compileRegex True "[A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}_][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*" regex_'2d'3f0'5bxX'5d'5b0'2d9A'2dFa'2df'5f'5d'2b = compileRegex True "-?0[xX][0-9A-Fa-f_]+" regex_'2d'3f0'5boO'5d'5b0'2d7'5f'5d'2b = compileRegex True "-?0[oO][0-7_]+" regex_'2d'3f0'5bbB'5d'5b01'5f'5d'2b = compileRegex True "-?0[bB][01_]+"@@ -92,7 +92,7 @@ regex_'28'5c'5c'5bntbr'27'22'5c'5c'5d'7c'5c'5c'5b0'2d9'5d'7b3'7d'7c'5c'5cx'5b0'2d9A'2dFa'2df'5d'7b2'7d'29 = compileRegex True "(\\\\[ntbr'\"\\\\]|\\\\[0-9]{3}|\\\\x[0-9A-Fa-f]{2})" regex_'5c'5c'24 = compileRegex True "\\\\$" regex_'5c'5c'28'5c'5c'7c'3e'3e'7c'3c'3c'29 = compileRegex True "\\\\(\\\\|>>|<<)"-regex_'5c'5c'3c'3a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'3c = compileRegex True "\\\\<:[A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\0377_][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*<"+regex_'5c'5c'3c'3a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'3c = compileRegex True "\\\\<:[A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}_][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*<" parseRules ("FSharp","Normal") = (((pDetect2Chars False '(' '*' >>= withAttribute CommentTok) >>~ pushContext ("FSharp","Multiline Comment"))@@ -133,13 +133,13 @@ <|> ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_struct >>= withAttribute KeywordTok) >>~ pushContext ("FSharp","Struct")) <|>- ((pRegExpr regex_'60'5cs'2a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a >>= withAttribute NormalTok))+ ((pRegExpr regex_'60'5cs'2a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a >>= withAttribute NormalTok)) <|>- ((lookAhead (pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'5cs'2a'5c'2e) >> pushContext ("FSharp","ModuleEnv2") >> currentContext >>= parseRules))+ ((lookAhead (pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'5cs'2a'5c'2e) >> pushContext ("FSharp","ModuleEnv2") >> currentContext >>= parseRules)) <|>- ((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a >>= withAttribute NormalTok))+ ((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a >>= withAttribute NormalTok)) <|>- ((pFirstNonSpace >> pRegExpr regex_'23'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'2e'2a'24 >>= withAttribute OtherTok))+ ((pFirstNonSpace >> pRegExpr regex_'23'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'2e'2a'24 >>= withAttribute OtherTok)) <|> ((pDetectChar False '"' >>= withAttribute StringTok) >>~ pushContext ("FSharp","String Constant")) <|>@@ -147,13 +147,13 @@ <|> ((pDetect2Chars False '<' '<' >>= withAttribute StringTok) >>~ pushContext ("FSharp","Camlp4 Quotation Constant")) <|>- ((pRegExpr regex_'3c'3a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'3c >>= withAttribute StringTok) >>~ pushContext ("FSharp","Camlp4 Quotation Constant"))+ ((pRegExpr regex_'3c'3a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'3c >>= withAttribute StringTok) >>~ pushContext ("FSharp","Camlp4 Quotation Constant")) <|> ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_keywords >>= withAttribute KeywordTok)) <|> ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_core_types >>= withAttribute DataTypeTok)) <|>- ((pRegExpr regex_'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a >>= withAttribute NormalTok))+ ((pRegExpr regex_'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a >>= withAttribute NormalTok)) <|> ((pRegExpr regex_'2d'3f0'5bxX'5d'5b0'2d9A'2dFa'2df'5f'5d'2b >>= withAttribute BaseNTok)) <|>@@ -217,14 +217,14 @@ parseRules ("FSharp","ModuleEnv") = (((pDetectSpaces >>= withAttribute NormalTok)) <|>- ((lookAhead (pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'5cs'2a'5c'2e) >> pushContext ("FSharp","ModuleEnv2") >> currentContext >>= parseRules))+ ((lookAhead (pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'5cs'2a'5c'2e) >> pushContext ("FSharp","ModuleEnv2") >> currentContext >>= parseRules)) <|>- ((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a >>= withAttribute NormalTok) >>~ (popContext))+ ((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a >>= withAttribute NormalTok) >>~ (popContext)) <|> ((popContext) >> currentContext >>= parseRules)) parseRules ("FSharp","ModuleEnv2") =- (((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a >>= withAttribute NormalTok))+ (((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a >>= withAttribute NormalTok)) <|> ((pDetectSpaces >>= withAttribute NormalTok)) <|>@@ -237,11 +237,11 @@ <|> ((pDetect2Chars False '<' '<' >>= withAttribute StringTok) >>~ pushContext ("FSharp","Camlp4 Quotation Constant")) <|>- ((pRegExpr regex_'3c'3a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'3c >>= withAttribute StringTok) >>~ pushContext ("FSharp","Camlp4 Quotation Constant"))+ ((pRegExpr regex_'3c'3a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'3c >>= withAttribute StringTok) >>~ pushContext ("FSharp","Camlp4 Quotation Constant")) <|> ((pRegExpr regex_'5c'5c'28'5c'5c'7c'3e'3e'7c'3c'3c'29 >>= withAttribute CharTok)) <|>- ((pRegExpr regex_'5c'5c'3c'3a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'3c >>= withAttribute CharTok))+ ((pRegExpr regex_'5c'5c'3c'3a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'3c >>= withAttribute CharTok)) <|> (currentContext >>= \x -> guard (x == ("FSharp","Camlp4 Quotation Constant")) >> pDefault >>= withAttribute StringTok))
Text/Highlighting/Kate/Syntax/Ocaml.hs view
@@ -77,13 +77,13 @@ list_done = Set.fromList $ words $ "done" list_module'5fenvironment = Set.fromList $ words $ "module open include" -regex_'60'5cs'2a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a = compileRegex True "`\\s*[A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\0377_][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*"-regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'5cs'2a'5c'2e = compileRegex True "[A-Z][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*\\s*\\."-regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a = compileRegex True "[A-Z][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*"-regex_'23'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'2e'2a'24 = compileRegex True "#[A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\0377_][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*.*$"+regex_'60'5cs'2a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a = compileRegex True "`\\s*[A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}_][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*"+regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'5cs'2a'5c'2e = compileRegex True "[A-Z][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*\\s*\\."+regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a = compileRegex True "[A-Z][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*"+regex_'23'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'2e'2a'24 = compileRegex True "#[A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}_][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*.*$" regex_'27'28'28'5c'5c'5bntbr'27'22'5c'5c'5d'7c'5c'5c'5b0'2d9'5d'7b3'7d'7c'5c'5cx'5b0'2d9A'2dFa'2df'5d'7b2'7d'29'7c'5b'5e'27'5d'29'27 = compileRegex True "'((\\\\[ntbr'\"\\\\]|\\\\[0-9]{3}|\\\\x[0-9A-Fa-f]{2})|[^'])'"-regex_'3c'3a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'3c = compileRegex True "<:[A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\0377_][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*<"-regex_'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a = compileRegex True "[A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\0377_][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*"+regex_'3c'3a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'3c = compileRegex True "<:[A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}_][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*<"+regex_'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a = compileRegex True "[A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}_][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*" regex_'2d'3f0'5bxX'5d'5b0'2d9A'2dFa'2df'5f'5d'2b = compileRegex True "-?0[xX][0-9A-Fa-f_]+" regex_'2d'3f0'5boO'5d'5b0'2d7'5f'5d'2b = compileRegex True "-?0[oO][0-7_]+" regex_'2d'3f0'5bbB'5d'5b01'5f'5d'2b = compileRegex True "-?0[bB][01_]+"@@ -92,7 +92,7 @@ regex_'28'5c'5c'5bntbr'27'22'5c'5c'5d'7c'5c'5c'5b0'2d9'5d'7b3'7d'7c'5c'5cx'5b0'2d9A'2dFa'2df'5d'7b2'7d'29 = compileRegex True "(\\\\[ntbr'\"\\\\]|\\\\[0-9]{3}|\\\\x[0-9A-Fa-f]{2})" regex_'5c'5c'24 = compileRegex True "\\\\$" regex_'5c'5c'28'5c'5c'7c'3e'3e'7c'3c'3c'29 = compileRegex True "\\\\(\\\\|>>|<<)"-regex_'5c'5c'3c'3a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'3c = compileRegex True "\\\\<:[A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\0377_][A-Za-z\\0300-\\0326\\0330-\\0366\\0370-\\03770-9_']*<"+regex_'5c'5c'3c'3a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'3c = compileRegex True "\\\\<:[A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}_][A-Za-z\\o{0300}-\\o{0326}\\o{0330}-\\o{0366}\\o{0370}-\\o{0377}0-9_']*<" parseRules ("Objective Caml","Normal") = (((pDetect2Chars False '(' '*' >>= withAttribute CommentTok) >>~ pushContext ("Objective Caml","Multiline Comment"))@@ -127,13 +127,13 @@ <|> ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_struct >>= withAttribute KeywordTok) >>~ pushContext ("Objective Caml","Struct")) <|>- ((pRegExpr regex_'60'5cs'2a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a >>= withAttribute DataTypeTok))+ ((pRegExpr regex_'60'5cs'2a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a >>= withAttribute DataTypeTok)) <|>- ((lookAhead (pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'5cs'2a'5c'2e) >> pushContext ("Objective Caml","ModuleEnv2") >> currentContext >>= parseRules))+ ((lookAhead (pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'5cs'2a'5c'2e) >> pushContext ("Objective Caml","ModuleEnv2") >> currentContext >>= parseRules)) <|>- ((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a >>= withAttribute DataTypeTok))+ ((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a >>= withAttribute DataTypeTok)) <|>- ((pFirstNonSpace >> pRegExpr regex_'23'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'2e'2a'24 >>= withAttribute OtherTok))+ ((pFirstNonSpace >> pRegExpr regex_'23'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'2e'2a'24 >>= withAttribute OtherTok)) <|> ((pDetectChar False '"' >>= withAttribute StringTok) >>~ pushContext ("Objective Caml","String Constant")) <|>@@ -141,7 +141,7 @@ <|> ((pDetect2Chars False '<' '<' >>= withAttribute StringTok) >>~ pushContext ("Objective Caml","Camlp4 Quotation Constant")) <|>- ((pRegExpr regex_'3c'3a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'3c >>= withAttribute StringTok) >>~ pushContext ("Objective Caml","Camlp4 Quotation Constant"))+ ((pRegExpr regex_'3c'3a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'3c >>= withAttribute StringTok) >>~ pushContext ("Objective Caml","Camlp4 Quotation Constant")) <|> ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_keywords >>= withAttribute KeywordTok)) <|>@@ -149,7 +149,7 @@ <|> ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_core_types >>= withAttribute DataTypeTok)) <|>- ((pRegExpr regex_'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a >>= withAttribute NormalTok))+ ((pRegExpr regex_'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a >>= withAttribute NormalTok)) <|> ((pRegExpr regex_'2d'3f0'5bxX'5d'5b0'2d9A'2dFa'2df'5f'5d'2b >>= withAttribute BaseNTok)) <|>@@ -210,14 +210,14 @@ parseRules ("Objective Caml","ModuleEnv") = (((pDetectSpaces >>= withAttribute NormalTok)) <|>- ((lookAhead (pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'5cs'2a'5c'2e) >> pushContext ("Objective Caml","ModuleEnv2") >> currentContext >>= parseRules))+ ((lookAhead (pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'5cs'2a'5c'2e) >> pushContext ("Objective Caml","ModuleEnv2") >> currentContext >>= parseRules)) <|>- ((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a >>= withAttribute NormalTok) >>~ (popContext))+ ((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a >>= withAttribute NormalTok) >>~ (popContext)) <|> ((popContext) >> currentContext >>= parseRules)) parseRules ("Objective Caml","ModuleEnv2") =- (((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a >>= withAttribute NormalTok))+ (((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a >>= withAttribute NormalTok)) <|> ((pDetectSpaces >>= withAttribute NormalTok)) <|>@@ -230,11 +230,11 @@ <|> ((pDetect2Chars False '<' '<' >>= withAttribute StringTok) >>~ pushContext ("Objective Caml","Camlp4 Quotation Constant")) <|>- ((pRegExpr regex_'3c'3a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'3c >>= withAttribute StringTok) >>~ pushContext ("Objective Caml","Camlp4 Quotation Constant"))+ ((pRegExpr regex_'3c'3a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'3c >>= withAttribute StringTok) >>~ pushContext ("Objective Caml","Camlp4 Quotation Constant")) <|> ((pRegExpr regex_'5c'5c'28'5c'5c'7c'3e'3e'7c'3c'3c'29 >>= withAttribute CharTok)) <|>- ((pRegExpr regex_'5c'5c'3c'3a'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c0377'5f'5d'5bA'2dZa'2dz'5c0300'2d'5c0326'5c0330'2d'5c0366'5c0370'2d'5c03770'2d9'5f'27'5d'2a'3c >>= withAttribute CharTok))+ ((pRegExpr regex_'5c'5c'3c'3a'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d'5f'5d'5bA'2dZa'2dz'5co'7b0300'7d'2d'5co'7b0326'7d'5co'7b0330'7d'2d'5co'7b0366'7d'5co'7b0370'7d'2d'5co'7b0377'7d0'2d9'5f'27'5d'2a'3c >>= withAttribute CharTok)) <|> (currentContext >>= \x -> guard (x == ("Objective Caml","Camlp4 Quotation Constant")) >> pDefault >>= withAttribute StringTok))
changelog view
@@ -1,8 +1,14 @@+highlighting-kate 0.5.8.1 (14 May 2014)++ * Update fsharp and ocaml xml files for regex syntax compatibility (#44).+ We need `\o{0355}`, not `\0355`. See the pcre man page.+ * Give better information when there is a regex compile failure.+ highlighting-kate 0.5.8 (12 May 2014) * Enable UTF-8 support with the regex-pcre-builtin backend. (This requires regex-pcre-builtin >= 0.94.4.8.8.35, and it- adds a dependency on utf8-string.) (Clint Adams, #42)+ adds a dependency on utf8-string.) (Matthias Troffaes, #42) * Fixed performance regression: added a caseSensitive parameter to compileRegex and made it non-monadic. (Checking state was a serious performance hit, and was not necessary in this case.)
highlighting-kate.cabal view
@@ -1,5 +1,5 @@ Name: highlighting-kate-Version: 0.5.8+Version: 0.5.8.1 Cabal-Version: >= 1.10 Build-Type: Simple Category: Text
xml/fsharp.xml view
@@ -3,7 +3,9 @@ <!DOCTYPE language SYSTEM "language.dtd" [ <!-- Regular expresion constants: -->-<!ENTITY LETTER "A-Za-z\0300-\0326\0330-\0366\0370-\0377"> <!-- Latin-1 letters. -->+<!-- note: the following line modified by JGM for pcre compatibility.+ We need \o{0366}, not \0366 as in the original xml file. -->+<!ENTITY LETTER "A-Za-z\o{0300}-\o{0326}\o{0330}-\o{0366}\o{0370}-\o{0377}"> <!-- Latin-1 letters. --> <!ENTITY IDENT "[&LETTER;_][&LETTER;0-9_']*"> <!-- OCaml identifiers. --> <!ENTITY MIDENT "[A-Z][&LETTER;0-9_']*"> <!-- OCaml uppercase identifiers. --> <!ENTITY ESC "(\\[ntbr'"\\]|\\[0-9]{3}|\\x[0-9A-Fa-f]{2})"> <!-- OCaml character code escapes. -->
xml/ocaml.xml view
@@ -3,7 +3,9 @@ <!DOCTYPE language SYSTEM "language.dtd" [ <!-- Regular expresion constants: -->-<!ENTITY LETTER "A-Za-z\0300-\0326\0330-\0366\0370-\0377"> <!-- Latin-1 letters. -->+<!-- note: the following line modified by JGM for pcre compatibility.+ We need \o{0366}, not \0366 as in the original xml file. -->+<!ENTITY LETTER "A-Za-z\o{0300}-\o{0326}\o{0330}-\o{0366}\o{0370}-\o{0377}"> <!-- Latin-1 letters. --> <!ENTITY IDENT "[&LETTER;_][&LETTER;0-9_']*"> <!-- OCaml identifiers. --> <!ENTITY MIDENT "[A-Z][&LETTER;0-9_']*"> <!-- OCaml uppercase identifiers. --> <!ENTITY ESC "(\\[ntbr'"\\]|\\[0-9]{3}|\\x[0-9A-Fa-f]{2})"> <!-- OCaml character code escapes. -->