diff --git a/helix-core/src/state.rs b/helix-core/src/state.rs index ed0df9cf..d8aa3ed4 100644 --- a/helix-core/src/state.rs +++ b/helix-core/src/state.rs @@ -261,20 +261,11 @@ impl State { granularity: Granularity, count: usize, ) -> Selection { - // TODO: move all selections according to normal cursor move semantics by collapsing it + // move all selections according to normal cursor move semantics by collapsing it // into cursors and moving them vertically self.selection.transform(|range| { - // let pos = if !range.is_empty() { - // // if selection already exists, bump it to the start or end of current select first - // if dir == Direction::Backward { - // range.from() - // } else { - // range.to() - // } - // } else { let pos = self.move_pos(range.head, dir, granularity, count); - // }; Range::new(pos, pos) }) } diff --git a/helix-core/src/transaction.rs b/helix-core/src/transaction.rs index 33612ecf..dfb1bbe1 100644 --- a/helix-core/src/transaction.rs +++ b/helix-core/src/transaction.rs @@ -45,12 +45,7 @@ impl ChangeSet { /// In other words, If `this` goes `docA` → `docB` and `other` represents `docB` → `docC`, the /// returned value will represent the change `docA` → `docC`. pub fn compose(self, other: ChangeSet) -> Result { - // TODO: len before should match len after - - // if self.len != other.len { - // // length mismatch - // return Err(()); - // } + // TODO: len before b should match len after a let len = self.changes.len(); @@ -335,9 +330,6 @@ impl ChangeSet { } } -// trait Transaction -// trait StrictTransaction - /// Transaction represents a single undoable unit of changes. Several changes can be grouped into /// a single transaction. #[derive(Debug, Clone)] diff --git a/helix-term/src/editor.rs b/helix-term/src/editor.rs index b7a385a1..60d9e079 100644 --- a/helix-term/src/editor.rs +++ b/helix-term/src/editor.rs @@ -52,7 +52,6 @@ impl Editor { size, surface: Surface::empty(area), cache: Surface::empty(area), - // TODO; move to state }; if let Some(file) = args.values_of_t::("files").unwrap().pop() { @@ -225,15 +224,7 @@ impl Editor { // lavender } - // let lines = state - // .doc - // .lines_at(self.first_line as usize) - // .take(self.size.1 as usize) - // .map(|x| x.as_str().unwrap()); - // // iterate over selections and render them - // let select = Style::default().bg(tui::style::Color::LightBlue); - // let text = state.doc.slice(..); // for range in state.selection.ranges() { // // get terminal coords for x,y for each range pos // // TODO: this won't work with multiline @@ -246,8 +237,6 @@ impl Editor { // (y2 - y1 + 1) as u16, // ); // self.surface.set_style(area, select); - - // // TODO: don't highlight next char in append mode // } // statusline @@ -330,13 +319,13 @@ impl Editor { } Some(Ok(Event::Key(event))) => { + // TODO: sequences (`gg`) + // TODO: handle count other than 1 if let Some(view) = &mut self.view { match view.state.mode() { Mode::Insert => { - // TODO: handle modes and sequences (`gg`) let keys = vec![event]; if let Some(command) = keymap[&Mode::Insert].get(&keys) { - // TODO: handle count other than 1 command(view, 1); } else if let KeyEvent { code: KeyCode::Char(c), @@ -350,10 +339,8 @@ impl Editor { self.render(); } Mode::Normal => { - // TODO: handle modes and sequences (`gg`) let keys = vec![event]; if let Some(command) = keymap[&Mode::Normal].get(&keys) { - // TODO: handle count other than 1 command(view, 1); // TODO: simplistic ensure cursor in view for now diff --git a/helix-view/src/view.rs b/helix-view/src/view.rs index 732c5081..8b677adc 100644 --- a/helix-view/src/view.rs +++ b/helix-view/src/view.rs @@ -25,7 +25,7 @@ impl View { let view = Self { state, first_line: 0, - size, // TODO: pass in from term + size, theme, history: History::default(), };