reorganize things
This commit is contained in:
parent
003534efc9
commit
bf30751bd2
3 changed files with 21 additions and 19 deletions
2
src/lib.rs
Normal file
2
src/lib.rs
Normal file
|
@ -0,0 +1,2 @@
|
|||
pub mod slugify;
|
||||
pub use crate::slugify::slugify;
|
20
src/main.rs
20
src/main.rs
|
@ -1,29 +1,11 @@
|
|||
use clap::Parser;
|
||||
use slugify::slugify;
|
||||
|
||||
#[derive(Parser)]
|
||||
struct Cli {
|
||||
strings: Vec<String>,
|
||||
}
|
||||
|
||||
fn slugify(input: String) -> String {
|
||||
let mut result = input.to_lowercase();
|
||||
|
||||
result = result.replace(' ', "-");
|
||||
result = result
|
||||
.chars()
|
||||
.filter(|&c| c.is_alphanumeric() || c == '_' || c == '-')
|
||||
.collect();
|
||||
|
||||
while result.contains("--") {
|
||||
result = result.replace("--", "-");
|
||||
}
|
||||
|
||||
result = result
|
||||
.trim_matches(|c| c == ' ' || c == '-' || c == '_')
|
||||
.to_string();
|
||||
result
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let args = Cli::parse();
|
||||
let combined = args.strings.join(" ");
|
||||
|
|
18
src/slugify.rs
Normal file
18
src/slugify.rs
Normal file
|
@ -0,0 +1,18 @@
|
|||
pub fn slugify(input: String) -> String {
|
||||
let mut result = input.to_lowercase();
|
||||
|
||||
result = result.replace(' ', "-");
|
||||
result = result
|
||||
.chars()
|
||||
.filter(|&c| c.is_alphanumeric() || c == '_' || c == '-')
|
||||
.collect();
|
||||
|
||||
while result.contains("--") {
|
||||
result = result.replace("--", "-");
|
||||
}
|
||||
|
||||
result = result
|
||||
.trim_matches(|c| c == ' ' || c == '-' || c == '_')
|
||||
.to_string();
|
||||
result
|
||||
}
|
Loading…
Add table
Reference in a new issue