jacobdeichert/mask

question: feature contributions / bumping `clap`

benmaddison opened this issue · 1 comments

Thanks for this very useful tool.
We're in the process of refactoring a bunch of operational tooling, and mask looks like a great potential fit.
Currently there look to be a few deal-breaker feature-gaps, all of which have been discussed before in other issues here:

  • flag defaults (#59)
  • pass-through / variadic args (#4)
  • shell completion (#18)

I'd be happy to attempt any/all of these, and from the related issue discussions it appears that there is general agreement that they are useful if they can be implemented "nicely".
I expect that all these will be made easier by using a more recent clap. So, my real question, are you open to a PR upgrading the clap dependency?

#59 and #4 can be done on mask's side, so we don't need to upgrade clap for that.

#18 I'm still not sure how to best solve. Because mask can run maskfiles in any directory, the shell completion script needs to be dynamic and understand the directory context mask is operating within. Mask does have a parser crate which is available to use (though also not stable)... but it could be used to experiment with other shell completion libs/crates out there.

Regarding clap, I'm considering moving to a lighter weight alternative. Clap offers a good developer experience, but mask really just needs a simple arg parser. This would be a large rewrite which I currently don't have time to do, so leaving clap frozen seems fine to me for now.

Since you're looking to refactor a bunch of operational tooling, I'd probably recommend focusing on other tools that are better supported than mask.