summaryrefslogtreecommitdiffstats
path: root/src/prompt_toolkit/contrib/regular_languages/compiler.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-05 04:45:15 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-05 04:45:15 +0000
commit6dc655898df34ad424dfc467a8b276fdf31bd791 (patch)
tree0a3f3addbfc0b81e3850a628afe62ce830a8b0f3 /src/prompt_toolkit/contrib/regular_languages/compiler.py
parentReleasing progress-linux version 3.0.43-2~progress7.99u1. (diff)
downloadprompt-toolkit-6dc655898df34ad424dfc467a8b276fdf31bd791.tar.xz
prompt-toolkit-6dc655898df34ad424dfc467a8b276fdf31bd791.zip
Merging upstream version 3.0.46.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/prompt_toolkit/contrib/regular_languages/compiler.py')
-rw-r--r--src/prompt_toolkit/contrib/regular_languages/compiler.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/prompt_toolkit/contrib/regular_languages/compiler.py b/src/prompt_toolkit/contrib/regular_languages/compiler.py
index 474f6cf..dd558a6 100644
--- a/src/prompt_toolkit/contrib/regular_languages/compiler.py
+++ b/src/prompt_toolkit/contrib/regular_languages/compiler.py
@@ -38,6 +38,7 @@ Partial matches are possible::
m.variables().get('operator2') # Returns "add"
"""
+
from __future__ import annotations
import re
@@ -96,13 +97,13 @@ class _CompiledGrammar:
counter = [0]
def create_group_func(node: Variable) -> str:
- name = "n%s" % counter[0]
+ name = f"n{counter[0]}"
self._group_names_to_nodes[name] = node.varname
counter[0] += 1
return name
# Compile regex strings.
- self._re_pattern = "^%s$" % self._transform(root_node, create_group_func)
+ self._re_pattern = f"^{self._transform(root_node, create_group_func)}$"
self._re_prefix_patterns = list(
self._transform_prefix(root_node, create_group_func)
)
@@ -153,7 +154,7 @@ class _CompiledGrammar:
def transform(node: Node) -> str:
# Turn `AnyNode` into an OR.
if isinstance(node, AnyNode):
- return "(?:%s)" % "|".join(transform(c) for c in node.children)
+ return "(?:{})".format("|".join(transform(c) for c in node.children))
# Concatenate a `NodeSequence`
elif isinstance(node, NodeSequence):
@@ -311,11 +312,11 @@ class _CompiledGrammar:
yield "".join(result)
elif isinstance(node, Regex):
- yield "(?:%s)?" % node.regex
+ yield f"(?:{node.regex})?"
elif isinstance(node, Lookahead):
if node.negative:
- yield "(?!%s)" % cls._transform(node.childnode, create_group_func)
+ yield f"(?!{cls._transform(node.childnode, create_group_func)})"
else:
# Not sure what the correct semantics are in this case.
# (Probably it's not worth implementing this.)
@@ -349,10 +350,10 @@ class _CompiledGrammar:
)
else:
- raise TypeError("Got %r" % node)
+ raise TypeError(f"Got {node!r}")
for r in transform(root_node):
- yield "^(?:%s)$" % r
+ yield f"^(?:{r})$"
def match(self, string: str) -> Match | None:
"""