Commit graph

182 commits

Author SHA1 Message Date
16c5471126
refactor: move command and EventHandler out of the tui module 2024-10-25 22:39:04 +02:00
f41fb97d02
refactor: split mini modes into input mode and a ui mode 2024-10-25 19:06:23 +02:00
03cdcd260e
fix: propagate configured frame rate to widgets 2024-10-20 21:33:01 +02:00
db7f5f0224
fix: invalid config errors 2024-10-20 00:40:45 +02:00
dc25a0ea14
refactor: improve handling and reporting of project manager and lsp errors 2024-10-14 17:56:39 +02:00
1c6a832255
fix: correctly handle negative coordinates in tui.update_hover 2024-10-13 15:51:28 +02:00
f56326be80
fix: don't activate hover for widgets in top left corner on startup 2024-10-12 20:54:22 +02:00
d2238bf847
feat: make indent size and tab width configurable and add indent guide mode 2024-10-10 23:16:49 +02:00
d75dcd7b84
feat: add metadata to all commands 2024-09-17 23:00:53 +02:00
bdd16f43fb
feat: add support for command metadata 2024-09-17 23:00:48 +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
e7b3c5c91a
fix(windows): minor build fixes for windows 2024-08-31 21:02:28 +02:00
a2674c121e
feat: add save_as mini mode 2024-08-30 20:25:26 +02:00
629e6048aa
fix: use thespian.store/restore_error in tui.deinit
This prevents errors in tui.deinit, for example DEADSEND messages from timers,
from over writing the final exit message from the tui actor.
2024-08-29 16:53:54 +02:00
336ea8684e
feat: update thespian and add delay_send_cancellable tags 2024-08-29 16:52:26 +02:00
c01576412a
refactor: prefer orelse to if(pred) |x| x else y 2024-08-29 13:13:45 +02:00
0b42308321
feat: duplicate vim modes to create helix modes 2024-08-26 20:54:21 +02:00
Tim Culverhouse
d4b7a6ab9b vim: change cursor shape when only one cursor
In vim mode, change the cursor shape depending on the mode. This is only
applicable if `enable_terminal_cursor` is set to true and there is only
one cursor in the editor.
2024-08-26 20:49:54 +02:00
bff019e26e
fix: dupe top_bar and bottom_bar to keep it in scope 2024-08-25 23:26:18 +02:00
c627a49518
feat: add config option enable_terminal_color_scheme
This option defaults to off on windows because windows does not support
resetting the terminal colors on exit.

closes #26
2024-08-21 22:07:36 +02:00
231e4ccb88 feat: add open_recent_project and change_project commands 2024-08-19 20:35:05 +02:00
ea31e414ee refactor: clean-up command naming 2024-08-18 17:59:28 +02:00
4b6c08154b feat: add theme selection palette
Also, refactor to share palette code and make palettes scroll properly
with the mouse wheel.
2024-08-14 21:27:32 +02:00
22f838a2da fix: deinit tui.mouse_idle_timer after it fires 2024-08-13 23:10:09 +02:00
26ef53747d fix: don't send hover events to dead widgets 2024-08-13 22:57:21 +02:00
f53dc74e9d feat: add a mouse idle timer that clears hover state 2024-08-13 22:51:22 +02:00
50d47a73f2 feat: add mouse resizing of panel views 2024-08-13 19:38:35 +02:00
7f0f8c9ed3 feat: set terminal background to match editor 2024-08-12 23:24:10 +02:00
9b00805546 feat: avoid sigwinch handling if we detect in band resize capability 2024-08-07 21:46:46 +02:00
16ec05c75b feat: add force_terminate command 2024-07-02 12:21:40 +02:00
032982c1e8 refactor: rework error handling to simplifiy command implementation and provide better back traces 2024-06-26 23:29:39 +02:00
21b604f4d6 fix(windows): reduce idle cpu usage to zero on windows
Now we use a keepalive timer instead of forcing no-sleep to keep the work
queue from running empty and causing flow to exit early.
2024-06-26 22:24:36 +02:00
e7c8fea3f0 feat: add scrollbar to command palette 2024-06-21 01:20:17 +02:00
d4019d00b2 feat: add keybind hints to command palette 2024-06-20 22:27:13 +02:00
3ea039f41c fix(tui): reset drag context when invalidating the widget tree
This prevents a segfault if dragging and navigating at the same time.
2024-06-20 22:21:49 +02:00
da5e7873d5 refactor: remove obsolete log_widgets command 2024-06-19 17:48:50 +02:00
866451779b fix(vaxis): prevent a crash on large bracketed paste operations
Now we just serialize *all* event data and drop the grapheme cache
that was overflowing.
2024-06-19 17:39:27 +02:00
25556336b9 feat: add initial simplistic command palette implementation 2024-06-14 21:48:28 +02:00
771c1dd980 fix(tui): prevent render overload on high mouse report rates 2024-06-14 20:06:46 +02:00
701107253f fix(tui): prevent button active state from sticking 2024-06-14 19:53:57 +02:00
2faa5c6b9b feat: minor frame timing improvments 2024-06-10 21:43:00 +02:00
ee6582b469 fix: resize handling corrections 2024-06-08 20:10:17 +02:00
961e5afe41 feat: initial windows support 2024-06-07 22:12:28 +02:00
e00ceed052 refactor: update libvaxis and remove some notcurses cruft 2024-06-05 20:06:26 +02:00
f075ab7272 fix(vaxis): don't leave alternate screen before resetting the terminal 2024-05-22 21:24:50 +02:00
2d904d5122 fix(vaxis): prevent mouse drag operations from becoming sticking 2024-05-22 21:23:49 +02:00
5ca9e18ee2 fix(vaxis): use an independant thread for InputReader and leave it running
There is no need to unblock the input reader thread. It can be cleaned
up by the OS and signaling it wrecks our exit code.
2024-05-22 21:21:44 +02:00
49ad54d60c feat: implement remaining terminal handling functions via libvaxis 2024-05-22 10:40:08 +02:00
ced45d50e4 fix: use blocking tty io with libvaxis
This resolves WouldBlock issues with libvaxis and tty issues with macos.
2024-05-18 01:47:03 +02:00