Commit graph

327 commits

Author SHA1 Message Date
06788c4243
fix: apply expand_home to path in save_as command 2025-10-13 11:57:13 +02:00
239b7dfa82
fix: prevent use-after-free error in open_file mini mode 2025-10-13 11:57:05 +02:00
25a719382f
fix: store button click locations as signed values 2025-10-10 16:05:50 +02:00
fac4eda72c
fix: formatting 2025-10-10 09:46:41 +02:00
c7b46856bb refactor: explicity publish internal helix functions for unittests only
We don't want internal functions in the mode specific extention modules becoming
shared code. To avoid this, mark the functions as private and publish only through
a structure marked clearly as for testing only.

If these functions are useful as shared code they can be moved to the editor module
or else where.
2025-10-10 09:35:44 +02:00
Igor Támara
a6f5ffcdc5 hx: add tests for some Helix mode movements 2025-10-10 09:35:44 +02:00
Igor Támara
a64d7c3afa hx: attempt to add tests in separate file 2025-10-10 09:35:44 +02:00
Igor Támara
90c08c4287 fix: helix copy now delegates properly memory to editor 2025-10-10 07:38:25 +02:00
ce87dcfa2b
refactor: pass relative click position to button click handlers
This a big refactor just to clean-up type definitions used by Button and Menu.
The goals is to pass the click position as a cursor object.
2025-10-09 19:11:25 +02:00
3c55ed876b
refactor: allow mocking of root module functions for easier unittesting 2025-10-08 14:18:03 +02:00
Igor Támara
f201728457 hx: Fix closing other buffers and improve user messages 2025-10-06 21:16:33 +02:00
Igor Támara
d3e601e774 Show feedback to user when trying to quit with dirty buffers 2025-10-06 21:16:33 +02:00
Igor Támara
552417091d feat: add helix mode close other buffers and reload all
* x and x! have expected behaviour in Helix mode
2025-10-06 21:16:33 +02:00
9ea32d46e2
feat: preparations for additionalTextEdits support in completions 2025-10-02 22:51:01 +02:00
6ec8aae94a
fix: translate byte offsets to columns when applying completions 2025-10-02 16:27:47 +02:00
6ae176a8ac
refactor: add selection_pos_to_width and get_replace_selection functions 2025-10-02 16:27:16 +02:00
778907c513
fix: ignore empty replacement selections for completion 2025-10-02 15:00:00 +02:00
b1e5b2f80f
fix: never set completion selection to an empty range 2025-10-01 22:02:21 +02:00
b02f096fef
feat: set the initial completion query based on the cursor position 2025-10-01 21:55:12 +02:00
74b011cf7e
feat: add support for setting the initial query value in palettes 2025-10-01 21:54:46 +02:00
03c82999b8
feat: select replacement range during completion 2025-10-01 21:28:32 +02:00
3901d0cce5
feat: add support for state values in palettes 2025-10-01 20:50:32 +02:00
2992b0f520
Merge branch 'master' into zig-0.15 2025-09-29 18:19:38 +02:00
Igor Támara
d695d69383 feat: closing and saving including multiple in helix mode
Review of devlogs to use internal functions to also:

* select next and prev word
* select to start en of doc
* delete to end of line
* Add Cursor to next line
* Show diagnostics
* Show references
2025-09-28 00:06:48 +02:00
b8d2679cbc
Merge branch 'master' into zig-0.15 2025-09-27 23:29:42 +02:00
Igor Támara
2390590279 feat: add shorcuts for buffers in helix mode
## Added Behaviour for buffers

:n create a new buffer - Uses language selection from flow <3
:bc close current buffer
:bn next buffer
:bp previous buffer
:rl reload current buffer
:qa! abandon without saving any buffer
2025-09-25 22:24:00 +02:00
Igor Támara
9db6bf56c1 feat: add :x alias for :wq in helix mode 2025-09-25 22:24:00 +02:00
720bb9515f
Merge branch 'master' into zig-0.15 2025-09-25 22:04:17 +02:00
bf0d4402ea
refactor: lots more writergate fixes - first successful build 2025-09-25 22:01:29 +02:00
7c49138eac
feat: add :qa! aliase for quit_without_saving in vim mode 2025-09-25 14:56:26 +02:00
6c385bc35a
fix: missing padding in buffer_palette 2025-09-25 14:55:57 +02:00
bcef17a466
fix: make sure we don't destroy file_path before navigating in open_file mini mode 2025-09-24 13:59:56 +02:00
f7496654ae
feat: add vim mode aliases for buffer commands
This adds these vim mode specific commands:

:bd (Close file)
:bw (Delete buffer)
:bnext (Next buffer/tab)
:bprevious (Previous buffer/tab)
:ls (List/switch buffers)

closes #296
2025-09-23 15:52:18 +02:00
30a457158c
feat: add goto_offset mini mode and command 2025-09-17 22:18:20 +02:00
933126e2a0
feat: add support for {row}:{column} syntax in goto mini mode 2025-09-17 20:39:45 +02:00
59921d8e10
feat: restore cursor column when cancelling goto mini mode
This commit refactors the numeric_input mini mode to make the input value
type generic. This allows the goto mini mode to store the origin column
along with the row. Also, this will allow more complex numeric_input modes,
for example a goto mini mode that supports column and row.
2025-09-17 10:04:27 +02:00
9bdc3e0a0a
fix: handle completion items with no type icon
superhtml fix
2025-09-13 20:06:44 +02:00
bcf4babd9f
fix: allow helix mode paste_after command to work at the end of the file
closes #288
2025-08-23 19:00:11 +02:00
5286975257
fix: move internal clipboard from buffer local to session wide
closes #287
2025-08-22 22:18:57 +02:00
d53a24a1d2
fix: make open_recent_projects run async 2025-08-18 14:47:01 +02:00
cdd1e09069
feat: add support for loading palettes with arguments 2025-08-18 14:42:34 +02:00
057a9d60cd
feat: add completion palette 2025-08-15 23:30:54 +02:00
62b8493b93
fix: correct match offsets when show_fileicons is off 2025-08-14 16:30:46 +02:00
0c19cbd82d
feat: persist widget style changes 2025-08-14 15:55:09 +02:00
a27c212461
feat: add widget style switching command to open_recent palette 2025-08-13 22:53:26 +02:00
c67c0b0c94
feat: add style switching command to palette (alt+f9) 2025-08-13 22:35:58 +02:00
d872e2e734
feat: add palette_menu_delete_item hint to task_palette 2025-08-13 19:20:04 +02:00
8107a0d2b8
feat: display command hints in task_palette 2025-08-13 19:19:45 +02:00
5f77a48afe
feat: add description and icon for palette_menu_delete_item command 2025-08-13 19:16:32 +02:00
cea8edecb9
feat: rename select_task to run_task and add a string parameter 2025-08-13 18:03:17 +02:00