Commit graph

857 commits

Author SHA1 Message Date
c9debbabf4 fix(renderer.Loop): prevent read buffer overflow on very large escape sequences 2024-06-18 21:11:06 +02:00
d9a4e5e38d refactor(minilog): use a timer to clear the minilog
Instead of abusing the render clock.
2024-06-18 20:11:09 +02:00
86b91dc0de fix(editor): stop render clock running endlessly on restore 2024-06-18 20:04:19 +02:00
25556336b9 feat: add initial simplistic command palette implementation 2024-06-14 21:48:28 +02:00
acd65d0157 fix: menu and open_recent resize handling 2024-06-14 20:41:01 +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
34bbfd49ad fix(editor): store current cursor position correctly on initial undo 2024-06-13 20:21:09 +02:00
4812dd9793 fix(editor): don't leak PosToWidthCache on editor render 2024-06-13 17:36:42 +02:00
3dc56ea6db fix(log): allow std.log calls outside of actor contexts 2024-06-13 16:56:49 +02:00
b4c7094205 fix(Buffer): get_range should only use direction normalized selections 2024-06-13 10:39:18 +02:00
2faa5c6b9b feat: minor frame timing improvments 2024-06-10 21:43:00 +02:00
c1ce38daaa fix: ignore extended modifier bits 2024-06-09 00:29:12 +02:00
2590a1ac11 fix: prevent error.OutOfMemory when filtering very large messages 2024-06-08 20:10:17 +02:00
b4a37c9eb3 fix(windows): place config and cache dirs in %APPDATA%/Roaming on Windows 2024-06-08 20:10:17 +02:00
805003cc77 fix: fallback to treating cli args with colons as plain filenames
This allows us to open files that contain colons if they do not otherwise
look like file:row:col. This also fixes opening absolute file paths on Windows.
2024-06-08 20:10:17 +02:00
4d8d538c9a fix(windows): force no-sleep mode on windows
This is possibly just a workaround. Sleeping on windows causes the task queue
to run empty even though we have pending async reads. This is possibly an
issue with asio on windows that may be difficult to fix properly. For now
we just disable sleeping altogether and leave the frame metronome running
which will keep flow alive.
2024-06-08 20:10:17 +02:00
ee6582b469 fix: resize handling corrections 2024-06-08 20:10:17 +02:00
de25501053 fix: avoid libvaxis startup crash on windows with a dummy resize event 2024-06-08 16:41:46 +02:00
961e5afe41 feat: initial windows support 2024-06-07 22:12:28 +02:00
60218a06b7 feat: use language specific formatters defined in flow-syntax/file_types 2024-06-06 21:12:26 +02:00
3bd10e106d refactor: remove notcurses renderer 2024-06-05 22:02:26 +02:00
9371ee2963 fix: crash on move_page_down if file size is exactly view size 2024-06-05 21:13:58 +02:00
e00ceed052 refactor: update libvaxis and remove some notcurses cruft 2024-06-05 20:06:26 +02:00
f72bbc4963 fix: add output buffering on render 2024-06-04 23:15:43 +02:00
2338489da3 build: update to latest zig and libvaxis and remove notcurses dependency 2024-06-04 23:14:43 +02:00
87462bfcdc feat: update libvaxis 2024-05-27 21:49:02 +02:00
54ee8b437b feat: improve styling of minilog and logview 2024-05-27 21:28:53 +02:00
b56290d640 fix(vaxis): check modifier state is in sync on every input event 2024-05-27 21:26:58 +02:00
ce8ebce3c4 fix: correct fallback style on home screen menu 2024-05-26 20:44:54 +02:00
e073e5f3db fix: force legacy sgr rendering for broadest compatiblity
This fixes rendering in Windows Terminal and possibly others.

Flow now works correctly in kitty, ghostty, iterm2, gnome-terminal, konsole,
xterm, rxvt, alacritty, wezterm, foot and windows terminal.
2024-05-23 22:27:23 +02:00
d339ac77d3 fix(vaxis): add vaxis compatible keybindings for modified F keys 2024-05-23 20:47:24 +02:00
f1fa8fe883 fix(vaxis): report zero length for cells containing spaces in at_cursor_cell
This fixes diagnostics messages not displaying
2024-05-22 22:59:40 +02:00
c1b6817493 build: update libvaxis 2024-05-22 22:09:58 +02:00
312d24ed5e fix(vaxis): add missing system_clipboard_allocator 2024-05-22 22:03:55 +02:00
1d698afe55 fix(vaxis): enable pixel mouse mode only if detected
And use translated cell + offset coordinates for compatibility with
terminals that do not support pixel mouse mode.
2024-05-22 21:26:02 +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
dc21e7f6ac feat(vaxis): reset terminal state on panic with a custom panic handler 2024-05-22 21:19:48 +02:00
49ad54d60c feat: implement remaining terminal handling functions via libvaxis 2024-05-22 10:40:08 +02:00
36f167221e feat: enable pixel mouse coordinates in libvaxis 2024-05-22 10:39:15 +02:00
453fb12055 fix: add missing need_render() calls for commands that are not directly input triggered 2024-05-20 19:18:03 +02:00
26232c3af3 fix: allow wrapping in putstr calls on scrollable vaxis planes 2024-05-20 11:06:27 +02:00
b3543f520c refactor: use immediate rendering in inputview
The libvaxis backend does not support persistent rendering.
2024-05-19 21:21:17 +02:00
165d7d94b6 feat: make logview persist message when not shown 2024-05-19 21:16:05 +02:00
c32e2005b9 fix: hover and select menu styles on home screen 2024-05-18 17:02:45 +02:00
855c11292e fix: improve rendering of home screen 2024-05-18 16:49:45 +02:00
8c9338ddd2 feat: add support for scrolling and transparent windows in vaxis backend 2024-05-18 16:49:01 +02:00
0707b52d8a fix: re-eanble differential updates in vaxis backend 2024-05-18 16:47:34 +02:00