adjust tab

This commit is contained in:
Paul Campbell 2024-03-28 10:37:49 +00:00
parent 9ea7884232
commit a1ff73b895
3 changed files with 75 additions and 2 deletions

52
Cargo.lock generated
View file

@ -2,6 +2,15 @@
# It is not intended for manual editing.
version = 3
[[package]]
name = "aho-corasick"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
dependencies = [
"memchr",
]
[[package]]
name = "anstream"
version = "0.6.13"
@ -50,6 +59,12 @@ dependencies = [
"windows-sys",
]
[[package]]
name = "anyhow"
version = "1.0.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
[[package]]
name = "clap"
version = "4.5.4"
@ -100,7 +115,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
name = "forge-clean-log"
version = "0.1.0"
dependencies = [
"anyhow",
"clap",
"regex",
]
[[package]]
@ -109,6 +126,12 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "memchr"
version = "2.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
[[package]]
name = "proc-macro2"
version = "1.0.79"
@ -127,6 +150,35 @@ dependencies = [
"proc-macro2",
]
[[package]]
name = "regex"
version = "1.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
dependencies = [
"aho-corasick",
"memchr",
"regex-automata",
"regex-syntax",
]
[[package]]
name = "regex-automata"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
[[package]]
name = "strsim"
version = "0.11.0"

View file

@ -6,4 +6,6 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
anyhow = "1.0"
clap = { version = "4.5", features = [ "derive" ]}
regex = "1.10"

View file

@ -1,3 +1,22 @@
fn main() {
println!("Hello, world!");
use clap::Parser;
use std::{fs::read_to_string, path::PathBuf};
#[derive(clap::Parser)]
struct Cli {
#[clap(short, long, help = "The input file")]
input: PathBuf,
}
fn main() -> anyhow::Result<()> {
let cli = Cli::parse();
let re = regex::Regex::new(r"^(.*)\s+(.*)$")?;
for line in read_to_string(cli.input)?.lines() {
if let Some(caps) = re.captures(line) {
println!("{:5} {}", &caps[1], &caps[2]);
} else {
println!("{}", line);
}
println!("{}", line);
}
Ok(())
}