diff pygments_lexer_pseudocode2/bases.py @ 43:bbef0ac6cfcf

FIX: Proper string parsing: explicitely error out when single-line strings contain a linefeed
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 24 Apr 2026 19:01:10 +0200
parents 193ee1eb5013
children 5bfa9113d3c4
line wrap: on
line diff
--- a/pygments_lexer_pseudocode2/bases.py	Fri Apr 24 18:22:23 2026 +0200
+++ b/pygments_lexer_pseudocode2/bases.py	Fri Apr 24 19:01:10 2026 +0200
@@ -9,7 +9,7 @@
 
 
 from pygments.lexer import RegexLexer, combined, bygroups, include
-from pygments.token import Number, String, Comment
+from pygments.token import Error, Name, Number, String, Comment
 
 
 class LexBase(RegexLexer):
@@ -56,6 +56,7 @@
 # SPDX-SnippetBegin
 # SPDX-License-Identifier: BSD-2-Clause
 # SPDX-SnippetCopyrightText: Copyright 2006-2023 by the Pygments team
+# SPDX-SnippetCopyrightText: Copyright 2026 by Franz Glasner
 #
         'py-numbers': [
             (r'(\d(?:_?\d)*\.(?:\d(?:_?\d)*)?|(?:\d(?:_?\d)*)?\.\d(?:_?\d)*)'
@@ -97,12 +98,14 @@
         'py-dqs': [
             (r'"', String.Double, '#pop'),
             (r'\\\\|\\"|\\\n', String.Escape),  # included here for raw strings
-            include('py-strings-double')
+            include('py-strings-double'),
+            (r'\n', Error),    # added by fag
         ],
         'py-sqs': [
             (r"'", String.Single, '#pop'),
             (r"\\\\|\\'|\\\n", String.Escape),  # included here for raw strings
-            include('py-strings-single')
+            include('py-strings-single'),
+            (r'\n', Error),    # added by fag
         ],
         'py-tdqs': [
             (r'"""', String.Double, '#pop'),