Commit graph

662 commits

Author SHA1 Message Date
Meredith Oleander
70f0d8bea6
add helix selection internal tweaks 2025-01-19 17:37:36 +01:00
Meredith Oleander
3e65503902
develop helix cursor mode 2025-01-19 17:37:33 +01:00
9fc8e3edc3
fix(editor): send editor view and cursor position updates when number of document lines changes
closes #162
2025-01-19 12:10:59 +01:00
9f29853cd6
Merge pull request #149 from travisstaloch/lsp-rename
implement lsp rename
2025-01-18 23:33:25 +01:00
461726e10e
feat: add pause_undo and resume_undo commands
closes #91
2025-01-18 22:59:50 +01:00
4277f0f57b
feat(lsp): rename_symbol: add support for LSPs that do send document updates for renames 2025-01-18 20:34:14 +01:00
80cb31f75a
feat: copy current line if there is no selection
closes #160
2025-01-18 17:16:00 +01:00
f61c6c7f87
fix: cancel when clicking outside of a palette instead of activating the current item 2025-01-18 12:52:55 +01:00
48efa5536f
fix: use after free on fast project switching 2025-01-17 21:13:47 +01:00
d2735a5dd7
fix: prevent an integer overflow in editor.cancel_all_selections() on project switch 2025-01-17 20:52:34 +01:00
e1b1591167
feat(win32 gui): add font selection palette
closes #102
2025-01-17 20:32:20 +01:00
04b77b4d28
fix(lsp): rename_symbol: convert columns to byte offsets and back 2025-01-17 15:56:46 +01:00
155c1f663d
feat(lsp): rename_symbol: treat out-of-file edits as references 2025-01-16 23:02:52 +01:00
a449e0ec97
feat(lsp): rename_symbol: add cursors at rename points for interactive rename 2025-01-16 22:23:03 +01:00
e597fee2e5
feat(lsp): rename_symbol: decode and normalize file uri 2025-01-16 22:22:34 +01:00
Travis Staloch
bfdeffc70f
lsp-rename: minor cosmetic cleanups 2025-01-16 22:04:38 +01:00
Travis Staloch
1c37de6c29
feat(lsp): buffer renames in order to send a single, atomic message 2025-01-16 22:04:38 +01:00
Travis Staloch
1fd4455adb
feat(lsp): initial support for textDocument/rename
flow keybinds: changes f2 from toggle_input_mode to rename_symbol and
moves toggle_input_mode command to ctrl+shift+f2 (since ctrl+f2 is
already bound to insert_command_name)

the replacement text is hard coded for now. i've checked that replace
works with zls and pylsp which send WorkspaceEdit response messages in
different shapes - zls sends shape `{"changes": {}}` while pylsp sends
`{"documentChanges": []}`.

currently the 'rename_symbol_item' commands are sent one at a time.
however they should be buffered and be performed between one
buf_for_update, update_buf pair.  this will be addressed in a follow up.
2025-01-16 22:04:35 +01:00
dcddd373b5
feat(find_in_files): clear file list and log if no matches are found 2025-01-15 14:23:30 +01:00
9d6b760f03
feat: remove single trailing new line in shell_execute_insert 2025-01-15 11:26:17 +01:00
35ca71e032
feat: add config option gutter_symbols 2025-01-14 21:37:54 +01:00
6530a7a51c
feat(win32 gui): add reset_fontsize and rest_fontface commands 2025-01-14 19:54:51 +01:00
e09df735a5
feat: remove existing cursor if clicked again in add cursor mode
closes #146
2025-01-14 17:48:26 +01:00
7d138a742c feat(win32 gui): add set_fontface and set_fontsize commands 2025-01-10 23:10:59 +01:00
João Pedro
a21f0e6ac5 Fix half and whole page movements 2025-01-10 22:34:42 +01:00
5300e3346d feat(win32 gui): add adjust_fontsize command to zoom in/out 2025-01-09 20:08:12 +01:00
caeb3fc338
feat(config): migrate to a simpler config file format 2025-01-08 22:14:29 +01:00
9e4e81eb0d
feat(win32 gui): read fontface and size from gui_config 2025-01-08 15:57:38 +01:00
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
e1f0a4d074
feat: add sample binding of shell_execute_log 2025-01-07 23:08:24 +01:00
cfc99b61dc
feat: add commands to execute shell tasks from keybindings
This is the first part of #67.
2025-01-07 22:45:29 +01:00
Jonathan Marler
337b6ce626 win32 gui: rework startup/hwnd sync 2025-01-07 22:02:16 +01:00
0c7f19b5dd feat: support matching of shifted keybindings
This allows us to bind things like alt+F and ctrl+?. Binding
with and explicit shift modifier is still allowed, such as alt+shift+f.
2025-01-07 14:53:34 +01:00
Jonathan Marler
064522959b more emacs bindings 2025-01-06 20:28:24 +01:00
206e23a603
fix: crash on rendering zero width chars 2025-01-06 16:15:59 +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
7cbd63accd
feat(win32 gui): add direct copy to windows clipboard support
closes #100
2025-01-05 21:54:43 +01:00
5ac80f0b6f
feat(win32 gui): add clipboard paste support 2025-01-04 21:48:47 +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
1ad6b8db3d
fix: clamp cursor to buffer in toggle_cursel_prefix 2025-01-03 21:04:32 +01:00
023298cc47
feat: add a bullet to inline diagnostic messages 2025-01-03 20:06:45 +01:00
86ca13b847
feat: don't render diagnostic messages if there is too little space 2025-01-03 20:05:38 +01:00
5a34a7ead7
fix: don't attempt to render off the bottom of the screen 2025-01-03 19:56:15 +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