diff options
| author | Teddy Wing | 2016-08-06 01:02:57 -0400 |
|---|---|---|
| committer | Teddy Wing | 2016-08-06 01:02:57 -0400 |
| commit | 7f887ca1c11a421cda96ab241ebb117c3657841c (patch) | |
| tree | 52470d7481357b872903dc0fd0efa59ac1024c71 | |
| parent | e0d5ae685c7f518647234f30978d1964a5802386 (diff) | |
| download | Passextract-7f887ca1c11a421cda96ab241ebb117c3657841c.tar.bz2 | |
Move the selection marker with `j` & `k`
The selection arrow can now be moved. Not liking the code duplication.
We'll have to figure something out to sort that.
| -rw-r--r-- | src/main.rs | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/src/main.rs b/src/main.rs index 3b08ad6..fd60bee 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,22 +5,9 @@ use rustty::ui::Painter; use std::time::Duration; -struct Selection<'a> { +struct Point { x: usize, y: usize, - terminal: &'a mut Terminal, -} - -impl<'a> Selection<'a> { - fn move_selection(&mut self, amount: usize) { - // Clear old selection cursor - self.terminal.printline(self.x, self.y, " "); - - self.y = self.y + amount; - - let knockout_cell = Cell::with_style(Color::Byte(0x07), Color::Black, Attr::Default); - self.terminal.printline_with_cell(0, 2, "->", knockout_cell); - } } fn main() { @@ -29,12 +16,12 @@ fn main() { let knockout_cell = Cell::with_style(Color::Byte(0x07), Color::Black, Attr::Default); - let selection = Selection { x: 2, y: 2, terminal: &mut term }; + let mut selection = Point { x: 0, y: 2 }; loop { term.printline(0, 0, "Passextract (Press q or Ctrl-C to quit)"); - term.printline_with_cell(0, 2, "->", knockout_cell); + term.printline_with_cell(selection.x, selection.y, "->", knockout_cell); term.printline(5, 2, "test"); let options = vec