diff options
| author | ptmcg <ptmcg@austin.rr.com> | 2022-12-11 10:55:29 -0600 |
|---|---|---|
| committer | ptmcg <ptmcg@austin.rr.com> | 2022-12-11 10:55:29 -0600 |
| commit | 8c72861e1ca49507f5cc201295c061d0e49e1bfa (patch) | |
| tree | 205887f3f2711246f69fd2380f7afcf72a507617 | |
| parent | 68f96cc9ab3b2ddbff86878318e7486bf747e15d (diff) | |
| download | pyparsing-git-8c72861e1ca49507f5cc201295c061d0e49e1bfa.tar.gz | |
Better handling of ParserElementEnhance subclasses
| -rw-r--r-- | pyparsing/diagram/__init__.py | 4 |
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 |
