439 Commits

Author SHA1 Message Date
Leonard Hecker
d3f86975dc Fix text search on *nix (#824)
This regressed in #821.
v2.0.0
2026-04-28 17:26:08 +02:00
Mihnea-Teodor Stoica
d14e24b349 Fix zero-width regex replace (#815)
As a drive-by this also puts all replace-all
changes into a single undo group.

Tested by:
* Running Replace-All with `$` and "x": Every line gets a trailing "x",
  the final line gets a lone "x" and a new trailing newline is added.
* Running Replace with `$` and "x" repeatedly: New "x"s are added to
  each line incrementally, and it wraps around the buffer.

Closes #775

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2026-04-27 21:18:27 +00:00
Leonard Hecker
2bb7c1090a Fix stability of compare_strings_ascii (#823)
Closes #822
2026-04-27 19:31:25 +00:00
Leonard Hecker
e5f0c45748 Stop moving focus into the search box (#821)
This just annoyed me and I remember people complaining about it.
2026-04-27 20:44:52 +02:00
Leonard Hecker
de3db9b10a Further improve xterm mouse decoding (#819)
#812 didn't properly fix dragging and mouse
inputs with modifiers. It should be solid now.
2026-04-27 19:44:56 +02:00
Leonard Hecker
24e2d79b87 Fix multi-line pastes into single-line fields (#818)
Closes #643
2026-04-27 19:44:39 +02:00
Leonard Hecker
2800cbb2ef lsh: Fix PowerShell keyword lists (#820) 2026-04-27 19:44:24 +02:00
Leonard Hecker
8ed85518f0 Further improve LSH docs (#813) 2026-04-27 12:58:53 +02:00
Leonard Hecker
c8a9787607 Fix scrolling in modals (#812)
Without a node-path check, the order of UI element creation
mattered. Since models are created after the text area this
meant that the text area would steal all scroll input.

This regressed in #603
2026-04-23 19:51:49 +02:00
Leonard Hecker
9e7b938e9e Fix reading redirected input from stdin (#810)
This broke in #556, which moved the stdin reopen from `init()` into
`switch_modes()`. But `open_stdin_if_redirected()` was called inside
`handle_args()`, which runs before `switch_modes()`.
So, after #556, it would never see the reopened `stdin`.
2026-04-23 10:37:56 -05:00
Leonard Hecker
23db2ba93e Improve LSH documentation (#805) 2026-04-21 12:01:43 -07:00
Leonard Hecker
330d345a5d Align LSH language IDs with VS Code (#806)
This turns "git_commit_message" into "git-commit".
2026-04-20 15:10:55 -07:00
Leonard Hecker
d4d3f3b6dc Fix Azure pipeline (again) (#807) 2026-04-20 15:09:30 -07:00
barkure
d887414dab Handle horizontal scrolling on macOS touchpads (#794)
Co-authored-by: Leonard Hecker <leonard@hecker.io>
2026-04-17 16:25:11 -05:00
Jared Tweed
c157ff3280 feat(tools): add one-line Linux installer (curl|bash) with ICU symlink shim + docs (#628)
This PR adds tools/install.sh and a small README section to provide a
single-line Linux install (curl | bash) that builds Edit from source
across popular distros. It does not modify Edit’s code. Instead, it
prepares the system so Edit’s existing ICU-based search works reliably
by ensuring unversioned ICU SONAMEs are discoverable at runtime. This
resolves issue #616.

---------

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2026-04-17 15:39:49 -05:00
xtqqczze
7c0b3d17c1 clippy: fix ptr_as_ptr lint (#730) 2026-04-16 13:27:08 +02:00
Leonard Hecker
6468920b16 Add Shell, Python and JavaScript highlighting (#795)
Co-authored-by: barkure <43804451+barkure@users.noreply.github.com>
2026-04-07 23:26:12 +02:00
Dustin L. Howett
35b863f826 lsh: fix strings in PowerShell (#790)
- herestring terminators must be at start of line
- ` is the escape character for strings in this language
- single quoted strings do not get escapes at all
2026-03-31 18:25:11 -05:00
Leonard Hecker
c92c166ef6 Fix the Azure pipeline (#787) 2026-03-30 21:24:16 +02:00
Leonard Hecker
5820364ce4 Prepare for v2.0.0 (#785) 2026-03-30 20:10:17 +02:00
Leonard Hecker
8b24907aab Add a small fuzzing harness for LSH (#782) 2026-03-27 22:17:56 +01:00
Dustin L. Howett
4cef4eacda lsh: fix up PowerShell a bit (#784)
Make keywords case-insensitive, and add class/enum/cmdletbinding/static
to other keywords.

Disallow keywords from being followed by anything.
2026-03-27 16:17:23 -05:00
Leonard Hecker
05452ab90c Complete the initial LSH implementation (#624) 2026-03-27 19:01:09 +01:00
Leonard Hecker
d1908b0b53 Add rudimentary settings.json support (#779)
Adds settings.json loading and parsing.
For now, that's just for a `files.associations` key.

Part of #22
Part of #624
2026-03-25 20:50:24 +01:00
Leonard Hecker
fa709bade0 Integrate LSH into edit (#777)
This integrates the LSH compiler and runtime into edit.

Part of #624
2026-03-24 19:17:45 -05:00
Leonard Hecker
0bfb7a3210 Add the LSH runtime (#776)
This adds the accompanying runtime for #753.

Part of #624
2026-03-23 21:22:24 +00:00
Leonard Hecker
8ad89c849d Introduce the LSH compiler (#753)
This PR contains no CLI frontend, etc., for the compiler,
as I split out everything but the compiler to reduce the PR size.

Part of #624
2026-03-20 15:41:42 -05:00
Leonard Hecker
baa3cb05b4 Use natural sort for filenames (#763) 2026-03-19 23:57:00 +01:00
Leonard Hecker
017c0ba30d Fix an incorrect debug assert (#774) 2026-03-19 22:52:26 +00:00
Leonard Hecker
ff45b14d5e BVec::push_encode_utf16, Some micro optimizations (#764) 2026-02-14 01:51:38 +01:00
Leonard Hecker
6c79a1d7e3 Remove allocator_api (#762)
Closes #44
2026-02-12 23:23:57 +01:00
Alex Manochio
719a478cf0 Change copyright in draw_menubar.rs (#760) 2026-02-12 22:37:14 +01:00
Leonard Hecker
14c1defa25 Remove the majority of nightly features (#761)
This removes:
* breakpoint
* cold_path
* linked_list_cursors
* maybe_uninit_fill
* maybe_uninit_slice
* maybe_uninit_uninit_array_transpose
* string_from_utf8_lossy_owned

Closes #44
2026-02-12 22:28:53 +01:00
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