diff options
Diffstat (limited to 'src/patterns.rs')
| -rw-r--r-- | src/patterns.rs | 2638 |
1 files changed, 2638 insertions, 0 deletions
diff --git a/src/patterns.rs b/src/patterns.rs new file mode 100644 index 0000000..8a6f224 --- /dev/null +++ b/src/patterns.rs @@ -0,0 +1,2638 @@ +// use std::path::Path; +// use crate::generation::*; +// use tui::{ +// backend::{Backend, CrosstermBackend}, +// layout::{Alignment, Constraint, Corner, Direction, Layout, Rect}, +// style::{Color, Modifier, Style}, +// text::{Span, Spans}, +// widgets::{Block, Borders, List, ListItem, ListState, Paragraph}, +// Frame, Terminal, +// }; +// +// +// pub struct StatefulList<T> { +// pub state: ListState, +// pub items: Vec<T>, +// } +// +// impl<T> StatefulList<T> { +// fn with_items(items: Vec<T>) -> StatefulList<T> { +// StatefulList { +// state: ListState::default(), +// items, +// } +// } +// +// pub fn next(&mut self) { +// let i = match self.state.selected() { +// Some(i) => { +// if i >= self.items.len() - 1 { +// 0 +// } else { +// i + 1 +// } +// } +// None => 0, +// }; +// self.state.select(Some(i)); +// } +// +// pub fn previous(&mut self) { +// let i = match self.state.selected() { +// Some(i) => { +// if i == 0 { +// self.items.len() - 1 +// } else { +// i - 1 +// } +// } +// None => 0, +// }; +// self.state.select(Some(i)); +// } +// +// pub fn unselect(&mut self) { +// self.state.select(None); +// } +// } +// +// pub struct App<'a> { +// pub items: StatefulList<(&'a str, &'a Path)>, +// pub flag_cur: bool, +// pub layout: Layout, +// pub cur_gen: Gen, +// } +// +// impl<'a> App<'a> { +// pub fn new() -> App<'a> { +// App { +// items: StatefulList::with_items(PATTERNS), +// flag_cur: false, +// layout: Layout::default() +// .direction(Direction::Horizontal) +// .constraints([Constraint::Percentage(15), Constraint::Percentage(85)].as_ref()), +// cur_gen: Gen::new(), +// } +// } +// } +// +// static PATTERNS: Vec<(&'static str, &'static Path)> = vec