Commit Graph

348 Commits

Author SHA1 Message Date
Leonard Hecker
9d8eb8fec8 Bump to 1.2.0 (#466) 2025-06-11 22:50:36 +02:00
Leonard Hecker
e779c16ac6 Make file picker autocompletion case-insensitive (#464) 2025-06-11 22:30:37 +02:00
Leonard Hecker
0e60e50565 Rename "Document Picker" to "Go to File" (#456)
Closes #445
2025-06-10 19:49:32 +02:00
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
a36fbe322d Fix another ICU Find & Replace hang (#459)
Closes #450
2025-06-10 19:43:45 +02:00
0x4C33
90bf080e06 Add filename autocompletion to Open/Save dialog (#185)
Closes #28

Co-authored-by: idawnlight <idawn@live.com>
Co-authored-by: zbx1425 <support@zbx1425.cn>
Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-06-10 19:35:11 +02:00
Jared Irwin
287d17af57 Make sure margin gets updated (#436)
Closes #431

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-06-10 19:34:28 +02:00
Leonard Hecker
c36be6f879 Fix UB in scratch_arena (#455)
Closes #426
Closes #427
2025-06-10 19:34:14 +02:00
Leonard Hecker
b93609ccfb Fix state management of the file picker list (#454)
Closes #347
2025-06-10 19:34:05 +02:00
Leonard Hecker
e693aa527d Fix Find & Replace with empty replacements (#457)
Closes #439
2025-06-10 19:33:45 +02:00
Leonard Hecker
ea05dee087 Add support for Alt+Up in the File Picker (#458)
As suggested in #347
2025-06-10 19:33:30 +02:00
Leonard Hecker
36e9e44669 Fix modals not clearing attributes (#460) 2025-06-10 12:31:23 -05:00
Mark Oborne
2e56fa6ef1 Do not render View menu when no documents are active (#447)
Closes #430

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-06-10 12:17:10 -05:00
Keiran
4b2fe697e8 Jump to the next search result with F3 (#453)
Closes #441

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-06-10 12:16:31 -05:00
Nikita Samusev
f0cb63b089 Add a CodeLLDB launch option for VSCode (#444) 2025-06-10 11:51:24 +00:00
sakuram-dev
8970ac986e Fix Vec<T> formatting in docs (#435) 2025-06-10 13:50:15 +02:00
Leonard Hecker
72fb5f1336 Fix mismatched-lifetime-syntaxes clippy warnings (#451) 2025-06-09 17:47:45 -05:00
Maciej
5c5471e944 Add filtering & Use MIME aliases for the encoding picker (#255)
Closes #26

Co-authored-by: Maciej Bartczak <39600846+maciekbartczak@users.noreply.github.com>
Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-06-05 23:02:47 +02:00
Leonard Hecker
2ea4c32dea Use long blocking reads for setup_terminal (#424)
As per James Holderness' suggestion, we actually don't
need ESC timeouts here. In this phase of the app, escape
chars are very unlikely to be from keyboard input.
2025-06-05 15:34:21 -05:00
Leonard Hecker
931016874b Codify an official recommendation for package names (#423)
The recommendation is based on the poll at:
https://github.com/microsoft/edit/discussions/341

This PR also includes a neat overview table for packages.

Co-Authored-By: Shun Sakai <sorairolake@protonmail.ch>
2025-06-05 20:23:43 +00:00
Leonard Hecker
065fa748cf Add specialized SIMD line seeking routines (#408)
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
6a7ff206a2 Close documents after saving them (#429)
Closes #307
2025-06-05 19:31:53 +02:00
Leonard Hecker
f8bea2be19 Implement support for Ambiguous = Wide (#406)
Does what it says on the tin. It's just a lot in the can.

Closes #115
2025-06-04 23:39:56 +02:00
Shun Sakai
db1e813603 Add readme/categories to Cargo.toml (#415) 2025-06-04 21:01:12 +00:00
Linda_pp
795f576f6a Remove redundant heap allocation in DisplayablePathBuf::from_string (#336)
`DisplayablePathBuf::from_string` allocates two heap memories for
`PathBuf` and `Cow::Owned`. However, it can be stored as `Cow::Borrowed`
because `String` guarantees UTF-8 sequence. This can remove one
redundant heap allocation.
2025-06-04 13:55:03 -07:00
Leonard Hecker
bc420d517c Remove dependency on os_string_truncate (#421)
This is an alternative approach to #176.

Closes #176

Co-authored-by: Matthew Brown <matthew.e.brown.17@gmail.com>
2025-06-04 20:51:00 +00:00
Leonard Hecker
e87e66e9d4 Add a rudimentary .desktop file (#420)
Closes #107

Co-authored-by: Mingcong Bai <jeffbai@aosc.io>
2025-06-04 20:45:36 +00:00
L1quidH2O
239cde5f72 Add LineCache to optimize newlines lookup (#352)
This code was originally written for speeding up line searches but was disabled since we've since optimized line seeking with SIMD. We'll still have use for this code in the future, however, to cache syntax highlighter state every N lines.
2025-06-04 22:38:42 +02:00
Shersheial 🕍
57e921822e Use colon : Instead of forward slash / for clarity (#354)
The input field expects a `:` as a line:col separator, why not put that
in the title as well.
2025-06-04 13:32:49 -07:00
Dustin L. Howett
4f3d855afa buffer: show control char visualizers in yellow (#378) 2025-06-04 22:32:30 +02:00
Leonard Hecker
22e06eb56c Fix the fallback theme colors (#417) 2025-06-04 18:00:42 +02:00
Leonard Hecker
03a4e399f2 Experiment with a 100ms timeout on ESC (#416)
Related: #243
See: https://github.com/PowerShell/Win32-OpenSSH/issues/2275
2025-06-04 18:00:31 +02:00
Leonard Hecker
7e28e7291a Don't reset Xterm's meta-sends-escape on exit (#413)
Closes #395
2025-06-03 16:47:41 -07:00
Leonard Hecker
b2897cf48c Fix cursor_move_to_visual not moving backward (#412)
Closes #411
2025-06-03 16:34:36 -07:00
Leonard Hecker
a3d9aac8f0 Add buffer benchmarks (#403)
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
f07d3c3eb4 Fix a virtual memory leak on Windows (#404) 2025-06-03 17:47:35 +02:00
Leonard Hecker
52286fcf02 Replace winres with winresource (#407)
Apparently `winres` is unmaintained and
`winresource` contains additional bug fixes.
2025-06-03 17:47:26 +02:00
Keks137
ffa98fefb5 Improved grammar for German LargeClipboardWarning (#384) 2025-06-02 14:27:09 +02:00
Kiril Ivanov
6fc049713b Fix inconsistent ellipses in localization (#282) 2025-05-31 15:03:47 +02:00
Dustin L. Howett
65c3f042c3 menu: hide "Close Editor" if there is no open editor (#376) 2025-05-30 22:24:49 +02:00
Dustin L. Howett
d898b704e3 ci: rename and add [push] to triggers (#365)
I think this workflow needs to run on push to `main` _as well as_ pull
request to main so that it shows up as an available branch protection
status check.

Given that it's not just PRs any longer, I renamed it too.
2025-05-30 13:47:23 +02:00
Leonard Hecker
6c1d1848b2 Add a CI check for PRs (#360)
Closes #339
2025-05-30 01:22:08 +02:00
Muhammad Danish
a82483d9ef Add CI action for publishing package to WinGet (#189)
This is similar to the one in microsoft/terminal,
and uses wingetcreate.
v1.1.0
2025-05-28 08:26:00 -07:00
Leonard Hecker
0b86e94c67 Bump version to v1.1.0 (#331) 2025-05-28 01:11:58 +02:00
diablo.project
b8459f9fd3 Allow Alt-based navigation on macOS (#207)
Closes #180

---------

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-05-28 01:10:20 +02:00
Leonard Hecker
e5fcb0b6a7 Avoid changing file picker selection when typing (#330)
Closes #329
2025-05-28 00:58:55 +02:00
Leonard Hecker
1381d9b79b Fix another stale cache bug with the ICU search (#327)
Closes #57
2025-05-27 23:12:08 +02:00
Leonard Hecker
45f597a3bb Don't exit on Ctrl+W (#326)
Closes #175
2025-05-27 23:12:04 +02:00
Dustin L. Howett
2cb9523d26 build: make the build pipeline produce the ZIP (#328)
Perhaps the next time we make a release,
Windows Defender won't consider it a virus?
2025-05-27 23:11:48 +02:00
aspizu
c9136dcc0b feat: use ballot checkbox for checked checkboxes (#321) 2025-05-27 20:46:01 +02:00