summaryrefslogtreecommitdiff
path: root/cli/flags.rs
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2020-08-12 19:17:44 +0530
committerGitHub <noreply@github.com>2020-08-12 15:47:44 +0200
commit6706eb551532ee6c84ad013377ac2cd91681424a (patch)
tree934d2d003c8ef7868986e136a96589e25299607d /cli/flags.rs
parentfed70c9903e616702241725e82a7d633f2a9b05d (diff)
feat: add "--ignore" to deno lint (#6934)
Diffstat (limited to 'cli/flags.rs')
-rw-r--r--cli/flags.rs32
1 files changed, 29 insertions, 3 deletions
diff --git a/cli/flags.rs b/cli/flags.rs
index 993f681b5..49b577696 100644
--- a/cli/flags.rs
+++ b/cli/flags.rs
@@ -55,6 +55,7 @@ pub enum DenoSubcommand {
},
Lint {
files: Vec<String>,
+ ignore: Vec<String>,
rules: bool,
},
Repl,
@@ -628,8 +629,16 @@ fn lint_parse(flags: &mut Flags, matches: &clap::ArgMatches) {
Some(f) => f.map(String::from).collect(),
None => vec![],
};
+ let ignore = match matches.values_of("ignore") {
+ Some(f) => f.map(String::from).collect(),
+ None => vec![],
+ };
let rules = matches.is_present("rules");
- flags.subcommand = DenoSubcommand::Lint { files, rules };
+ flags.subcommand = DenoSubcommand::Lint {
+ files,
+ rules,
+ ignore,
+ };
}
fn types_subcommand<'a, 'b>() -> App<'a, 'b> {
@@ -1020,6 +1029,15 @@ Ignore linting a file by adding an ignore comment at the top of the file:
.help("List available rules"),
)
.arg(
+ Arg::with_name("ignore")
+ .long("ignore")
+ .requires("unstable")
+ .takes_value(true)
+ .use_delimiter(true)
+ .require_equals(true)
+ .help("Ignore linting particular source files."),
+ )
+ .arg(
Arg::with_name("files")
.takes_value(true)
.multiple(true)
@@ -1739,19 +1757,26 @@ mod tests {
subcommand: DenoSubcommand::Lint {
files: vec!["script_1.ts".to_string(), "script_2.ts".to_string()],
rules: false,
+ ignore: vec![],
},
unstable: true,
..Flags::default()
}
);
- let r = flags_from_vec_safe(svec!["deno", "lint", "--unstable"]);
+ let r = flags_from_vec_safe(svec![
+ "deno",
+ "lint",
+ "--unstable",
+ "--ignore=script_1.ts,script_2.ts"
+ ]);
assert_eq!(
r.unwrap(),
Flags {
subcommand: DenoSubcommand::Lint {
files: vec![],
rules: false,
+ ignore: svec!["script_1.ts", "script_2.ts"],
},
unstable: true,
..Flags::default()
@@ -1764,7 +1789,8 @@ mod tests {
Flags {
subcommand: DenoSubcommand::Lint {
files: vec![],
- rules: true
+ rules: true,
+ ignore: vec![],
},
unstable: true,
..Flags::default()