1d947ab499
refactor: improve capsulation and safety of tui module public api
2025-01-23 16:45:04 +01:00
4145460012
refactor: simplify Plane/Widget usage
2025-01-23 16:12:56 +01:00
0a632416a4
feat(buffers): add delete_buffer command and keybinding for buffer_palette
2025-01-22 22:23:56 +01:00
a4ac3a42fd
feat(keybind): special case disable_selection in delete_selection
2025-01-22 15:29:01 +01:00
0368bb15a6
feat(keybind): simplify and clean-up a little
2025-01-22 15:28:03 +01:00
Meredith Oleander
a0f8d33781
tui/editor.zig: add disable_selection, and make check_selection play nice with inclusive selections
2025-01-22 18:47:55 +11:00
Meredith Oleander
80c8795c3b
Merge branch 'master' into helix-mode-selections
2025-01-22 13:47:37 +11:00
84655c4ff8
feat(buffers): add dirty state indicator to buffer switcher
2025-01-21 22:53:09 +01:00
3f06f6b19c
feat(buffers): add buffer switcher
2025-01-21 22:32:43 +01:00
4dddadb46d
feat(buffers): add home screen save all command
2025-01-21 21:44:05 +01:00
661808f316
feat(buffers): render buffer dirty state in open recent files palette
2025-01-21 21:43:35 +01:00
aa1e0674cc
feat(buffers): move buffer lifetime management to new Buffer.Manager module
2025-01-21 21:42:36 +01:00
142f6e51ae
feat(tui): show screen dimentions on resize
2025-01-20 20:30:24 +01:00
29f8b4680d
fix: disable mouse_idle_timer
...
It's not very important and it's too spammy which makes debug builds slow.
2025-01-20 15:49:16 +01:00
4f5fa4a3ba
feat(keybind): move selection mode into keybind mode configuration
2025-01-19 19:21:44 +01:00
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