mirror of
https://github.com/denoland/deno.git
synced 2024-11-24 15:19:26 -05:00
Flags clean up: DenoFlags::from (#2068)
This commit is contained in:
parent
3995473925
commit
86aee7f137
1 changed files with 54 additions and 62 deletions
24
cli/flags.rs
24
cli/flags.rs
|
@ -26,20 +26,10 @@ pub struct DenoFlags {
|
|||
pub fmt: bool,
|
||||
}
|
||||
|
||||
/// Checks provided arguments for known options and sets appropriate Deno flags
|
||||
/// for them. Unknown options are returned for further use.
|
||||
/// Note:
|
||||
///
|
||||
/// 1. This assumes that privileged flags do not accept parameters deno --foo bar.
|
||||
/// This assumption is currently valid. But if it were to change in the future,
|
||||
/// this parsing technique would need to be modified. I think we want to keep the
|
||||
/// privileged flags minimal - so having this restriction is maybe a good thing.
|
||||
///
|
||||
/// 2. Misspelled flags will be forwarded to user code - e.g. --allow-ne would
|
||||
/// not cause an error. I also think this is ok because missing any of the
|
||||
/// privileged flags is not destructive. Userland flag parsing would catch these
|
||||
/// errors.
|
||||
fn set_recognized_flags(matches: ArgMatches, flags: &mut DenoFlags) {
|
||||
impl<'a> From<ArgMatches<'a>> for DenoFlags {
|
||||
fn from(matches: ArgMatches) -> DenoFlags {
|
||||
let mut flags = DenoFlags::default();
|
||||
|
||||
if matches.is_present("log-debug") {
|
||||
flags.log_debug = true;
|
||||
}
|
||||
|
@ -87,6 +77,9 @@ fn set_recognized_flags(matches: ArgMatches, flags: &mut DenoFlags) {
|
|||
if matches.is_present("fmt") {
|
||||
flags.fmt = true;
|
||||
}
|
||||
|
||||
flags
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg_attr(feature = "cargo-clippy", allow(stutter))]
|
||||
|
@ -242,8 +235,7 @@ pub fn set_flags(
|
|||
v8_set_flags(v8_flags);
|
||||
}
|
||||
|
||||
let mut flags = DenoFlags::default();
|
||||
set_recognized_flags(matches, &mut flags);
|
||||
let flags = DenoFlags::from(matches);
|
||||
Ok((flags, rest))
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue