Migrate away from exitcode
See https://github.com/benwilber/exitcode/pull/13#issuecomment-1266451847
We are looking at our default recommendation being the proc-exit crate. I just updated it for the Termiantion crate and to better reflect the status of sysexits. We just need to update the book to use it.
Sounds good, but proc-exit is unnecessarily complicated and opinionated if all you want are the exit codes. sysexits should still at least be mentioned as a "here's the crate that just has exit codes if you want that" thing. BTW, sysexit and sysexits are different. Just want to make sure we're talking about the same thing.
Maybe but I disagree with the choice of sysexits
- Use of enums makes it fairly restrictive unless you are using it only for cosntants. If you aren't using it for the type, the enum becomes a bit useless.
-
sysexits.herror codes aren't something to implicitly endorse
Use of enums makes it fairly restrictive unless you are using it only for constants. If you aren't using it for the type, the enum becomes a bit useless.
I'm not sure I understand. You can always just cast it to a u8 and then do whatever your want. Or convert it to std::process::ExitCode. Also, using it only for constants is kind of the point.
sysexits.h error codes aren't something to implicitly endorse
True but then why mention exitcode at all? Seems like a red herring argument.
True but then why mention exitcode at all? Seems like a red herring argument.
What does exitcode have to do with this?
What does exitcode have to do with this?
It's recommended here: https://rust-cli.github.io/book/in-depth/exit-code.html
Yeah actually let me just make a PR.
Yes and I have no problem removing exitcode in that document but it would be to replace it with proc-exit.
Hmmm, I just disagree. The opinionated thing should be in https://rust-cli.github.io/book/tutorial/errors.html whereas https://rust-cli.github.io/book/in-depth/exit-code.html should provide just the exit codes.
Or really, exit-code.html should be deleted in favor of an all-encompassing solution inside errors.html that is capable of returning arbitrary exit codes upon error. proc-exit does not address this use case. error-stack does, or anyhow with a custom error type that holds the exit code. Either way, all you need are the exit codes.