2a3210a183
refactor: store received vcs_id and vcs_content in buffer
2025-12-17 21:12:02 +01:00
0143a7148a
refactor: add vcs_id and vcs_content fields to Buffer
2025-12-15 20:41:36 +01:00
891b80e5bb
fix: case fold find pattern in find_all_ranges mode .case_folded
2025-11-26 12:48:29 +01:00
74e7406034
fix: guarantee progress in find_all_ranges when pattern is shorter than a utf8 sequence
2025-11-26 10:22:04 +01:00
99f9f95dbc
fix: use a partial write capable case folding writer in Buffer.find_all_ranges
...
This fixes case insensitive search. Previously the case folding would fail on
input slices that contain partial utf8 sequences, which is normal in the
buffer write process design. Now these partial utf8 sequences are not consumed
and instead pushed to the next write call where they will be completed from the
main buffer contents.
2025-11-26 09:56:39 +01:00
68b17301cd
refactor: use unchecked Utf8View in utf8 transformation
...
Internally we use only validated utf8 and unchecked performs much better
and reduces unused error values.
2025-11-26 09:33:04 +01:00
abee93d366
refactor: add unicode.is_lowercase
2025-11-25 22:35:14 +01:00
64d95ee009
refactor: move FindMode to Buffer
2025-11-25 21:50:36 +01:00
3ebe68a384
refactor: implement find_all_ranges mode .case_folded
2025-11-25 21:43:12 +01:00
37428bd698
refactor: add unicode.case_folded_write
2025-11-25 21:42:51 +01:00
e35a0555f1
feat: port to_upper and to_lower to uucode
2025-11-25 21:14:59 +01:00
2ff0521040
refactor: move all zg LetterCasing usage to Buffer.unicode
2025-11-25 17:16:53 +01:00
86ec27893d
feat: implement case insensitive search (part 1)
2025-11-25 15:53:12 +01:00
4a0150d68f
refactor: add Cursor.from_pos and Seleciton.from_range
...
And use them to clean-up all root.pos_to_width call sites.
2025-11-25 14:37:05 +01:00
be41027d75
refactor: make Selection.from_pos infallible
2025-11-25 13:32:31 +01:00
8b9cc87cab
fix: add back german quotes to char_pairs
2025-11-18 10:55:36 +01:00
Igor Támara
b4b44ec906
refactor: additional characters for smart_insert
2025-11-18 10:50:47 +01:00
Igor Támara
56ea0138a5
feat: goto_bracket goes to the pair bracket under cursor
...
Uses simple matching nesting, as a complement to tree-sitter approach.
Flow mode shorcut ctrl+shit+\ ala Code
2025-11-17 18:43:42 +01:00
5e292e75b5
fix: store redo metadata along with undo metadata and restore it on redo
...
This commit refactors undo storage and handling significantly.
The undo/redo chaining in Buffer is much simpler and clearer.
The metadata generated by Editor now contains the pre and post change
states. The pre-state is restored on undo and the post-state is restored
on redo.
closes #348
2025-11-04 15:32:43 +01:00
8d0f333ad8
refactor: simplify Buffer.write_state
2025-11-03 22:14:15 +01:00
30b1329d10
refactor: move auto_save flag from Editor to Buffer
2025-11-03 22:13:54 +01:00
1f3419ec94
feat: add Selection.merge and Selection.expand functions
2025-11-03 18:29:51 +01:00
5fccffc4b6
feat: add Cursor.within predicate function
2025-11-03 18:29:32 +01:00
1d1d828097
fix: move cursor to the beginning of an egc in Cursor.clamp_to_buffer
...
closes #317
2025-11-03 16:25:22 +01:00
a0fa079a13
fix: remove workaround for Buffer.store_to_file_const bug on non-linux platforms
...
This bug was fixed in the previous commit.
2025-10-30 18:06:43 +01:00
ab4d1cdfa5
fix: always use std.Io.Writer.writeAll to avoid write underflow
2025-10-30 18:04:37 +01:00
b556c1da61
fix: add workaround for Buffer.store_to_file_const bug on non-linux platforms
2025-10-30 16:54:10 +01:00
02deaab3a7
fix: always call reload_file when re-openning an hidden non-ephemeral buffer
...
This is less confusing than just restoring the buffer as is. If the file has
changed on disk the usual expectation is to load the new contents on re-opening
the file.
closes #339
2025-10-28 16:34:44 +01:00
b463622f05
fix: allow Buffer.Manager.delete_buffer calls on dead buffers
2025-10-10 12:34:00 +02:00
5cfe2f6be4
feat: add some braile spinners to unicode.zig
...
Might be useful somewhere...
2025-10-07 20:56:55 +02:00
78cc4b2d24
fix(wsl): save without copying file mode if statFile fails
2025-10-07 10:25:55 +02:00
22e36481d6
fix: don't leak buffer names when deleting buffers
...
This commit also refactors the Buffer.Manager to make similar issues
easier to avoid in future.
2025-10-06 22:28:52 +02:00
Igor Támara
f201728457
hx: Fix closing other buffers and improve user messages
2025-10-06 21:16:33 +02:00
Igor Támara
d3e601e774
Show feedback to user when trying to quit with dirty buffers
2025-10-06 21:16:33 +02:00
Igor Támara
552417091d
feat: add helix mode close other buffers and reload all
...
* x and x! have expected behaviour in Helix mode
2025-10-06 21:16:33 +02:00
65eb6bc7ad
feat: add Selection.from_pos function
2025-10-02 16:22:55 +02:00
2f89dcba8d
fix: improve Buffer writer impl
2025-09-29 22:29:45 +02:00
f90d486eae
fix: update Buffer.store_to_string for zig-0.15
2025-09-26 21:05:16 +02:00
8f1375745d
fix: simplify and update Buffer.get_byte_pos for zig-0.15
2025-09-26 21:04:42 +02:00
2867fc9a8e
fix: update Buffer.get_line function for zig-0.15
2025-09-26 21:03:57 +02:00
0f560ed3bc
fix: Buffer.rebalance on zig-0.15
2025-09-26 15:36:25 +02:00
dfdb82ca20
refactor: move write_range to Buffer
2025-09-26 15:04:17 +02:00
705ff49ae8
fix: remove bogus assert in Buffer drain function
2025-09-26 13:17:04 +02:00
bf0d4402ea
refactor: lots more writergate fixes - first successful build
2025-09-25 22:01:29 +02:00
e6b39c274c
refactor: lots and lots of writergate changes
2025-09-24 22:30:18 +02:00
96e8100373
Merge branch 'master' into zig-0.15
2025-09-24 18:33:33 +02:00
935b178d89
feat: add Buffer.Node.byte_offset_to_line_and_col and testcase
2025-09-17 22:17:00 +02:00
f958aa3039
Merge branch 'master' into zig-0.15
2025-09-13 16:16:51 +02:00
3d90b199ad
fix: do not return zero width codepoints from egc_at
...
Skip them and return the next non-zero width codepoint. This makes more sense and
prevents endless loops in code that scans by egc width using egc_at, like
Cursor.move_right_until for example.
2025-09-13 15:45:17 +02:00
8903ca86b1
Merge branch 'master' into zig-0.15
2025-09-12 01:05:35 +02:00