diff options
| author | Irenes <ireneista@irenes.space> | 2026-06-07 15:11:58 -0700 |
|---|---|---|
| committer | Irenes <ireneista@irenes.space> | 2026-06-07 15:12:08 -0700 |
| commit | c1afd939d85045bdfe1fc50075ec998dc3c76342 (patch) | |
| tree | 20ad3cb4bd327b62b954b86041c5fde6f186e677 /src | |
| parent | 59576466ec7f3f743664b303a3eb8a6c4a613d5c (diff) | |
This reverts commit 59576466ec7f3f743664b303a3eb8a6c4a613d5c. Reason for revert: it, uh, does not build. submitted by accident through force of habit, oops. Change-Id: Ia75d1cb3a419e171770ab23477bf874b78019acd Force-Push: well yes
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/src/main.rs b/src/main.rs index 8532f28..59d3baa 100644 --- a/src/main.rs +++ b/src/main.rs @@ -52,39 +52,6 @@ enum MovementColumnBehavior { } -struct Position { - byte_offset: usize, - row: usize, - column: usize, -} - -impl Position { - pub fn zero() -> Self { - Position { - byte_offset: 0, - row: 0, - column: 0, - } - } - - pub fn advance(&mut self, c: char) { - if c == '\n' { - self.row += 1; - self.column = 0; - self.byte_offset += 1; - } else { - self.column += 1; - self.byte_offset += 1; - } - } -} - -enum ScanStep<State, Output> { - Continue(State), - End(Output), -} - - fn main() -> ExitCode { smol::block_on(async { if let Err(e) = Ivy::new().await.run().await { @@ -532,74 +499,6 @@ impl Ivy { Ok(()) } - async fn scan_forward<State, Output>(&mut self, - mut position: Position, mut state: State, - test: impl AsyncFn(Position, State, Decode) - -> Result<ScanStep<State, Output>) - -> Result<Option<Output>> - { - let mut offset = 0; - let mut state = initial; - - loop { - let sub_span = range.start + offset .. range.end; - let mut contents = buffer.contents.write().await; - let mut cursor = Cursor::new(&mut contents[range]); - - if let Ok(decode) = encoding::read_utf8_char(&mut cursor).await { - offset += decode.skipped_bytes; - - match test(state, offset, decode)? { - Continue(new_state) => { - state = new_state; - offset += decode.found_bytes; - } - End(result) => { - return Ok(Some(result)); - } - } - } else { - return Ok(None); - } - } - } - - async fn next_word_boundary(&mut self) -> Result<()> { - let row = *self.window.read().await.cursor_row.read().await; - let buffer = self.buffer.write().await; - - if let Some(row_span) = buffer.line_span(row).await { - let mut offset = 0; - loop { - let sub_span = row_span.start + offset .. row_span.end; - let mut contents = buffer.contents.write().await; - let mut cursor = Cursor::new(&mut contents[sub_span]); - - if let Ok(decode) = encoding::read_utf8_char(&mut cursor).await { - offset += decode.skipped_bytes; - - if offset > 0 && !decode.c.is_alphanumeric() && decode.c != '_' { - break; - } else { - offset += decode.found_bytes; - } - } else { - break; - } - } - - let window = self.window.write().await; - *window.cursor_column.write().await = offset; - *window.neutral_column.write().await = offset; - } else { - let window = self.window.write().await; - *window.cursor_column.write().await = 0; - *window.neutral_column.write().await = 0; - } - - Ok(()) - } - async fn scroll_to_cursor(&mut self) -> Result<()> { let old_scroll_top = *self.window.read().await.scroll_top.read().await; |