refactor(tvix/eval): use Clap for arg+env parsing

Refactor the environment variable and argument parsing for the tvix repl
to use Clap instead of doing things ad-hoc, and thread through options
obtained from environment variables via explicit arguments rather than
obtaining them from the environment as they're needed. This makes adding
more flags more sustainable, and also makes the binary fully
self-documenting, including supported env vars, via `--help`.

Change-Id: Ib1f6a0cd20056e8c9196760ff755fa5729667760
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6653
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
Griffin Smith 2022-09-18 15:59:59 -04:00 committed by clbot
parent 6f70f32513
commit e720545e5b
8 changed files with 168 additions and 29 deletions

View file

@ -21,6 +21,6 @@ mod tests;
pub use crate::builtins::global_builtins;
pub use crate::compiler::compile;
pub use crate::errors::EvalResult;
pub use crate::eval::interpret;
pub use crate::eval::{interpret, Options};
pub use crate::value::Value;
pub use crate::vm::run_lambda;