remove spaghetti, or: restructure almost all the bare functions into struct members #6
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.
Look, was this strictly necessary? probably not: technically things built as of #5. however, I had a litany of
TODO
comments in the source alluding to future refactors, and I finally got tired of seeing them, and also, in developing the CI commits in #5 I had to allow Clippy warnings in CI because of vestigial terrible decisions from the "hack and go" stage of development. let's get rid of those artifacts and allow Clippy to scream as loud as it so desires, eh? Singing is truly the way of life, after all.user_script_registry_key
with the actual Lua VM that generated it, rather than passing each as bare arguments all over the stackstep_*
files now became non-step files that speak withPipeline
(a new struct) over strict interfaces, rather than the spaghetti I'd previously allowed. Thus, allStepHandlers
now implementStepHandler
and are semi-plugins toPipeline
("semi" because they're still plumbed one-by-one and not loaded at runtime, but at least, they have extremely limited interfaces to speak over now).screenshot proof that UX has not regressed (plus, we have
cargo test
in CI with #5, which tests some units):