# HG changeset patch # User Franz Glasner # Date 1777046528 -7200 # Node ID 4ccf9a8d0bf2cb81c9dc5dbfff2032368d2ad789 # Parent df08226a69845c07bfadf19554b818b616d4d2e2 For the german and french PseudocodeLexer: Use en translations as fallback. Also test a french pseudocode keyword. diff -r df08226a6984 -r 4ccf9a8d0bf2 pygments_lexer_pseudocode2/pseudocode.py --- 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", - } + }) diff -r df08226a6984 -r 4ccf9a8d0bf2 tests/test_pseudo.py --- 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", "▷"),