Commit graph

13 commits

Author SHA1 Message Date
Leonard Hecker
c5d91f301e
Large clipboard handling overhaul (#405)
* Make each paste its own undo step.
* Add a `Paste` input type, allowing us to...
* Fill the internal clipboard with bracketed paste contents.
* Abstract away clipboard handling into its own struct, so we can move
  the cut/copy/paste logic into `TextBuffer`, allowing us to...
* Implement smart line-wise copy/paste via Ctrl+C/Ctrl+V.

Closes #286
Closes #305
2025-06-10 19:49:27 +02:00
Leonard Hecker
065fa748cf
Add specialized SIMD line seeking routines (#408)
Some checks are pending
CI / check (ubuntu-latest) (push) Waiting to run
CI / check (windows-latest) (push) Waiting to run
The previous `memchr` loop had the fatal flaw that it would break out
of the SIMD routines every time it hit a newline. This resulted in a
throughput drop down to ~250MB/s on my system in the worst case.
By writing SIMD routines specific to newline seeking, we can bump
that up by >500x. Navigating through a 1GB of text now takes ~16ms
independent of the contents.
2025-06-05 12:34:07 -05:00
Leonard Hecker
a3d9aac8f0
Add buffer benchmarks (#403)
Some checks are pending
CI / check (ubuntu-latest) (push) Waiting to run
CI / check (windows-latest) (push) Waiting to run
Also includes:
* criterion update to v0.6
* Simplify range parameter for `GapBuffer::extract_raw`
* Allow deleting multiple units via `TextBuffer::delete`
* And some additional smaller improvements
2025-06-03 18:05:16 +02:00
Leonard Hecker
d17cf66c7c Add copyright headers to all files 2025-05-17 20:50:47 +02:00
Leonard Hecker
cebf063bd7 Add oklab benchmarks 2025-05-17 20:50:47 +02:00
Leonard Hecker
01a5a885ec Restructure the project 2025-05-16 00:48:46 +02:00
Leonard Hecker
75db7c509f Improved benchmark structure 2025-05-11 13:34:49 +02:00
Leonard Hecker
b7024f1bf9 Adopt rustfmt.toml from rust-lang/rust 2025-05-01 14:39:44 +02:00
Leonard Hecker
2981345a7b Implement vectorized memset & use opt-level=s 2025-04-16 15:19:03 +02:00
Leonard Hecker
774c85297e An assortment of minor changes 2025-04-13 01:28:11 +02:00
Leonard Hecker
2cdbf773aa Some minor framebuffer optimizations & comments 2025-04-09 16:55:13 +02:00
Leonard Hecker
1e6da2e93d Extend and improve ucd benchmark 2025-03-28 22:53:32 +01:00
Leonard Hecker
31413afc34 Add criterion and a first benchmark 2025-03-25 20:03:19 +01:00