Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR was originally designed to address #645, but breaks from the plan addressed in that PR a bit.
This PR does include the
OpListing
refactoring described in that issue, which is part of what we need for imagej/napari-imagej#96 (we'll need a release of imagej-ops, plus a PR in that repository to actually address the issue). Specifically, I wrote the private classOpListing.Parameter
to keep track of all the needed state. This class also makes it significantly easier to make improvements to the stringification of each parameter.The other improvement made by this PR is the re-inclusion of all parameter names. Previously, we were leaving out any names conforming to either
"out"
or"inX"
, because I thought they were redundant. It turns out that this got confusing, so I added them back. I actually tried making a bunch of different modifications to theOpListing
strings (see this zulip thread), but for now I'm going to leave them out, and add them in later if people need (thanks for the suggestion @hinerm)I'm not sure this fully solves #645, as I did not include the additional
OpListing
filtering I talked about in that PR. But, if we do it, I'd rather address it in another PR as it is a separate issue.