Commit graph

344 commits

Author SHA1 Message Date
Igor Támara
131d9db5ce feat: [hx] match clipboard behaviour on delete 2025-10-30 19:14:08 +01:00
23ea7333a7 refactor: remove obsolete vim mode delete_line placeholder 2025-10-30 11:45:43 +01:00
Igor Támara
e76c47e1a6 feat: bar status shows extend or select when on helix mode 2025-10-29 20:58:40 +01:00
Igor Támara
f5efe8e94f feat: [hx] Add F, T, t, f select and extension movements 2025-10-29 20:58:40 +01:00
Igor Támara
65665fb28b feat: [hx] in Normal mode select to char right
f j in normal mode selects to the char j in the buffer if it exists,
else the cursor stays in place
2025-10-29 20:58:40 +01:00
Igor Támara
151f108b80 feat: [hx] add group function to move cursor beyond eol
In Helix, F, T, t, f bring the cursor to the character being
searched for, if not found, the cursor is not moved at all.
2025-10-29 20:58:40 +01:00
61de5d89d7
refactor: rename open_changed_files to show_vcs_status
This fits a bit better as we will add commands to do more than just
open the files in the status palette.
2025-10-28 22:21:16 +01:00
Igor Támara
b6010767f2 feat: Add open changed files palette to commands
The palette shows modified and new files for the current project
allowing to open one by one
2025-10-28 22:20:36 +01:00
Igor Támara
b07cd859fe refactor: hx removing commented test code and unused constant 2025-10-15 10:12:34 +02:00
Igor Támara
eb05939b81 refactor: use flow clipboard in hx mode
hx users will envy flow clipboard history :P, fortunately it's possible
to use F4 to shift modes
2025-10-15 10:12:34 +02:00
Igor Támara
7faea783f3 refactor: hx paste(before, replace, after)
Code simplification and zig idiomatics to improve code readability.
2025-10-15 10:12:34 +02:00
Igor Támara
f288d24e13 hx: feature parity on copy paste (P before, R replace, r after) 2025-10-15 10:12:34 +02:00
46def038bd
feat: trip leading whitespace from clipboard history palette display 2025-10-13 20:27:43 +02:00
6c6a8cee32
feat: add byte or line count hint to clipboard history palette 2025-10-13 20:21:05 +02:00
634a18cb56
feat: add clipboard history palette 2025-10-13 19:50:04 +02:00
acb0e16621
feat: add helix mode support for clipboard history changes 2025-10-13 19:49:20 +02:00
b7343219c1
fix: memory leaks in operations that call cut_selection or cut_to 2025-10-13 13:24:10 +02:00
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