1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use crate::Error; use std::str::FromStr; #[derive(Default, PartialEq, Clone, Debug)] pub struct PaneTabs(pub Vec<usize>); impl FromStr for PaneTabs { type Err = Error; fn from_str(s: &str) -> Result<Self, Self::Err> { //let a: Vec<usize> = s.split(",").map(|c| c.parse::<usize>().unwrap()).collect(); let mut tabs = Vec::new(); for tab in s.split(',').collect::<Vec<&str>>() { tabs.push(tab.parse()?); } Ok(Self(tabs)) } }