kitty_remote_bindings_core/
lib.rs1use std::path::PathBuf;
2
3pub trait ToArg {
4 fn to_arg(&self) -> Vec<String>;
5}
6
7impl ToArg for String {
8 fn to_arg(&self) -> Vec<String> {
9 vec![self.clone()]
10 }
11}
12
13impl ToArg for PathBuf {
14 fn to_arg(&self) -> Vec<String> {
15 vec![self.to_string_lossy().to_string()]
16 }
17}
18
19impl<T: ToArg> ToArg for &T {
20 fn to_arg(&self) -> Vec<String> {
21 (*self).to_arg()
22 }
23}
24
25impl<T: ToArg> ToArg for Vec<T> {
26 fn to_arg(&self) -> Vec<String> {
27 self.iter().flat_map(ToArg::to_arg).collect()
28 }
29}