1acc9b107e
refactor(config): BREAKING rename config option config_files to include_files
2025-01-08 14:36:47 +01:00
eaa7ad87b7
feat(win32 gui): add gui_config.json config file
2025-01-08 14:36:43 +01:00
Jonathan Marler
337b6ce626
win32 gui: rework startup/hwnd sync
2025-01-07 22:02:16 +01:00
aa95e78a80
refactor(nested config files): simplify and avoid duplicate code
...
Also, fix a small use after free bug.
2025-01-06 12:12:14 +01:00
Jonathan Marler
194fe70d6e
feat(nested config files)
...
Adds a config_files option to config.json that allows the user
to specify one or more config files to load in addition to the
main config file.
For me this allows me to keep my flow configuration in a shared dotfiles
repository managed by git.
2025-01-06 12:12:14 +01:00
7bfb9a2216
fix: remove thespian from win32 renderer module
2025-01-04 15:24:36 +01:00
9047439315
fix: merge vaxis and win32 event handling interfaces
2025-01-04 15:18:49 +01:00
1fdb5f240b
fix: always enable software cursor in gui builds
2025-01-04 15:18:49 +01:00
Jonathan Marler
1a595871dd
win32 standalone gui
2025-01-04 15:18:49 +01:00
f63b8863d1
fix: add pretty error if clipboard request is denied by terminal
...
closes #97
2025-01-03 14:32:20 +01:00
dd042e2fdd
feat: position cursor at closest glyph boundary on click when beam cursor is enabled
...
closes #99
2025-01-03 13:52:47 +01:00
919d5ee9bb
feat(whitespace): add leading, eol, tabs modes and highlight leading/trailing errors
...
This changes whitespace rendering to use a map of the visible viewport.
The view map makes it easy and fast to implement various whitespace
highlighting and rendering features.
2025-01-02 18:27:27 +01:00
afca8a86bc
feat: add configuration option default_cursor
2024-12-20 21:44:35 +01:00
ca784d1712
feat: allow cursor shape configuration for mini and overlay modes
2024-12-20 13:59:08 +01:00
e865a89ede
feat: render secondary/unfocused cursors with secondary cursor theme style
2024-12-17 21:22:49 +01:00
32d67a3972
feat: use terminal cursors for mini mode and overlay input boxes
...
closes : #80
2024-12-17 19:15:20 +01:00
e17345eff7
fix: disable fast scroll and/or jump mode when changing to mini/overlay modes
...
closes : #82
2024-12-17 17:15:41 +01:00
a5849a7dab
refactor: eliminate generic InvalidArgument errors
...
InvalidArgument is too generic and makes tracking the source of the
error potentially difficult.
2024-12-12 17:02:11 +01:00
038ed4da2b
refactor: simplify getting the active editor and selection
2024-12-11 20:54:53 +01:00
9fba9eba3c
feat: add palette for changing the current file type
2024-12-10 20:10:36 +01:00
03490a7f00
fix: missing mouse events in row/column 0
2024-12-09 18:30:12 +01:00
bc3ddba228
fix: initialize input namespace before restoring session
2024-12-05 20:23:44 +01:00
bbd42fec16
fix: don't revert to default mode on keybind namespace change
2024-12-05 19:49:02 +01:00
f8dff2a7bb
feat: render home screen based on current input mode
2024-12-05 19:48:17 +01:00
3b8982ac26
feat: move all keybind mode related options to keybind config
2024-12-03 23:04:10 +01:00
cf1befe3fa
refactor: remove config option vim_insert_chording_keybindings
2024-12-03 22:17:45 +01:00
1e3ea22fb7
fix: keep existing mode if new mode is not found in enter_mode
2024-12-02 19:39:37 +01:00
264c6ca54b
feat: dynamically determine available keybind namespaces
2024-12-01 23:24:13 +01:00
85b8ff8bea
feat: add back vim/helix mode specific commands
2024-12-01 22:06:09 +01:00
94fb5119ef
feat: make mode/namespace loading more dynamic and add fallback handling
2024-12-01 00:10:59 +01:00
26bf0de381
fix: mini_mode_paste again
2024-11-22 15:39:14 +01:00
a9e5c5b262
fix: editor paste
2024-11-22 13:43:15 +01:00
0f509df2d4
fix: paste command
2024-11-22 11:12:34 +01:00
73b7031693
feat: add insert_command_name command
2024-11-21 18:04:49 +01:00
150374afae
feat: add argument metadata to (most) commands that take parameters
2024-11-21 17:34:11 +01:00
e861bcecbe
feat: support command arguments in run_async
2024-11-20 20:13:05 +01:00
fdf0c7ada9
fix: add back async commands
2024-11-19 21:57:43 +01:00
dc914ba562
feat: load and edit key bindings in config directory
2024-11-19 18:11:22 +01:00
3af2b09891
feat: generate hints for dynamic keybindings
2024-11-19 18:08:14 +01:00
e9f170372d
fix: dispatch flush events to both input and event handlers
2024-11-17 23:31:46 +01:00
e69960c6d4
fix: CommandNotFound: exit_overlay_mode/exit_mini_mode
2024-11-17 21:31:28 +01:00
e6d2dca5c1
fix: be more careful with input_mode lifetimes
2024-11-15 23:59:07 +01:00
376d14353a
fix: improve delayed initialization of input modes
...
Input modes are not loaded immediately on startup. There is a very
short delay. During this time all input is just dropped. This is to
make sure that the input buffer is flushed of any rubbish left over
from the previous application.
This commit fixes delayed initialization in cases where an input mode
is switched immediately on startup. For example when the home screen
loads.
2024-11-15 22:26:15 +01:00
18f321bf41
refactor: move input types to new module and use directly use libvaxis types
2024-11-15 21:16:31 +01:00
ced130b4f4
refactor: move helix mode keybindings to keybind module
2024-11-12 22:35:38 +01:00
d75e3dd9e3
fix: mode name in home mode
2024-11-12 22:20:58 +01:00
cf50f77abf
refactor: move vim mode keybindings to keybind module
2024-11-12 22:20:02 +01:00
4be4fe76e9
refactor: move flow mode keybindings to keybind module
2024-11-12 21:46:54 +01:00
07a412c2b2
refactor: move home keybindings to keybind module
2024-11-12 21:37:31 +01:00
bf6e4f49b8
feat: set terminal cursor color to match theme
2024-11-07 10:54:43 +01:00