diff options
| author | omagdy7 <omar.professional8777@gmail.com> | 2022-10-23 14:18:39 +0200 |
|---|---|---|
| committer | omagdy7 <omar.professional8777@gmail.com> | 2022-10-23 14:18:39 +0200 |
| commit | c2268a6301b276efd492e1ab020efbd9df209ba7 (patch) | |
| tree | 4c2b06840af8bcd3d92d1256cd202224e8c52fe2 /src/patterns.rs | |
| parent | b0d4f79820eecafadaffc443df57eb0d18872b9e (diff) | |
| download | gof-rs-c2268a6301b276efd492e1ab020efbd9df209ba7.tar.xz gof-rs-c2268a6301b276efd492e1ab020efbd9df209ba7.zip | |
Release under MIT and added a README file and gave credits to the pattern lexicon
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