Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
changeset 21:5705ac8a4fd5
Arrow "=>" -> "⇒"
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 20 Apr 2026 15:59:32 +0200 |
| parents | 3db60b64abf6 |
| children | b42168cc9884 |
| files | pygments_lexer_pseudocode2/__init__.py tests/test_fr.py |
| diffstat | 2 files changed, 30 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/pygments_lexer_pseudocode2/__init__.py Mon Apr 20 15:28:19 2026 +0200 +++ b/pygments_lexer_pseudocode2/__init__.py Mon Apr 20 15:59:32 2026 +0200 @@ -40,8 +40,10 @@ '<=': '≤', '>=': '≥', '<>': '≠', - '!=': '≠', + '!=': '≠', '<-': '←', + '->': '→', + '=>': '⇒', '^': '↑', } @@ -61,9 +63,9 @@ if s in directives: c = Comment.Special - + yield match.start(), c, match.group(0) - + tokens = { 'root': [ (r'\/\*.*\*\/', Comment), @@ -85,19 +87,19 @@ # Data Types (r'\b(entiers?|chaines?|chaînes?|réels?|reels?|caractères?|caracteres?|booléens?|' - r'booleens?|tableaux?|rien)\s*\b', + r'booleens?|tableaux?|rien)\s*\b', Keyword.Type), (r'\b(vrai|faux|nil)\s*\b', Name.Constant), - + # Operators - (r'(<=|>=|<>|!=|<-|\^|\*|\+|-|\/|<|>|=|\\\\|mod|←|↑|≤|≥|≠|÷|×|\.\.|\[|\]|\.|non|xou|et|ou)', + (r'(<=|>=|<>|!=|<-|->|=>|\^|\*|\+|-|\/|<|>|=|\\\\|mod|←|↑|≤|≥|≠|÷|×|\.\.|\[|\]|\.|non|xou|et|ou)', op_replace), - + (r'(\(|\)|\,|\;|:)', Punctuation), - + #(r'\b(\[(VE|VS|VE/S)\])\s*\b', # Keyword.Declaration), @@ -118,4 +120,3 @@ (r'[+-]?\d+\.\d*([eE][-+]?\d+)?', Number.Float) ], } -
--- a/tests/test_fr.py Mon Apr 20 15:28:19 2026 +0200 +++ b/tests/test_fr.py Mon Apr 20 15:59:32 2026 +0200 @@ -34,7 +34,7 @@ self.assertRaises(StopIteration, next, tokens) def test_op_replace(self): - tokens = pygments.lex("<= >= <> != <- ^ < = >", self.lexer) + tokens = pygments.lex("<= >= <> != <- -> => ^ < = >", self.lexer) self.assertEqual((Token.Operator, "≤"), next(tokens)) self.assertEqual((Token.Text, " "), next(tokens)) self.assertEqual((Token.Operator, "≥"), next(tokens)) @@ -45,6 +45,10 @@ self.assertEqual((Token.Text, " "), next(tokens)) self.assertEqual((Token.Operator, "←"), next(tokens)) self.assertEqual((Token.Text, " "), next(tokens)) + self.assertEqual((Token.Operator, "→"), next(tokens)) + self.assertEqual((Token.Text, " "), next(tokens)) + self.assertEqual((Token.Operator, "⇒"), next(tokens)) + self.assertEqual((Token.Text, " "), next(tokens)) self.assertEqual((Token.Operator, "↑"), next(tokens)) self.assertEqual((Token.Text, " "), next(tokens)) self.assertEqual((Token.Operator, "<"), next(tokens)) @@ -56,7 +60,7 @@ self.assertRaises(StopIteration, next, tokens) def test_op_replace_list(self): - tokens = pygments.lex("<= >= <> != <- ^ < = >", self.lexer) + tokens = pygments.lex("<= >= <> != <- -> => ^ < = >", self.lexer) self.assertTokenStreamEqual( [("Token.Operator", "≤"), ("Token.Text", " "), @@ -68,6 +72,10 @@ ("Token.Text", " "), ("Token.Operator", "←"), ("Token.Text", " "), + ("Token.Operator", "→"), + ("Token.Text", " "), + ("Token.Operator", "⇒"), + ("Token.Text", " "), ("Token.Operator", "↑"), ("Token.Text", " "), ("Token.Operator", "<"), @@ -81,7 +89,7 @@ self.assertRaises(StopIteration, next, tokens) def test_op_replace_list_with_short_names(self): - tokens = pygments.lex("<= >= <> != <- ^ < = > ", self.lexer) + tokens = pygments.lex("<= >= <> != <- -> => ^ < = > ", self.lexer) self.assertTokenStreamEqual( [("Operator", "≤"), ("Text", " "), @@ -93,6 +101,10 @@ ("Text", " "), ("Operator", "←"), ("Text", " "), + ("Operator", "→"), + ("Text", " "), + ("Operator", "⇒"), + ("Text", " "), ("Operator", "↑"), ("Text", " "), ("Operator", "<"), @@ -106,7 +118,7 @@ self.assertRaises(StopIteration, next, tokens) def test_op_replace_complete(self): - tokens = pygments.lex("<= >= <> != <- ^ > = < ", self.lexer) + tokens = pygments.lex("<= >= <> != <- -> => ^ > = < ", self.lexer) self.assertTokenStreamEqualComplete( [("Operator", "≤"), ("Text", " "), @@ -118,6 +130,10 @@ ("Text", " "), ("Operator", "←"), ("Text", " "), + ("Operator", "→"), + ("Text", " "), + ("Operator", "⇒"), + ("Text", " "), ("Operator", "↑"), ("Text", " "), ("Operator", ">"),
