changeset 23:bb2fd6d4ad69

More arrows
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 20 Apr 2026 23:28:27 +0200
parents b42168cc9884
children f13f5ddafcf6
files pygments_lexer_pseudocode2/__init__.py tests/test_fr.py
diffstat 2 files changed, 26 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/pygments_lexer_pseudocode2/__init__.py	Mon Apr 20 17:42:32 2026 +0200
+++ b/pygments_lexer_pseudocode2/__init__.py	Mon Apr 20 23:28:27 2026 +0200
@@ -44,6 +44,8 @@
         '<-': '←',
         '->': '→',
         '=>': '⇒',
+        '<->': '↔',
+        '<=>': '⇔',
         '^': '↑',
     }
 
@@ -94,7 +96,7 @@
                    Name.Constant),
 
                  # Operators
-                 (r'(<=|>=|<>|!=|<-|->|=>|\^|\*|\+|-|\/|<|>|=|\\\\|mod|←|↑|≤|≥|≠|÷|×|\.\.|\[|\]|\.|non|xou|et|ou)',
+                 (r'(<->|<=>|<=|>=|<>|!=|<-|->|=>|\^|\*|\+|-|\/|<|>|=|\\\\|mod|←|↑|≤|≥|≠|÷|×|\.\.|\[|\]|\.|non|xou|et|ou)',
                   op_replace),
 
                  (r'(\(|\)|\,|\;|:)',
@@ -113,7 +115,7 @@
                  (r'"([^"])*"', String.Double),
                  (r"'([^'])*'", String.Single),
                 ],
-#        
+#
 # This is stolen from the Pygment's Python lexer.
 #
 # SPDX-SnippetBegin
--- a/tests/test_fr.py	Mon Apr 20 17:42:32 2026 +0200
+++ b/tests/test_fr.py	Mon Apr 20 23:28:27 2026 +0200
@@ -34,7 +34,8 @@
         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))
@@ -56,11 +57,16 @@
         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, "\n"), next(tokens))
         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", " "),
@@ -83,13 +89,17 @@
              ("Token.Operator", "="),
              ("Token.Text", " "),
              ("Token.Operator", ">"),
+             ("Token.Text", " "),
+             ("Token.Operator", "↔"),
+             ("Token.Text", " "),
+             ("Token.Operator", "⇔"),
              ("Token.Text", "\n"),
              ],
             tokens)
         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", " "),
@@ -112,13 +122,17 @@
              ("Operator", "="),
              ("Text", " "),
              ("Operator", ">"),
+             ("Text", " "),
+             ("Operator", "↔"),
+             ("Text", " "),
+             ("Operator", "⇔"),
              ("Text", " \n"),
              ],
             tokens)
         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", " "),
@@ -141,6 +155,10 @@
              ("Operator", "="),
              ("Text", " "),
              ("Operator", "<"),
+             ("Text", " "),
+             ("Operator", "⇔"),
+             ("Text", " "),
+             ("Operator", "↔"),
              ("Text", "  \n"),
              ],
             tokens)