Commit Graph

191 Commits

Author SHA1 Message Date
Leonard Hecker
2980ec8b53 Fix file picker cache not being cleared on exit 2025-05-13 02:10:56 +02:00
Leonard Hecker
9441d5f002 Sanitize multiline clipboard pastes into editlines 2025-05-13 02:04:50 +02:00
Leonard Hecker
7a724f78ac Make any container type editable 2025-05-13 01:53:25 +02:00
Leonard Hecker
cbfde9d981 Fix ArenaString::from_utf8_lossy duplicating invalid chars 2025-05-13 01:52:19 +02:00
Leonard Hecker
738254fed3 Fix parsing of invalid UTF8 in debug builds 2025-05-13 01:51:53 +02:00
Leonard Hecker
4d2729a44f Spawn the Open dialog without filename 2025-05-13 00:52:20 +02:00
Leonard Hecker
89fc267f81 3am input refactor - lefty righty uppy downy
You can now navigte with Left/Right arrow keys in more places.
Up/Down was also hooked up, but it's still a little janky.
More importantly, I finally got a chance to fix the focus path
being recorded from deepest to rootiest node. Now that it's
flipped, subtree focus checks are O(1) as they should be.
2025-05-12 03:05:35 +02:00
Leonard Hecker
d4c3eb03e3 Exit on Ctrl+W when no files are open
This helps with VS Code, because Ctrl+Q is hooked by
the main editor and the terminal never gets to see it.
2025-05-11 16:44:15 +02:00
Leonard Hecker
a3b4e2b639 Free the fuzzy matcher from heap allocs 2025-05-11 16:42:48 +02:00
Leonard Hecker
f063635b2d Improved generic vec_replace helper 2025-05-11 16:40:34 +02:00
Leonard Hecker
297e352e16 Assortment of minor changes 2025-05-11 16:40:04 +02:00
Leonard Hecker
80feb31730 Fixed ScratchArena runtime safety checks 2025-05-11 16:39:01 +02:00
Leonard Hecker
5e74072396 Slightly improved base64 performance 2025-05-11 13:35:15 +02:00
Leonard Hecker
425e575f2c Hide Save/SaveAs if there are no documents 2025-05-05 23:58:54 +02:00
Leonard Hecker
da1db8fba2 Fix word-wrap toggling 2025-05-05 23:57:31 +02:00
Leonard Hecker
1433aadda4 Improve the ErrorIcuMissing wording 2025-05-05 23:57:01 +02:00
Leonard Hecker
59ebaeb1b2 Fix compiling with stable 1.86 2025-05-05 21:31:35 +02:00
Leonard Hecker
c4e6599920 Fix drag-scrolling jumping randomly 2025-05-05 16:05:54 +02:00
Leonard Hecker
56792241de Home/End for scroll and list views 2025-05-05 15:58:45 +02:00
Leonard Hecker
e8468c6cf1 Fix x86 compilation (still not a priority target) 2025-05-05 15:13:42 +02:00
Leonard Hecker
7f4c71e759 Use an arena for allocating the NodeTree 2025-05-05 15:13:30 +02:00
Leonard Hecker
ccac6e6992 Handle OOM more gracefully 2025-05-05 15:11:01 +02:00
Leonard Hecker
7a7255b8b7 Add SI/IEC unit helpers & Fix scratch arena size 2025-05-05 15:09:36 +02:00
Leonard Hecker
1176e58dc1 Rename UcdCursor to Cursor & Simplify Default 2025-05-04 23:15:02 +02:00
Leonard Hecker
abdec836a6 Only close 1 editor on Ctrl-W 2025-05-04 23:04:19 +02:00
Leonard Hecker
20befc69b9 Fix newline translation on undo/redo 2025-05-04 21:12:40 +02:00
Leonard Hecker
556064aba3 Backspace for navigating up in the file picker 2025-05-04 19:06:39 +02:00
Leonard Hecker
046ff8eb08 Fix paste of newlines deadlocking 2025-05-04 16:44:51 +02:00
Leonard Hecker
95b3ffab1d Fix redo not restoring the buffer generation 2025-05-04 16:44:23 +02:00
Leonard Hecker
6071516697 Implement PgUp/Down for scrollviews and lists 2025-05-04 16:19:31 +02:00
Leonard Hecker
a4daf782bc Fix position jitter when reflowing modals 2025-05-04 16:19:12 +02:00
Leonard Hecker
d7b1e4c386 Show the directory in the tab picker 2025-05-04 16:10:00 +02:00
Leonard Hecker
b1a8776d8c Add ellipsis support to styled labels 2025-05-03 01:19:48 +02:00
Leonard Hecker
b88a2e0725 Fix path/filename not updating on first save 2025-05-03 01:07:25 +02:00
Leonard Hecker
905106e32b Use inodes for file dedup & Add support for symlinks 2025-05-01 14:42:42 +02:00
Leonard Hecker
b7024f1bf9 Adopt rustfmt.toml from rust-lang/rust 2025-05-01 14:39:44 +02:00
Leonard Hecker
d82a1659b6 Add ScratchArena and use it where possible 2025-05-01 13:59:57 +02:00
Leonard Hecker
e7bd798f28 Some minor project layout cleanup 2025-04-30 12:40:28 +02:00
Dustin L. Howett
d39c816d59 statusbar: display the dirty indicator in the ^P document list (#8) 2025-04-28 13:38:44 -07:00
Leonard Hecker
08ccba35a4 Multi-document support lfg
This commit contains a truly marvelous number of other changes,
which however the margin is not large enough to contain.
2025-04-28 18:39:19 +02:00
Leonard Hecker
a9d1f0a94b Implement basic (unoptimized) line unindent 2025-04-24 17:55:57 +02:00
Leonard Hecker
c799c347f5 Fix new clippy warnings 2025-04-24 16:16:51 +02:00
Leonard Hecker
c0f7a1bfaf I can't stand cyan after all 2025-04-21 18:05:41 +02:00
Leonard Hecker
755bd6617e Improve scroll/find performance in large files 2025-04-21 18:05:11 +02:00
Dustin L. Howett
c137197a9f sys/unix: Fix for icu_proc_suffix ee5b5a0 (#6) 2025-04-18 18:25:10 +02:00
Leonard Hecker
67b9a9fecd Implement menubar checkboxes 2025-04-17 21:02:33 +02:00
Leonard Hecker
c7dcf97208 Give the menu/statusbar a distinct color 2025-04-17 21:02:23 +02:00
Leonard Hecker
6cbe4b3a1a Add support for triple/quadruple clicks 2025-04-17 15:44:12 +02:00
Leonard Hecker
7d03468687 Fix performance of seeking downwards in large files 2025-04-16 22:34:57 +02:00
Leonard Hecker
ccd158e316 Remove the memchr tail-end fast-pass again
I found that on real text files it performs ever so slightly worse.
2025-04-16 22:34:08 +02:00