406 Commits

Author SHA1 Message Date
Leonard Hecker
524b22c3c5
Fix warnings when building on macOS (#754) 2026-01-28 00:12:20 +01:00
Leonard Hecker
e5a92eb7d6
Fix the latest clippy warning (#751) 2026-01-26 23:30:31 +01:00
Leonard Hecker
ad8415fd44
Clean up error handling (#745)
* Use `io::Error` for OS error handling
  (This results in some added bloat, but is more convenient for now.)
* Add an `icu` error type
* Move `apperr` from the library into the binary

This also sneaks in a minor improvement to sorting.
The only two places we need to sort, don't need stable sorting.
(Unstable sorting is a lot faster and simpler.)
2026-01-23 13:57:42 +01:00
Leonard Hecker
9bc86c5acd
Add a glob matcher (#743)
Supports `*` and `**` patterns. That's enough for our upcoming purposes.
2026-01-22 19:49:04 +01:00
Leonard Hecker
6b6a4b2d9f
Add a JSON parser (#742)
This is a bog-standard JSONC parser. Not much to be said.
Its performance is quite alright.

Depends on #741
2026-01-21 00:05:09 +01:00
Leonard Hecker
8d9b1ede11
Add proper multithreading support to Arena (#741)
The main change is adding multithreading support in order to make JSON
unit tests work properly. The TLS overhead is not _that bad.

Other changes:
* Switch to `io::Result`, because `AllocError` doesn't
  transmit error codes (meh!)
* Reduce x86 commit chunk size to 32KiB
* Improved performance slightly by inlining harder (`alloc_uninit`)
  and outlining the result unwrap (`alloc_raw_bump`)
2026-01-20 15:11:44 -06:00
Sergio Triana Escobedo
d0db071474
Create parent directories when saving to a non-existent path (#738)
Closes #737

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2026-01-20 13:10:55 -06:00
Cal
48c2ab2949
Use platform line ending when opening single line files (#739) 2026-01-13 15:33:37 +00:00
Leonard Hecker
dbd74656a9
Fix colors with Terminal.app's Clear Dark theme (#728) 2026-01-05 17:50:36 +01:00
Stefan
fa2b1b88cc
Update man page for edit command to version 1.2.1 (#727)
Alt does not work in macOS.
2026-01-05 14:12:26 +00:00
viyic
364579a045
Add Indonesian translation (#629) 2025-12-01 21:33:40 +00:00
Leonard Hecker
3df9e7cb6c
Fix multiple issues found under Linux (#706)
Fixed:
* `sighandler_t` warning in nightly
* cppdbg + gdb pretty printing
* UTF8 parsing for SGR mouse coords
2025-12-01 15:24:27 -06:00
VenusGirl❤
d71e94b303
Improve Korean translations (#663) 2025-12-01 22:17:14 +01:00
Mr Flamel
ca661a2901
i18n: Add Estonian translations (#693) 2025-12-01 22:16:34 +01:00
Mohammad Abu Mattar
1601c3f592
i18n: Add Arabic translations (#634)
Co-authored-by: MKAbuMattar <mohamamd.khaled@outlook.com>
2025-12-01 22:15:54 +01:00
Leonard Hecker
5f284a1df9
Move arena & helpers into their own crate (#694)
This will allow us to use the `Arena` in `build.rs`.
This changeset also contains a version bump of all dependencies.
2025-12-01 21:51:55 +01:00
Tiago Mouta
82cc84a610
Add Portuguese (pt-PT) translations (#688) 2025-10-31 21:09:55 +01:00
Miteigi
c1adb12b52
Add Vietnamese translations (#669) 2025-10-17 19:08:57 +02:00
Leonard Hecker
67c401648f
Fix Rust nightly builds (#668)
`panic_immediate_abort` is being stablized as `panic = immediate-abort`
(yay!).
See: https://github.com/rust-lang/rust/issues/147286

Closes #657
2025-10-14 19:53:51 +02:00
Emir SARI
c557cdbf04
Update Turkish translations (#655) 2025-10-13 14:47:17 +00:00
Dustin L. Howett
bb569841c9
sys/win: display a useful error message when SetConsoleMode fails (#639)
edit will now display specific error messages when the console fails to
support `ENABLE_VIRTUAL_TERMINAL_INPUT`. The user will be gently
reprimanded for not using the modern console host.

It is technically possible to run edit on OpenConsole (or another third-
party console host!)--even on Windows 8.1--where it will work properly.
2025-09-09 15:24:09 -05:00
Dustin L. Howett
51d19c9487
windows: fix the compatibility section of the manifest (#635)
So, it turns out that `supportedOS` was being ignored because it was
taken to be in the default `asm.v1` namespace. :)
2025-09-05 12:58:47 -05:00
hev
ccfebb274e
Replace vseq/vand with their immediate-form variants (#630) 2025-08-29 00:31:10 +02:00
four-poetic-drew
c8fec86709
Allow opening directories via the CLI (#577)
Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-08-28 00:49:45 +02:00
Leonard Hecker
a3a6f5f8be
Various minor improvements (#625) 2025-08-25 13:18:00 -05:00
Leonard Hecker
7338c3cbbc
Move build.rs into its own directory (#623) 2025-08-25 12:54:53 -05:00
Leonard Hecker
695d88e631
Fix alpha blending formula (#594)
Since `srgb_to_linear` is non-linear we can't use it for premultiplied
colors. Instead of unpremultiplying them, I changed the rest of the app
to straight alpha and introduced types to ensure we don't mess it up.
2025-08-12 23:27:02 +02:00
Alexandru Spînu
f17552c8f6
Fix #485: Reject invalid args and allow positional args (#503)
Closes #485

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-08-12 23:25:15 +02:00
Leonard Hecker
1b7298c3b3
Separate scrolling from clicking (#603)
Closes #410
Closes #588
2025-08-12 23:22:38 +02:00
Leonard Hecker
a41267af47
Fix ctrl modifier detection for mouse input (#604) 2025-08-12 19:20:24 +02:00
hev
e2ea892426
Use unified data types in LoongArch SIMD intrinsics (#602) 2025-08-12 11:57:43 +00:00
Aloïs MASSON--CLAUDEZ
f6ca0e68ca
Fix CONTRIBUTING.md localization path (#601) 2025-08-05 21:09:40 +00:00
Aaron J Prisk
4a34873ec3
Add snapcraft.yaml (#500) 2025-08-04 21:26:26 +00:00
Leonard Hecker
4f4d093357
Fix undo grouping of backspacing (#590)
This regressed in 091b742.
2025-08-04 22:32:42 +02:00
Leonard Hecker
5962e31a83
Merge all localization PRs (#596)
I hope I got all the names right as I had to pull them out manually.
The majority of PRs required changes to make them work.

Closes #108
Closes #114
Closes #125
Closes #130
Closes #144
Closes #148
Closes #314
Closes #358
Closes #373
Closes #402
Closes #437
Closes #465
Closes #497
Closes #502
Closes #514
Closes #585

Co-authored-by: Ebrahim Byagowi <ebrahim@gnu.org>
Co-authored-by: Mads Ohm Larsen <mads.ohm@gmail.com>
Co-authored-by: william.beino <william.beino@gamifiera.com>
Co-authored-by: marinac-dev <github@regex-sh.com>
Co-authored-by: marginal23326 <58261815+marginal23326@users.noreply.github.com>
Co-authored-by: NandeMD <celikumutcan2001@gmail.com>
Co-authored-by: Mekan Soltanov <mknsltnw@gmail.com>
Co-authored-by: Þór Sigurðsson <thor@ttk.is>
Co-authored-by: Skryta Istota <48822204+hidden-being@users.noreply.github.com>
Co-authored-by: Piotr Błażejewicz <peterblazejewicz@users.noreply.github.com>
Co-authored-by: schilive <schilive100@gmail.com>
Co-authored-by: Jakub Kolčář <j.kolcar@raynet.cz>
Co-authored-by: Michael Avagianos <hello@maikkun.dev>
Co-authored-by: Ruzsinszki Gábor <ruzsinszki.gabor@gmail.com>
Co-authored-by: erithax <erithax@proton.me>
Co-authored-by: spinualexandru <spinualexandru@outlook.com>
Co-authored-by: Ronja Koistinen <ronja.koistinen@helsinki.fi>
Co-authored-by: ykarpenko <ykarpenko@netfully.com>
2025-08-01 01:05:27 +02:00
Leonard Hecker
3c41b85ae4
Compile localizations with build.rs (#591) 2025-07-31 23:36:49 +02:00
Leonard Hecker
63d2574774
Fix lines_bwd unit test (#574)
The implementation is correct, and the test was wrong.
TTD fans in shambles rn.

Closes #566
2025-07-10 00:31:52 +02:00
luisgizirian
2f48091708
Add initial devcontainer configuration for Rust environment (#496)
Closes #494

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-07-09 22:32:17 +02:00
Nukleari
e16b4abffc
feat: improve desktop file (#560)
Closes #549
2025-07-09 20:30:53 +00:00
Leonard Hecker
a43e4723e6
Fix printing help/version without TTY (#556) 2025-07-09 15:27:11 -05:00
adamjoer
dd61854ad5
Indicate unsaved work with U+25CF in the terminal title (#523)
Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-07-02 18:23:36 +02:00
hev
e9ad75685f
Add SIMD impl of memset for LoongArch (#547) 2025-07-02 15:55:19 +00:00
hev
259a198dc0
Add SIMD impl of memchr2 for LoongArch (#551) 2025-07-02 17:55:15 +02:00
hev
75a7d76072
Add SIMD impls of lines_fwd and lines_bwd for LoongArch (#539) 2025-07-02 17:53:03 +02:00
recently-avoid-dyin
71b97e95f5
Add Ctrl+L shortcut to select whole line (#541) 2025-07-02 15:20:51 +00:00
hev
d27ba98684
Optimize SIMD impl of lines_fwd and lines_bwd (#535) 2025-07-02 14:43:01 +00:00
hev
37b18c382e
Enable default features for build-std (#554)
Closes #553
2025-07-02 12:51:16 +00:00
Leonard Hecker
c34bdb0e81
Fix file truncation when writing with ICU (#548) 2025-06-30 23:41:23 +02:00
Mani Tofigh
7ece8c5a38
Fix UTF-8 buffer prepending in read_stdin (#520) 2025-06-25 15:59:06 +02:00
Brian
b4cd1f6668
Support for multiline indentation (#245)
Closes #110

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-06-24 02:05:48 +02:00