summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorptmcg <ptmcg@austin.rr.com>2022-12-11 10:55:29 -0600
committerptmcg <ptmcg@austin.rr.com>2022-12-11 10:55:29 -0600
commit8c72861e1ca49507f5cc201295c061d0e49e1bfa (patch)
tree205887f3f2711246f69fd2380f7afcf72a507617
parent68f96cc9ab3b2ddbff86878318e7486bf747e15d (diff)
downloadpyparsing-git-8c72861e1ca49507f5cc201295c061d0e49e1bfa.tar.gz
Better handling of ParserElementEnhance subclasses
-rw-r--r--pyparsing/diagram/__init__.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pyparsing/diagram/__init__.py b/pyparsing/diagram/__init__.py
index 8f2322d..ddacd9a 100644
--- a/pyparsing/diagram/__init__.py
+++ b/pyparsing/diagram/__init__.py
@@ -578,10 +578,12 @@ def _to_diagram_element(
elif isinstance(element, pyparsing.Empty) and not element.customName:
# Skip unnamed "Empty" elements
ret = None
- elif len(exprs) > 1:
+ elif isinstance(element, pyparsing.ParseElementEnhance):
ret = EditablePartial.from_call(railroad.Sequence, items=[])
elif len(exprs) > 0 and not element_results_name:
ret = EditablePartial.from_call(railroad.Group, item="", label=name)
+ elif len(exprs) > 0:
+ ret = EditablePartial.from_call(railroad.Sequence, items=[])
else:
terminal = EditablePartial.from_call(railroad.Terminal, element.defaultName)
ret = terminal