Repository: BurntSushi/ripgrep
File: src/app.rs (Rust)

Code before:
        .arg(flag("no-heading").overrides_with("heading"))
        .arg(flag("hidden"))
        .arg(flag("ignore-file")
             .value_name("FILE").takes_value(true)
             .set(ArgSettings::AllowLeadingHyphen)
             .multiple(true).number_of_values(1))
        .arg(flag("follow").short("L"))
        .arg(flag("max-count")
             .short("m").value_name("NUM").takes_value(true)
             .validator(validate_number))
        .arg(flag("max-filesize")
             .value_name("NUM+SUFFIX?").takes_value(true))
        .arg(flag("maxdepth")
             .value_name("NUM").takes_value(true)
             .validator(validate_number))
        .arg(flag("mmap"))
        .arg(flag("no-messages"))
        .arg(flag("no-mmap"))
        .arg(flag("no-ignore"))
        .arg(flag("no-ignore-parent"))
        .arg(flag("no-ignore-vcs"))
        .arg(flag("null").short("0"))
        .arg(flag("only-matching").short("o"))
        .arg(flag("path-separator").value_name("SEPARATOR").takes_value(true))
        .arg(flag("pretty").short("p"))
        .arg(flag("replace").short("r")
             .set(ArgSettings::AllowLeadingHyphen)
             .value_name("ARG").takes_value(true))
        .arg(flag("regex-size-limit")
             .value_name("NUM+SUFFIX?").takes_value(true))
        .arg(flag("case-sensitive").short("s"))
        .arg(flag("smart-case").short("S"))
        .arg(flag("sort-files"))
        .arg(flag("threads")
             .short("j").value_name("ARG").takes_value(true)
             .validator(validate_number))
        .arg(flag("vimgrep").overrides_with("count"))
        .arg(flag("max-columns").short("M")
             .value_name("NUM").takes_value(true)
             .validator(validate_number))
        .arg(flag("type-add")
             .value_name("TYPE").takes_value(true)
             .multiple(true).number_of_values(1))
        .arg(flag("type-clear")
             .value_name("TYPE").takes_value(true)
             .multiple(true).number_of_values(1))
}

struct Usage {
    short: &'static str,
    long: &'static str,

Review comment (suggestion):
Hmm I kind of feel like `--passthru` should conflict with `--count`, no? They are somewhat mutually incompatible flags. I could be convinced though! Maybe explain this a bit more?

I agree with the other conflicts. Thanks for thinking about that!

Code after:
        .arg(flag("no-heading").overrides_with("heading"))
        .arg(flag("hidden"))
        .arg(flag("ignore-file")
             .value_name("FILE").takes_value(true)
             .set(ArgSettings::AllowLeadingHyphen)
             .multiple(true).number_of_values(1))
        .arg(flag("follow").short("L"))
        .arg(flag("max-count")
             .short("m").value_name("NUM").takes_value(true)
             .validator(validate_number))
        .arg(flag("max-filesize")
             .value_name("NUM+SUFFIX?").takes_value(true))
        .arg(flag("maxdepth")
             .value_name("NUM").takes_value(true)
             .validator(validate_number))
        .arg(flag("mmap"))
        .arg(flag("no-messages"))
        .arg(flag("no-mmap"))
        .arg(flag("no-ignore"))
        .arg(flag("no-ignore-parent"))
        .arg(flag("no-ignore-vcs"))
        .arg(flag("null").short("0"))
        .arg(flag("only-matching").short("o"))
        .arg(flag("passthru").alias("passthrough")
            .conflicts_with_all(&["only-matching", "replace"]))
        .arg(flag("path-separator").value_name("SEPARATOR").takes_value(true))
        .arg(flag("pretty").short("p"))
        .arg(flag("replace").short("r")
             .set(ArgSettings::AllowLeadingHyphen)
             .value_name("ARG").takes_value(true))
        .arg(flag("regex-size-limit")
             .value_name("NUM+SUFFIX?").takes_value(true))
        .arg(flag("case-sensitive").short("s"))
        .arg(flag("smart-case").short("S"))
        .arg(flag("sort-files"))
        .arg(flag("threads")
             .short("j").value_name("ARG").takes_value(true)
             .validator(validate_number))
        .arg(flag("vimgrep").overrides_with("count"))
        .arg(flag("max-columns").short("M")
             .value_name("NUM").takes_value(true)
             .validator(validate_number))
        .arg(flag("type-add")
             .value_name("TYPE").takes_value(true)
             .multiple(true).number_of_values(1))
        .arg(flag("type-clear")
             .value_name("TYPE").takes_value(true)
             .multiple(true).number_of_values(1))
}

struct Usage {