Fix handling of argument aliases
Dependencies
- [2]
LEJN3E4QGenerate more semantic HTML - [3]
BMG4FSHNAdd basic `clap` support - [4]
MIY7QPYKRefactor argument handling into a separate file - [5]
YTW5RB26Refactor argument type handling into enum
Change contents
- replacement in src/cli.rs at line 12
#[arg(short = 'n', long, alias = "nom", env = "NAME_ENV_VAR")]#[arg(short = 'n',long,visible_alias = "nom",alias = "hidden-should-not-appear",env = "NAME_ENV_VAR")] - edit in src/arg.rs at line 92
fn aliases(arg: &Arg) -> impl ViewSequence<Arg> {let mut aliases = Vec::new();// Handle short aliases (-a, -b etc)if let Some(long_aliases) = arg.get_short_and_visible_aliases() {aliases.extend(long_aliases.iter().map(|alias| alias.to_string()).filter(|alias| alias != arg.get_id()),);} - replacement in src/arg.rs at line 106[3.1519]→[3.1519:1647](∅→∅),[3.1647]→[2.128:151](∅→∅),[2.151]→[3.1647:1649](∅→∅),[3.1647]→[3.1647:1649](∅→∅)
fn env(arg: &Arg) -> impl ViewSequence<Arg> {arg.get_env().map(|variable| variable.to_string_lossy().to_string()).map(el::span)}// Handle long aliases (--alias1, --alias2 etc)if let Some(long_aliases) = arg.get_long_and_visible_aliases() {aliases.extend(long_aliases.iter().map(|alias| alias.to_string()).filter(|alias| alias != arg.get_id()),);} - replacement in src/arg.rs at line 116
fn aliases(arg: &Arg) -> impl ViewSequence<Arg> {let aliases = if let Some(aliases) = arg.get_all_aliases() {aliases.iter().map(|alias| alias.to_string()).filter(|alias| alias != arg.get_id()).collect::<Vec<String>>()} else {// Ignore if there's no aliasesreturn None;};// Handle environment variablesif let Some(env_var) = arg.get_env() {aliases.push(env_var.to_string_lossy().to_string())} - edit in src/arg.rs at line 188
env(arg),