Commit graph

1018 commits

Author SHA1 Message Date
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
ce9c5ea23d fix(vaxis): correct key range in synthesized_p
This was causing left and right arrow keys to input garbage into
mini mode editors.
2024-06-20 22:20:07 +02:00
e8c59b36d3 fix(lsp): improve error reporting on LSP early exit 2024-06-20 10:06:47 +02:00
b4bc8276f8 fix(palette): select first item in command palette after query 2024-06-19 17:52:53 +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
0dd9cb179e feat: open the command palette when clicking the modestate widget
Instead of switching input modes, which can now be done via the
command palette instead.
2024-06-19 17:37:59 +02:00
27c5e940f5 feat: bind command palette to ':' in vim modes 2024-06-19 17:37:29 +02:00
0a3efee633 feat: add fuzzy matching to command palette 2024-06-19 17:37:09 +02:00
88a036113b fix(palette): correct resize handling in command_palette 2024-06-18 21:14:31 +02:00
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