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
6225944a7e
fix: add missing renderer deinit() on exit
2024-05-17 21:18:54 +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
c2b734a8f6
fix: an early panic on startup if ~/.config does not exist
2024-04-23 21:28:29 +02:00
c79c684969
feat: minor improvements to LSP error handling
2024-04-21 00:02:24 +02:00
ef57339258
feat: add support for language server window/showMessage notifications
2024-04-20 23:47:34 +02:00
0523350596
feat: add support for undercurl styles
2024-04-19 22:10:27 +02:00
07571ef363
refactor: load persisted projects before file system scan
...
This should improve usability for very large projects.
2024-04-15 23:07:03 +02:00
3eba052c15
fix: shutdown race if project_manager does not exit faster than tui
2024-04-15 21:29:27 +02:00
1d9155864d
fix: prevent mini/overlay modes from stomping each other
...
Also, allow cancelling modes by clicking the flow button.
2024-04-11 18:35:33 +02:00
2416251fc3
feat: generate hover events during drag operations
2024-04-11 18:32:57 +02:00
9aea1f54f5
feat: allow runtime changing of the gutter mode
2024-04-10 22:12:19 +02:00
53554be4b0
refactor: drop dead send warnings in tui log
2024-04-10 18:37:42 +02:00
1c01773a09
fix: shutdown project_manager before restart
2024-04-08 22:28:08 +02:00