diff options
Diffstat (limited to 'pygments/lexers/web.py')
-rw-r--r-- | pygments/lexers/web.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/pygments/lexers/web.py b/pygments/lexers/web.py index 3aae0b89..95b7a104 100644 --- a/pygments/lexers/web.py +++ b/pygments/lexers/web.py @@ -1535,7 +1535,7 @@ class HaxeLexer(ExtendedRegexLexer): 'switch': [ include('spaces'), - (r'\(', Text, ('#pop', 'switch-body', 'bracket-open', 'parenthesis')), + (r'\(', Text, ('#pop', 'switch-body', 'bracket-open', 'expr')), ], 'switch-body': [ @@ -1547,7 +1547,7 @@ class HaxeLexer(ExtendedRegexLexer): 'case': [ include('spaces'), (r':', Punctuation, '#pop'), - (r'', Text, ('#pop', 'case-sep', 'expr')), + (r'', Text, ('#pop', 'case-sep', 'case-guard', 'expr')), ], 'case-sep': [ @@ -1556,6 +1556,12 @@ class HaxeLexer(ExtendedRegexLexer): (r',', Punctuation, ('#pop', 'case')), ], + 'case-guard': [ + include('spaces'), + (r'(?:if)\b', Keyword, ('#pop', 'parenthesis')), + (r'', Text, '#pop'), + ], + # optional multiple expr under a case 'case-block': [ include('spaces'), |