Commit graph

366 commits

Author SHA1 Message Date
adamjoer
dd61854ad5
Indicate unsaved work with U+25CF in the terminal title (#523)
Some checks failed
CI / check (ubuntu-latest) (push) Has been cancelled
CI / check (windows-latest) (push) Has been cancelled
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)
Some checks failed
CI / check (ubuntu-latest) (push) Has been cancelled
CI / check (windows-latest) (push) Has been cancelled
2025-06-30 23:41:23 +02:00
Mani Tofigh
7ece8c5a38
Fix UTF-8 buffer prepending in read_stdin (#520)
Some checks failed
CI / check (ubuntu-latest) (push) Has been cancelled
CI / check (windows-latest) (push) Has been cancelled
2025-06-25 15:59:06 +02:00
Brian
b4cd1f6668
Support for multiline indentation (#245)
Some checks failed
CI / check (ubuntu-latest) (push) Has been cancelled
CI / check (windows-latest) (push) Has been cancelled
Closes #110

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-06-24 02:05:48 +02:00
pheonick
796209ff48
Make whitespace inside selections visible (#397)
This PR additionally adds support for escaping C1 control codes.

Closes #34

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-06-19 17:20:10 -05:00
Julio Ramirez
091b74240c
Move lines with Alt+Up/Down (#230)
Closes #27

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-06-19 17:19:05 -05:00
Leonard Hecker
b277a1e67b
Make the ICU SONAME configurable (#495)
This PR was tested on Ubuntu with:
```
EDIT_CFG_ICUUC_SONAME=libicuuc.so.74
EDIT_CFG_ICUI18N_SONAME=libicui18n.so.74
EDIT_CFG_ICU_RENAMING_VERSION=74
cargo build --config .cargo/release.toml --release
```

Search & Replace now works flawlessly. I hope that package maintainers
will be able to make use of this when ingesting future versions of Edit.

Closes #172
2025-06-19 23:26:05 +02:00
viyic
70f5b73878
Add support for captured groups in Find & Replace (#222)
Closes #111

Co-authored-by: Leonard Hecker <leonard@hecker.io>
2025-06-17 18:51:29 -05:00
Leonard Hecker
91a9a5f808
Bump to v1.2.1 (#491)
The only change will be the inclusion of the app icon.
2025-06-17 09:59:15 -07:00
Dustin L. Howett
11ee7f0b64
assets: update to a smaller icon file (thanks Leonard!) (#478)
It is 16kb and contains the 256x256 image as well.
2025-06-14 00:02:04 +02:00
Dustin L. Howett
c44eb4297f
Add the final icon in SVG and ICO (with the full size ramp) format (#475)
Supersedes #139

Co-authored-by: Whitecat18 <smukx@5mukx.site>
2025-06-13 01:25:03 +02:00
Muhammad Danish
1f8fe1caee
build: update WinGet publish workflow to use env instead of --token (#467)
With the latest winget-create release, the preferred method for
providing the GitHub token in CI/CD environment is via the environment
variable `WINGET_CREATE_GITHUB_TOKEN`. Removed use of `--token` and
switched to environment variable. See https://aka.ms/winget-create-token
for details.
2025-06-11 14:26:27 -07:00
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