mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-27 19:17:43 +00:00
Merge pull request #8126 from cakebaker/tr_use_equals_instead_of_less_than
tr: some small improvements
This commit is contained in:
commit
d81ffb12ad
1 changed files with 9 additions and 12 deletions
|
@ -3,15 +3,13 @@
|
||||||
// For the full copyright and license information, please view the LICENSE
|
// For the full copyright and license information, please view the LICENSE
|
||||||
// file that was distributed with this source code.
|
// file that was distributed with this source code.
|
||||||
|
|
||||||
// spell-checker:ignore (ToDO) allocs bset dflag cflag sflag tflag
|
|
||||||
|
|
||||||
mod operation;
|
mod operation;
|
||||||
mod unicode_table;
|
mod unicode_table;
|
||||||
|
|
||||||
use crate::operation::DeleteOperation;
|
|
||||||
use clap::{Arg, ArgAction, Command, value_parser};
|
use clap::{Arg, ArgAction, Command, value_parser};
|
||||||
use operation::{
|
use operation::{
|
||||||
Sequence, SqueezeOperation, SymbolTranslator, TranslateOperation, translate_input,
|
DeleteOperation, Sequence, SqueezeOperation, SymbolTranslator, TranslateOperation,
|
||||||
|
translate_input,
|
||||||
};
|
};
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::ffi::OsString;
|
use std::ffi::OsString;
|
||||||
|
@ -33,9 +31,7 @@ mod options {
|
||||||
|
|
||||||
#[uucore::main]
|
#[uucore::main]
|
||||||
pub fn uumain(args: impl uucore::Args) -> UResult<()> {
|
pub fn uumain(args: impl uucore::Args) -> UResult<()> {
|
||||||
let matches = uu_app()
|
let matches = uu_app().try_get_matches_from(args)?;
|
||||||
.after_help(get_message("tr-after-help"))
|
|
||||||
.try_get_matches_from(args)?;
|
|
||||||
|
|
||||||
let delete_flag = matches.get_flag(options::DELETE);
|
let delete_flag = matches.get_flag(options::DELETE);
|
||||||
let complement_flag = matches.get_flag(options::COMPLEMENT);
|
let complement_flag = matches.get_flag(options::COMPLEMENT);
|
||||||
|
@ -51,13 +47,13 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> {
|
||||||
.map(ToOwned::to_owned)
|
.map(ToOwned::to_owned)
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
let sets_len = sets.len();
|
|
||||||
|
|
||||||
if sets.is_empty() {
|
if sets.is_empty() {
|
||||||
return Err(UUsageError::new(1, get_message("tr-error-missing-operand")));
|
return Err(UUsageError::new(1, get_message("tr-error-missing-operand")));
|
||||||
}
|
}
|
||||||
|
|
||||||
if !(delete_flag || squeeze_flag) && sets_len < 2 {
|
let sets_len = sets.len();
|
||||||
|
|
||||||
|
if !(delete_flag || squeeze_flag) && sets_len == 1 {
|
||||||
return Err(UUsageError::new(
|
return Err(UUsageError::new(
|
||||||
1,
|
1,
|
||||||
get_message_with_args(
|
get_message_with_args(
|
||||||
|
@ -67,7 +63,7 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> {
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
if delete_flag & squeeze_flag && sets_len < 2 {
|
if delete_flag && squeeze_flag && sets_len == 1 {
|
||||||
return Err(UUsageError::new(
|
return Err(UUsageError::new(
|
||||||
1,
|
1,
|
||||||
get_message_with_args(
|
get_message_with_args(
|
||||||
|
@ -147,7 +143,7 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> {
|
||||||
translate_input(&mut locked_stdin, &mut buffered_stdout, op)?;
|
translate_input(&mut locked_stdin, &mut buffered_stdout, op)?;
|
||||||
}
|
}
|
||||||
} else if squeeze_flag {
|
} else if squeeze_flag {
|
||||||
if sets_len < 2 {
|
if sets_len == 1 {
|
||||||
let op = SqueezeOperation::new(set1);
|
let op = SqueezeOperation::new(set1);
|
||||||
translate_input(&mut locked_stdin, &mut buffered_stdout, op)?;
|
translate_input(&mut locked_stdin, &mut buffered_stdout, op)?;
|
||||||
} else {
|
} else {
|
||||||
|
@ -173,6 +169,7 @@ pub fn uu_app() -> Command {
|
||||||
.version(uucore::crate_version!())
|
.version(uucore::crate_version!())
|
||||||
.about(get_message("tr-about"))
|
.about(get_message("tr-about"))
|
||||||
.override_usage(format_usage(&get_message("tr-usage")))
|
.override_usage(format_usage(&get_message("tr-usage")))
|
||||||
|
.after_help(get_message("tr-after-help"))
|
||||||
.infer_long_args(true)
|
.infer_long_args(true)
|
||||||
.trailing_var_arg(true)
|
.trailing_var_arg(true)
|
||||||
.arg(
|
.arg(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue