Commits

Georg Brandl  committed 580c5ce

Allow newlines in string patterns.

  • Participants
  • Parent commits 44b63ca
  • Branches trunk
  • Tags 1.2.2

Comments (0)

Files changed (4)

File pygments/lexers/agile.py

         ],
         'string': [
             (r'\[', String.Double, 'string-square'),
-            (r'(\\\\|\\[0-7]+|\\.|[^"\\])', String.Double),
+            (r'(?s)(\\\\|\\[0-7]+|\\.|[^"\\])', String.Double),
             (r'"', String.Double, '#pop')
         ],
         'string-square': [
             (r'\[', String.Double, 'string-square'),
-            (r'(\\\\|\\[0-7]+|\\.|[^\]\\])', String.Double),
+            (r'(?s)(\\\\|\\[0-7]+|\\.|\\\n|[^\]\\])', String.Double),
             (r'\]', String.Double, '#pop')
         ],
         'brace': [

File pygments/lexers/compiled.py

         ],
 
         'strings': [
-            (r'"(\\\\|\\[0-7]+|\\.|[^"\\])*"', String.Double),
-            (r"'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single),
+            (r'(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"', String.Double),
+            (r"(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single),
         ],
 
         'nums': [

File pygments/lexers/other.py

             (r'&&|\|\|', Operator),
         ],
         'data': [
-            (r'\$?"(\\\\|\\[0-7]+|\\.|[^"\\])*"', String.Double),
-            (r"\$?'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single),
+            (r'(?s)\$?"(\\\\|\\[0-7]+|\\.|[^"\\])*"', String.Double),
+            (r"(?s)\$?'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single),
             (r';', Text),
             (r'\s+', Text),
             (r'[^=\s\n\[\]{}()$"\'`\\<]+', Text),
             (r'<<\s*(\'?)\\?(\w+)[\w\W]+?\2', String),
         ],
         'data': [
-            (r'"(\\\\|\\[0-7]+|\\.|[^"\\])*"', String.Double),
-            (r"'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single),
+            (r'(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"', String.Double),
+            (r"(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single),
             (r'\s+', Text),
             (r'[^=\s\n\[\]{}()$"\'`\\]+', Text),
             (r'\d+(?= |\Z)', Number),
         'root': [
             (r'/\*[\w\W]*?\*/', Comment.Multiline),
             (r'//.*\n', Comment.Single),
-            (r'"(?:\\.|[^"\\])+"', String.Double),
+            (r'(?s)"(?:\\.|[^"\\])+"', String.Double),
             (r'#(debug|default|else|end|error|fclose|fopen|if|ifdef|ifndef|'
              r'include|range|read|render|statistics|switch|undef|version|'
              r'warning|while|write|define|macro|local|declare)',

File pygments/lexers/text.py

             (r'([a-zA-Z0-9_${}.-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n|.*\n)+)',
              bygroups(Name.Variable, Text, Operator, Text, using(BashLexer))),
             # strings
-            (r'"(\\\\|\\.|[^"\\])*"', String.Double),
-            (r"'(\\\\|\\.|[^'\\])*'", String.Single),
+            (r'(?s)"(\\\\|\\.|[^"\\])*"', String.Double),
+            (r"(?s)'(\\\\|\\.|[^'\\])*'", String.Single),
             # targets
             (r'([^\n:]+)(:+)([ \t]*)', bygroups(Name.Function, Operator, Text),
              'block-header'),