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