changeset 41:4ccf9a8d0bf2

For the german and french PseudocodeLexer: Use en translations as fallback. Also test a french pseudocode keyword.
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 24 Apr 2026 18:02:08 +0200
parents df08226a6984
children 193ee1eb5013
files pygments_lexer_pseudocode2/pseudocode.py tests/test_pseudo.py
diffstat 2 files changed, 21 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/pygments_lexer_pseudocode2/pseudocode.py	Fri Apr 24 10:48:00 2026 +0200
+++ b/pygments_lexer_pseudocode2/pseudocode.py	Fri Apr 24 18:02:08 2026 +0200
@@ -122,7 +122,8 @@
     filenames = ["*.algo-de", "*.pseudocode-de"]
 
     LANG = "de"
-    TRANSLATIONS = {
+    TRANSLATIONS = PseudocodeLexer.TRANSLATIONS.copy()
+    TRANSLATIONS.update({
         "PROG": "PROGRAMM",
         "PROGRAM": "PROGRAMM",
         "ALGO": "ALGORITHMUS",
@@ -133,7 +134,7 @@
         "FUNCTION": "FUNKTION",
         "FN": "FUNKTION",
         "CLASS": "KLASSE",
-    }
+    })
 
 
 class PseudocodeLexer_FR(PseudocodeLexer):
@@ -143,7 +144,8 @@
     filenames = ["*.algo-fr", "*.pseudocode-fr"]
 
     LANG = "de"
-    TRANSLATIONS = {
+    TRANSLATIONS = PseudocodeLexer.TRANSLATIONS.copy()
+    TRANSLATIONS.update({
         "PROG": "PROGRAMME",
         "PROGRAM": "PROGRAMME",
         "ALGO": "ALGORITHME",
@@ -154,4 +156,4 @@
         "FUNCTION": "FOUNCTION",
         "FN": "FONCTION",
         "CLASS": "CLASSE",
-    }
+    })
--- a/tests/test_pseudo.py	Fri Apr 24 10:48:00 2026 +0200
+++ b/tests/test_pseudo.py	Fri Apr 24 18:02:08 2026 +0200
@@ -215,6 +215,21 @@
              ],
             pygments.lex("\\CLASS {\\n\\}}", self.lexer))
 
+    def test_class_fr(self):
+        lexer = pygments.lexers.load_lexer_from_file(
+            LEXERFILENAME, "PseudocodeLexer_FR")
+        self.assertTokenStreamEqualComplete(
+            [("Keyword", "CLASSE"),
+             ("Text.Whitespace", " "),
+             ("Name.Entity", "{"),
+             ("Name.Entity", "\\"),
+             ("Name.Entity", "n"),
+             ("Name.Entity", "\\}"),
+             ("Name.Entity", "}"),
+             ("Text.Whitespace", "\n"),
+             ],
+            pygments.lex("\\CLASS {\\n\\}}", lexer))
+
     def test_remark_1(self):
         self.assertTokenStreamEqualComplete(
             [("Comment.Single", "▷"),