Commit graph

46 commits

Author SHA1 Message Date
Igor Támara
131d9db5ce feat: [hx] match clipboard behaviour on delete 2025-10-30 19:14:08 +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
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
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
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
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
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
bf0d4402ea
refactor: lots more writergate fixes - first successful build 2025-09-25 22:01:29 +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
ivel.santos
17f0faed68 Fix insert_line 2025-04-13 14:18:54 +02:00
ivel.santos
ccaeded0c8 Fix pasting line 2025-04-13 14:18:54 +02:00
ivel.santos
7778512c35 Correcting selection after paste 2025-04-10 06:42:58 +02:00
ivel.santos
e59cd32ed8 copy and paste improvs and inclusive selection correction 2025-04-10 06:42:58 +02:00
ivel.santos
f58babf2e7 Extend_line_below: integer parameter 2025-04-09 07:09:08 +02:00
Levi
3ce4aaf33a
fix: move_next_word_end (#225) 2025-04-08 20:01:37 +02:00
41339b05e4
fix: merge build failure in helix.move_next_word_end and add repeat support 2025-04-08 19:32:00 +02:00
Levi
7a1a411aaf
feat: Helix mode: move_next_word_end (#223)
* Helix mode: move_next_word_end

* fix: don't match against legacy unshifted keys when we have extended input text

closes #205

* refactor: remove duplicate implementation of command.get_id

* feat: re-add support for integer command arguments

closes #182

* feat: display pending integer argument in keybind widget

* fix: call configured init_commands for all mode types

* feat: add flow mode keybindings for setting integer argument

* feat: add support for repeat integer arguments to many commands

* feat: add emacs mode keybindings for setting integer argument

* feat: add vim mode keybindings for setting integer argument

* resolving conflit

* disable_selection

---------

Co-authored-by: CJ van den Berg <cj@vdbonline.com>
2025-04-08 19:23:56 +02:00
6bed62e51d
feat: add support for repeat integer arguments to many commands 2025-04-08 18:07:21 +02:00
Levi
fb985a703a
feat: Helix & Vim mode: adding more commands (#218)
* Helix mode: select_left

* select_to_char_right implementation

* Vim select_to_char_left

* Helix select_to_char_left

* Helix & Vim: select_end

* select_to_char_left: Avoid panic with no selection

* select_left_helix: handling panic and shrinking code

* Correcting helix left and right select

* Helix mode: select_left

* select_to_char_right implementation

* Vim select_to_char_left

* Helix select_to_char_left

* Helix & Vim: select_end

* select_to_char_left: Avoid panic with no selection

* select_left_helix: handling panic and shrinking code

* Correcting helix left and right select

* Enable_selection on init_command

* move_to_char modification

* move_or_select

---------

Co-authored-by: CJ van den Berg <cj@vdbonline.com>
2025-04-08 10:28:29 +02:00
563eb57e44
refactor: move cut_to helix workaround to a helix specific command 2025-04-03 06:37:29 +02:00
ivel.santos
d2d6508ed8 Helix mode: move_cursor_word_left 2025-04-03 06:13:05 +02:00
ivel.santos
bef8549afa Helix mode: move_next_word 2025-04-03 06:13:05 +02:00
Levi Santos
b850befc5d Helix mode: adding extend_line_below 2025-04-03 06:13:05 +02:00
53045123c6
build: update to zig 0.14.0-dev.3039 2025-02-04 22:59:18 +01:00
1d947ab499
refactor: improve capsulation and safety of tui module public api 2025-01-23 16:45:04 +01:00
87e1ac1eef
fix: make helix mode save file commands easier to find
closes #76
2024-12-12 17:38:50 +01:00
6d1648a761
feat: add helix-mode save_selection command
closes #76
2024-12-12 17:38:06 +01:00
85b8ff8bea
feat: add back vim/helix mode specific commands 2024-12-01 22:06:09 +01:00