aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-core/src/state.rs11
-rw-r--r--helix-core/src/transaction.rs10
-rw-r--r--helix-term/src/editor.rs17
-rw-r--r--helix-view/src/view.rs2
4 files changed, 5 insertions, 35 deletions
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<Self, ()> {
- // 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::<PathBuf>("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(),
};