63745f1e6b
refactor: use @memcpy to splat replacement string
...
Also, don't leak replacement string.
2025-10-30 22:40:53 +01:00
18bc89edf8
refactor: replace cursel_length with Buffer.Node.get_range
...
get_range is likely much faster because it only walks the buffer tree
once. Besides the performance difference it should give identical results.
2025-10-30 22:40:53 +01:00
Igor Támara
8246f2b0ba
feat: [hx] r to replace with a character
...
If no selection, the character under the cursor is replaced, if
selection, each character is replaced by the typed character.
2025-10-30 22:40:53 +01:00
Igor Támara
411b26d4aa
feat: Add functionals with parameters
...
* The group of mut cursels has a new member that receives
a parameter
* Added a function to get the number of items(one visible
cell characters) within a cursel.
2025-10-30 22:40:53 +01:00
3249c35c02
Merge branch github/master
2025-10-30 21:32:27 +01:00
932c79fb13
fix: crash in home screen
...
Button click handlers may delete the button, so we should not touch self after
calling them.
2025-10-30 21:30:13 +01:00
Igor Támara
131d9db5ce
feat: [hx] match clipboard behaviour on delete
2025-10-30 19:14:08 +01:00
70a793d942
feat: add select_line command
2025-10-30 14:17:02 +01:00
21d1555aca
feat: add repeat argument to delete_line
2025-10-30 12:58:15 +01:00
fc8642768d
refactor: merge select_line_around_cursor into select_line_at_cursor
2025-10-30 12:46:42 +01:00
4087e0a3f9
fix: preserve cursor column and target in delete_line
...
This is the expected behaviour (for me at least) and makes delete_line
significantly more useful than plain `cut` with no selection.
closes #342
2025-10-30 11:45:43 +01:00
e42f3ff3a5
refactor: use select_line_at_cursor to simplify cut_internal_vim
2025-10-30 11:45:43 +01:00
772e2e7d29
refactor: use select_line_at_cursor to simplify cut command
2025-10-30 11:45:43 +01:00
c27795bc95
feat: add multi cursor support to delete_line
2025-10-30 11:45:43 +01:00
62873353b8
refactor: use an enum to select select_line_at_cursor mode
2025-10-30 11:45:43 +01:00
23ea7333a7
refactor: remove obsolete vim mode delete_line placeholder
2025-10-30 11:45:43 +01:00
jmcaine
04c1ece3a8
feat: delete_line implemented
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
7f7f12a441
feat: update vcs changed files info when click on branch status
2025-10-28 22:20:36 +01:00
Igor Támara
fdf2b6d376
feat: allow to update vcs changed files info for current project
2025-10-28 22:20:36 +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
d6e9cec04d
fix: prevent Widget.msg and EventHandler.msg from being corrupted by thespian.message.send
2025-10-28 21:58:33 +01:00
3e4a604739
refactor: move git status request to project_manager
2025-10-28 21:31:32 +01:00
ff8b849015
fix: remove top_layer log spam
2025-10-27 19:19:19 +01:00
bb71749585
fix: set terminal cursor color even if enable_terminal_color_scheme is false
2025-10-26 14:30:57 +01:00
265bff583b
feat: make tabs draggable
2025-10-25 00:09:35 +02:00
1426142d35
feat: add tui.set_drag_source function
2025-10-25 00:09:35 +02:00
9dbb15c796
feat: add tui top layer rendering support
2025-10-25 00:09:35 +02:00
6cc45d76cf
feat: allow conversion of Widget.Box to renderer.Layer.Options
2025-10-25 00:09:35 +02:00
0493d3899a
feat: add drag_pos and drag_anchor to Button
2025-10-25 00:06:51 +02:00
752a356d38
feat: place new tabs next to previously active tab
2025-10-24 12:25:23 +02:00
6678e0c1e3
feat: replace ephemeral buffers on save as even if they were dirty
2025-10-24 12:24:49 +02:00
2704c7be07
feat: add place_next_tab and swap_tabs commands
2025-10-24 12:21:48 +02:00
89e9fd7b83
feat: add move_tab_next/_previous commands
2025-10-24 12:19:03 +02:00
724543f7a1
fix: crash when switching from a customized theme
2025-10-21 18:14:27 +02: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
99c28b8102
refactor: move clipboard_history command to tui module
2025-10-13 20:00:09 +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
a8fe2c30a9
feat: save/restore clipboard history to/from session metadata
2025-10-13 19:47:59 +02:00
ee34131ab2
feat: add clipboard history support for internal clipboard
2025-10-13 19:47:20 +02:00