Commit graph

48 commits

Author SHA1 Message Date
4aca7063f2
feat: add reload_file command 2025-04-09 19:14:02 +02:00
a959563bc7
Merge branch 'master' into zig-0.14 2025-03-04 21:15:14 +01:00
e285099253
refactor: fix spelling of egc_at function 2025-03-04 18:50:38 +01:00
0cd48c5eaa
Merge branch 'master' into zig-0.14 2025-02-11 13:32:11 +01:00
d305e7844d
feat(buffer): restore eol_mode in undo/redo/reset operations 2025-02-11 11:49:20 +01:00
02ba05c500
feat(buffer): restore previous file type when switching buffers 2025-02-11 11:31:16 +01:00
53045123c6
build: update to zig 0.14.0-dev.3039 2025-02-04 22:59:18 +01:00
09e622f032
refactor(buffer): add Buffer.mark_not_ephemeral function 2025-01-30 14:04:00 +01:00
ecca2d0b4c
feat(buffers): add support for buffer metadata 2025-01-29 20:43:31 +01:00
939537ed84
feat(buffers): add support for ephemeral buffers
Ephemeral buffers are not hidden and kept when closed. Ephemeral buffers
can be turned into regular buffers by saving them with save_as.
2025-01-27 18:59:13 +01:00
304a62dfdc
feat(tasks): mark task buffers as clean when task exits 2025-01-26 21:06:52 +01:00
649d369a56
refactor(buffers): use explicit errorsets in undo functions 2025-01-26 21:06:51 +01:00
d7b48b40f1
feat(tabs): start work on a tabbar widget 2025-01-23 22:32:08 +01:00
efb3ab42fd
feat(buffers): add tracking of last modified and last used times for buffers 2025-01-21 21:59:55 +01:00
aa1e0674cc
feat(buffers): move buffer lifetime management to new Buffer.Manager module 2025-01-21 21:42:36 +01:00
fbeaefe7ff
feat(buffers): add reset_to_last_saved buffer function 2025-01-21 21:40:51 +01:00
e404c830c9
feat(buffers): define explicit errors for Buffer store functions 2025-01-21 21:40:27 +01:00
ba5f15dab8
feat(buffers): define explicit errors for Buffer load functions 2025-01-21 20:23:47 +01:00
400af298d7
fix: perform utf-8 sanitazation on buffer insert_chars 2025-01-15 11:52:24 +01:00
d3b12774c4
refactor: rename Buffer.del_chars to Buffer.delete_bytes 2024-12-19 22:41:26 +01:00
f134fdb747
fix: simplify Buffer.del_chars to use only byte offsets
This is a much faster implementation avoids duplicating work done by
Buffer.get_range. Buffer.get_range also does not have the bug reported
in #83.

The test case was also updated to reflect that get_chars now uses bytes,
instead of columns.

closes #83
2024-12-19 22:36:40 +01:00
587b707069
fix: crash if pos_to_width is given an out of range value
Possible with bad lsp diagnostics for example.
2024-12-18 16:08:51 +01:00
c0a9be21f5
feat: sanitize non utf-8 and display a status bar warning 2024-12-18 15:52:57 +01:00
ff0987c108
fix: unicode input in mini modes and palettes
closes: #81
2024-12-17 18:35:47 +01:00
b0a1b80acb
feat: add expand/shrink_selection and select_next/prev_sibling commands 2024-11-25 21:55:31 +01:00
6755eaab44
fix: convert column to byte position in inspector_view.inspect_location
fixes #54
2024-10-23 12:20:40 +02:00
a5ebaf6202
fix: clean-up bitrot in buffer tests 2024-10-22 19:04:40 +02:00
d2238bf847
feat: make indent size and tab width configurable and add indent guide mode 2024-10-10 23:16:49 +02:00
fb0531de5c
fix: reflection eol mode changes in buffer dirty state 2024-09-25 20:50:44 +02:00
593b202b16
feat: add support for CRLF EOL mode 2024-09-25 20:06:06 +02:00
bf3fe5f2ba
refactor: run zigimports
closes: #38
2024-09-10 22:25:54 +02:00
7b812d73ea
refactor: change a -> allocator 2024-09-02 14:31:49 +02:00
c01576412a
refactor: prefer orelse to if(pred) |x| x else y 2024-08-29 13:13:45 +02:00
2a735cee5c fix: sprinkle @intCast to fix 32 bit arm builds 2024-08-16 22:02:53 +02:00
b09aa98f70 feat: support loading extreamly large files
- Allocate initial file and leaf data outside of Buffer.arena
- Disable gutter diffs for very large files
- Disable syntax highlighting for very large files
2024-08-05 22:05:38 +02:00
42ee6459e6 feat: improve performance of incremental re-parsing
We use Buffer.Node.get_byte_pos instead of Buffer.Node.get_range to calculate
tree-sitter edits for incremental parsing. This reduces the number of
egc_length calls required per syntax.edit call to the minimum.
2024-07-29 21:46:34 +02:00
fb1d91585f feat: add Buffer get_from_pos function 2024-07-23 22:21:12 +02:00
f06a7b3d6a refactor(Buffer): rename Metrix to Metrics
Metrix was a bit too silly
2024-07-05 20:58:24 +02:00
633cc5a1c1 fix(tests): fix buffer tests 2024-07-05 20:53:05 +02:00
128182a448 refactor(Buffer): remove Plane dependency in Buffer 2024-07-05 00:33:31 +02:00
581dbfb749 fix(Buffer): prevent integer bit truncation crash in files with extremely long lines 2024-07-02 12:43:52 +02:00
b4c7094205 fix(Buffer): get_range should only use direction normalized selections 2024-06-13 10:39:18 +02:00
1cd3cb17ce feat: add libvaxis renderer 2024-05-10 12:44:14 +02:00
b15fa47f30 refactor: add renderer abstraction layer 2024-05-09 11:48:33 +02:00
dadf20ce34 fix: consider empty unsaved new files as clean 2024-04-22 22:42:07 +02:00
4b86579745 refactor: replace unsafe unreachable usage with @panic 2024-03-24 20:12:59 +01:00
cf22ba38e7 feat: use icons in mini mode labels 2024-03-03 22:00:08 +01:00
6bab2e6cda refactor: move buffer module to a subdirectory 2024-03-02 20:14:48 +01:00
Renamed from src/Buffer.zig (Browse further)