-
Notifications
You must be signed in to change notification settings - Fork 166
Wire in support for -Z
options
#475
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I've been experimenting with this (among other things) on the experiments branch of my fork. My current setup is to have an My current method of parsing -Z arguments is to prepend |
My inclination when looking at the change here is whether this could use the possible_values instead of going from Perhaps theres a reason that doesn't work though? |
Some options take a value e.g. |
Yeah, I think it will probably hurt more than it helps to use
then impl a
And then have zero or more Finally, there would need to be some kind of glue code that applies those Of course, I haven't tried implementing this, so no guarantees that this is the best way to go ... |
I've pushed a commit to |
@ralismark Cool! Is this work something that could be introduced in its own pull request? |
Now that we have structopt (#465), the next thing I'd like to do is add support for
-Z
options as used by programs likerustc
andcargo
. The basic idea is to give us a way to let people activate unusual engine features, like shell-escape (#38) or min-crossrefs (#175), without proliferating an endless series of long command-line options:In particular, I think that Rust folks have gotten a sense that
-Z
conveys that features are unstable and might go away. I certainly don't expect us to have a nice stable/unstable split any time soon but we might eventually get there.The last time I looked at this, I got stuck since it was going to take a little bit of effort to figure out how to get the CLI frontend to control the backend driver, but fundamentally there shouldn't be anything too complicated here.
The text was updated successfully, but these errors were encountered: