diff options
Diffstat (limited to 'pygments/lexers/jvm.py')
-rw-r--r-- | pygments/lexers/jvm.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/pygments/lexers/jvm.py b/pygments/lexers/jvm.py index 19f0ded9..34198530 100644 --- a/pygments/lexers/jvm.py +++ b/pygments/lexers/jvm.py @@ -268,6 +268,8 @@ class ScalaLexer(RegexLexer): (r'""".*?"""(?!")', String), (r'"(\\\\|\\"|[^"])*"', String), (r"'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'", String.Char), + (r'[fs]"', String, 'interpstring'), # interpolated strings + (r'raw"(\\\\|\\"|[^"])*"', String), # raw strings # (ur'(\.)(%s|%s|`[^`]+`)' % (idrest, op), bygroups(Operator, # Name.Attribute)), (idrest, Name), @@ -320,6 +322,17 @@ class ScalaLexer(RegexLexer): 'import': [ (u'(%s|\\.)+' % idrest, Name.Namespace, '#pop') ], + 'interpstring': [ + (r'[^"$\\]', String), + (r'\$\{', String.Interpol, 'interpbrace'), + (r'\\.', String), + (r'"', String, '#pop'), + ], + 'interpbrace': [ + (r'\}', String.Interpol, '#pop'), + (r'\{', String.Interpol, '#push'), + include('root'), + ] } |