Commit graph

62 commits

Author SHA1 Message Date
cdd6fee9d6
refactor: compare widgets via the .ptr memeber instead of via their addresses
Widget is a handle type. Sort of a smart pointer. Comparing their addresses
is brittle because it requires keeping Widget pointers stable. This is
nonsense because Widget identity is actually determined by the actual
widget object it points to.

This big refactor elimits the requirement that Widget addresses remain
stable to work properly with Widget.walk and Widget.get.
2026-02-23 21:44:24 +01:00
767d3a5bfd
fix: separate mouse and keyboard scrolling commands
So that fast_scroll and alt_scroll modes apply *only* to mouse inputs.

see #507
2026-02-18 14:50:17 +01:00
9d6fa68c97
feat: add gutter_width_mode and gutter_width_minimum/maximum config options 2026-02-12 15:29:27 +01:00
91288fa6a1
fix: gutters should only accept diff updates for their attached editor 2026-01-13 20:36:11 +01:00
6d2ad9ab5c
fix: update diff gutter on editor open events 2026-01-13 19:43:57 +01:00
53f5096ef5
refactor: move change diffs to editor 2026-01-13 18:40:25 +01:00
276b351d61
refactor: use plain bar for modifications in diff gutter 2026-01-13 18:30:01 +01:00
1fbd09387e
feat: implement proper line diffing for diff gutter 2026-01-13 18:20:51 +01:00
ce9246374c
Revert "refactor: render gutter diffs only as insert or delete"
This reverts commit a6b78397bf.
2026-01-13 16:33:16 +01:00
a6b78397bf
refactor: render gutter diffs only as insert or delete 2026-01-13 16:21:38 +01:00
2d5288aa6f
refactor: remove unused error return in Plane.put_yx and Plane.cursor_move_yx 2026-01-13 16:19:47 +01:00
cf28e27a81
refactor: add diffz support and use it for gutter diffs 2026-01-13 16:14:57 +01:00
1e02d978de
fix: render inserted and changed lines the same in the diff gutter
The diffing algo is unstable which causes the diff gutter to change
a lot while typing. This is a little annoying and not that useful so
we'll just render them the same until we get a stable diff algo.
2026-01-13 12:44:41 +01:00
9b2edba3b4
fix: focus editor on gutter click events 2026-01-06 19:22:58 +01:00
902fc0ab75
refactor: pass gutter scroll events directly to related editor 2026-01-06 19:17:25 +01:00
f7f227dd82
refactor: broadcast line numbering mode and style changes to all splits 2026-01-06 18:33:42 +01:00
1190c99212
feat: perform gutter diffing against git HEAD if available 2025-12-17 22:11:52 +01:00
c6c310b9d0
fix: crash in editor_gutter.print_digits 2025-12-16 14:45:32 +01:00
a561de6602
refactor: simplify editor "update" event 2025-12-15 20:40:51 +01:00
3c55ed876b
refactor: allow mocking of root module functions for easier unittesting 2025-10-08 14:18:03 +02:00
bf0d4402ea
refactor: lots more writergate fixes - first successful build 2025-09-25 22:01:29 +02:00
efdad96054
refactor: improve create pattern to avoid leaks 2025-07-19 00:03:30 +02:00
9b197e7209
Merge branch 'master' into zig-0.14 2025-02-21 22:08:02 +01:00
a288945609
feat: toggle gutter symbols along with inline diagnostics 2025-02-21 22:05:17 +01:00
c41cd07085
Merge branch 'master' into zig-0.14 2025-02-20 21:22:59 +01:00
b9cc3936c8
refactor: BREAKING merge gutter_line_numbers and gutter_line_numbers_relative config options into an enum 2025-02-20 21:21:55 +01:00
ec3bba2aff
feat: let mini modes inherit gutter line number modes 2025-02-20 21:21:55 +01:00
2047190dd1
Merge branch 'master' into zig-0.14 2025-02-11 10:05:14 +01:00
4dce4ad994
fix(gutter): prevent integer overlow if view top moves past file end in relative numbering mode 2025-02-11 09:58:26 +01:00
dbd8521bc2
refactor(gutter): rename rows and row to view_rows and view_top 2025-02-11 09:57:49 +01:00
f225c9c045
fix: zig-0.13 build of editor_gutter 2025-02-06 21:18:43 +01:00
812dc85bdc
refactor: move digit styles to fonts.zig 2025-02-06 21:13:28 +01:00
b3a10d7346
feat: add line number styles 2025-02-06 21:13:14 +01:00
4ae59d848a
refactor: move digit styles to fonts.zig 2025-02-05 22:49:50 +01:00
8964a361a7
feat: add line number styles 2025-02-05 22:27:58 +01:00
53045123c6
build: update to zig 0.14.0-dev.3039 2025-02-04 22:59:18 +01:00
f9e01f71f7
fix(gutter): add missing abs to rel conversion in primary_click/_drag 2025-01-24 23:23:24 +01:00
1d947ab499
refactor: improve capsulation and safety of tui module public api 2025-01-23 16:45:04 +01:00
35ca71e032
feat: add config option gutter_symbols 2025-01-14 21:37:54 +01:00
fa25d250c6
fix: improve alpha rendering on gutter 2024-12-12 19:11:54 +01:00
18f321bf41
refactor: move input types to new module and use directly use libvaxis types 2024-11-15 21:16:31 +01:00
cfb9f8cf11
refactor: remove unused parameter in set_base_style 2024-11-04 22:20:06 +01:00
0a43fa853f
feat: support rendering theme colors with alpha components 2024-11-04 22:19:45 +01:00
d412f92cc4
feat: add synchronous diff and edit support to diff module 2024-10-29 20:43:33 +01:00
16c5471126
refactor: move command and EventHandler out of the tui module 2024-10-25 22:39:04 +02:00
593b202b16
feat: add support for CRLF EOL mode 2024-09-25 20:06:06 +02:00
0542fdc680
refactor: use explicit error sets in MessageFilter and project_manager 2024-09-19 21:54:18 +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