29 lines
538 B
Rust
29 lines
538 B
Rust
use shared::names::Site;
|
|
|
|
pub(super) enum PrintOptions {
|
|
Url,
|
|
Name,
|
|
All,
|
|
}
|
|
|
|
pub(super) fn site_string(site: &Site, options: PrintOptions, separator: &String) -> String {
|
|
let mut string = String::new();
|
|
|
|
if matches!(options, PrintOptions::Url) || matches!(options, PrintOptions::All) {
|
|
string += &site.url;
|
|
}
|
|
|
|
if let Some(name) = &site.name {
|
|
if matches!(options, PrintOptions::Url) {
|
|
return string;
|
|
}
|
|
if !string.is_empty() {
|
|
string += &format!("{}{}", separator, name)
|
|
} else {
|
|
string += name;
|
|
}
|
|
}
|
|
|
|
string
|
|
}
|